Tải bản đầy đủ (.docx) (71 trang)

Nghiên cứu mô phỏng và lập trình điều khiển điện áp bộ biến đổi DC DC buck”

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.71 MB, 71 trang )

ĐỀ CƯƠNG SƠ BỘ ĐỒ ÁN TỐT NGHIỆP
Giáo viên hướng dẫn: Ts. Phạm Tuấn Anh
Sinh viên: Nguyễn Xuân Tùng

MSV: 45861

Tên đề tài: “Nghiên cứu mô phỏng và lập trình điều khiển điện áp bộ biến đổi
DC-DC Buck”
MỤC LỤC
BẢNG CÁC CHỮ CÁI VIẾT TẮT TRONG TKMH
DANH MỤC CÁC BẢNG TRONG TKMH
DANH MỤC CÁC HÌNH VẼ
PHẦN MỞ ĐẦU
1. Tính cấp thiết của đề tài
2. Mục đích của đề tài
3. Đối tượng và phạm vi nghiên cứu
4. Ý nghĩa khoa học và thực tiễn của đề tài
CHƯƠNG 1: GIỚI THIỆU KHÁI QUÁT VỀ ĐỐI TƯỢNG ĐIỀU KHIỂN
1.1. Giới thiệu các dòng chip Texas Instrument
1.2. Giới thiệu chip TI C2000 và ứng dụng
1.3. Giới thiệu các công cụ lập trình
1.4. Giới thiệu về mạch công suất DC – DC Buck
CHƯƠNG 2: LẬP TRÌNH NHÚNG TRÊN MATLAB VÀ CODE
COMPOSER STUDIO
2.1. Giới thiệu Matlab
2.2. Khái nhiệm lập trình nhúng trên Matlab và thư viện Texas Instrument
C2000 trên Matlab
2.3. Giới thiệu và lập trình nhúng trên Code Composer Studio
1



2.4. Xây dựng ví dụ lập trình nhúng trên Matlab và Code Composer Studio
với vi xử lý C2000
CHƯƠNG 3: CẤU TRÚC BỘ BIẾN ĐỔI DC-DC BUCK, LẬP TRÌNH VÀ
MÔ PHỎNG
3.1. Giới thiệu về bộ thí nghiệm điện tử công suất của hãng TI Buck
Converter
3.2. Điều khiển bộ biến đổi DC - DC
3.3. Tổng hợp cấu trúc bộ điều khiển
3.4. Kết quả mô phỏng trên Matlab sử dụng Simulink
3.5. Kết quả theo dõi các thông số thực nghiệm của bộ biến đổi trên phần
mềm CCS chế độ Debug
KẾT LUẬN
TÀI LIỆU THAM KHẢO
Hải Phòng, ngày
Giáo viên hướng dẫn

tháng

năm 2016

Sinh viên thực hiện

2


MỤC LỤC

3



BẢNG CÁC CHỮ CÁI VIẾT TẮT TRONG TKMH
Chữ cái
Tên hình

Mô tả

CCS

Code Composer Studio

Phần mềm lập trình

TI
SFRA

Texas Instruments
Software Frequency Response
Analyzer
Digital signal processing

Hãng sản suất
Phần mềm phân tích điều khiển
số
Thiết bị xử lý số

DSP

DANH MỤC CÁC BẢNG
Số
bảng

3.1
3.2

Tên bảng

Trang

Các thành phần trên mạch lực
Kết nối tín hiệu

42
46

DANH MỤC CÁC HÌNH
Số hình

Tên hình

1.1

Hệ thống vòng kín điều khiển điện tử công suất

11

1.2
1.3
1.4
1.5

Điều khiển hai bộ biến đổi công suất trong cùng một MCU

Độ phân giải kênh PWM tối ưu
Thời gian trích mẫu tới 12.5 MSPS
(a) Sơ đồ mạch lực. (b) Sơ đồ khi van S mở.
(c) Sơ đồ khi van S đóng.

12
12
14
19

2.1
2.2
2.3
2.4
2.5

Cài đặt chương trình trình dịch từ Matlab
Cài đặt gói hỗ trợ C2000 TI
Chọn công cụ liên kết
Cài đặt phần mềm bên thứ 3
Cài đặt biên dịch code

Trang

22
23
23
24
24


4


2.6

Thư viện TI C2000

25

2.7

Khối GPIO

26

2.8

Khối Watchdog

27

2.9

Cài đặt khối Watchdog

27

2.10

Khối ADC


28

2.11

Khối ePWM

29

2.12

Khối eQEP

29

2.13

Khối Software interrupt trigger

30

2.14

Khối Hardware interrupt

31

2.15

Giao diện của Code Composer Studio


31

2.16

Giao diện tạo mới dự án chương trình

32

2.17

Giao diện đưa chương trình có sẵn vào CCS

33

2.18

Giao diện cửa sổ Target Configurations

33

2.19

Mô hình ADC - PWM

34

2.20

Mô hình ADC - PWM


34

2.21

Cài đặt Hardware Implementation

35

2.22

Cài đặt code generation

35

2.23

Build Model

36

2.24

File được build thành công

36

2.25

Thư viện và code sau khi build


37

2.26

Mô hình GPIO DO

37

2.27

Cài đặt cấu hình khối GPIO

38
5


2.28

Lưu đồ thuật toán lập trình

38

3.1

Board điện tử công suất DC-DC Buck

41

3.2


Thiết bị xử lý tín hiệu số F28069

41

3.3

Board kết nối với thiết bị điều khiển số

42

3.4

Thiết kế của Synchronous Buck

43

3.5

Sơ đồ thiết kế trên board Buck

44

3.6

Sơ đồ kết nối thiết bị điều khiển

45

3.7


Sơ đồ nguyên lý hoạt động

46

3.8

Dòng điện ổn định qua tải bộ dc-dc Buck

47

3.9a

Dòng điện qua tải khi Ton

48

3.9b

Dòng điện qua tải khi Toff

48

3.10

Cấu trúc điều khiển Buck ở chế độ điện áp

48

3.11


Cấu trúc điều khiển dòng điện trung bình bộ dc- dc buck

49

3.12

Cấu trúc điều khiển dòng điện đỉnh bộ dc- dc buck

49

3.13

Cấu trúc hệ điều khiển điện tử công suất-số

50

3.14

Cấu trúc của hệ thống vòng kín

50

3.15

Mô tả các hàm trong thuật toán

52

3.16


Lưu đồ thuật toán

53

3.17

Sơ đồ chuyển đổi bộ điều khiển PID miền số

54

3.18

Thể hiện hàm truyền của bộ điều khiển

55

3.19

Xử lý tín hiệu từ bộ điều khiển và đối tượng

56

3.20

Bộ điều khiển trên trình mô phỏng Simulink – Matlab

56

3.21


Bộ biến đổi Buck trên chương trình mô phỏng

56

3.22

Ghép nối bộ Buck với tải tạo thành đối tượng điều khiển

57
6


3.23

Toàn bộ cấu trúc mô phỏng của hệ thống

58

3.24

Kết quả mô phỏng không nhiễu tải

59

3.25

Kết quả mô phỏng có nhiễu tải

59


3.26

Kết quả mô phỏng có nhiễu tải

60

3.27

Tham số thực nghiệm

61

3.28

Điện áp đầu ra hệ thống thực với tải cố định

61

3.29

Điện áp đầu ra hệ thống thực với tải gián đoạn

62

7


LỜI MỞ ĐẦU
1. Tính cấp thiết của đề tài

Ngày nay, các bộ biến đổi sử dụng trong các hệ thống rất thông dụng bởi hiệu
suất va chất lượng điện áp. Các bộ biến đổi điện áp một chiều là một trong những
bộ biến đổi được sử dụng nhiều nhất. Trong đó, bộ biến đổi giảm áp (Buck
Converter) sẽ cho điện áp đầu ra giảm đi so với điện áp đầu vào. Nó được ứng dụng
rộng rãi trong nhiều thiết bị hay hệ thống khác nhau như: cấp nguồn cho máy tính
và laptop, các bộ sạc điện thoại, nạp pin từ năng lượng mặt trời…
Trên thực tế đó, đồ án này nghiên cứu về bộ biến đổi DC-DC Buck với đề tài
có tên là: “Nghiên cứu mô phỏng và lập trình điều khiển bộ biến đổi DC-DC Buck”
2. Mục đích nghiên cứu đề tài
- Tìm hiểu khái quát về các bộ biến đổi DC – DC.
- Thiết kế lập trình và điều khiển số bộ DC – DC Buck.
- Tìm hiểu về các công cụ lập trình nhúng với sản phẩm vi xử lý của Texas
Instruments
- Mô phỏng bộ biến đổi Buck.
3. Đối tượng, phạm vi nghiên cứu đề tài
- Phần mềm Matlab phần lập trình nhúng, phần mềm lập trình Code
Composer Studio, board thí nghiệm biến đổi công suất Buck và bộ điều khiển mạch
Buck DSP F28069 của hãng Texas Instruments.
- Phạm vi nghiên cứu: tìm hiểu về bộ biến đổi, mô phỏng vòng kín của hệ
thống trên phần mềm Matlab Simulink, xây dựng chương trình điều khiển hệ thống.
4. Phương pháp nghiên cứu
- Tìm hiểu về cấu trúc bộ biến đổi, nguyên lý hoạt động của bộ DC – DC
Buck từ đó phân tích và đưa ra hệ thống điều khiển vòng kín
- Tiến hành mô phỏng và chạy thực nghiệm để đánh giá hệ thống
8


5. Ý nghĩa khoa học và thực tiễn của đề tài
- Ý nghĩa khoa học: Nghiên cứu điều khiển bộ biến đổi Buck sẽ tăng thêm
hàm lượng kiến thức về điều khiển số với các thiết bị điện tử công suất

- Thực tiễn đề tài: Từng bước làm quen với các thiết bị xử lý tín hiệu số của
hãng TI cũng như thêm những kinh nghiệm về thiết kế hệ thống điện tử công suất điều khiển số
Trong quá trình thực hiện đồ án này có nhiều sai sót hi vọng quý thầy cô
thông cảm và bỏ qua. Em xin chân thành cảm ơn!
Sinh viên thực hiện

Nguyễn Xuân Tùng

9


CHƯƠNG 1: GIỚI THIỆU KHÁI QUÁT ĐỐI TƯỢNG NGHIÊN CỨU
1.1. Giới thiệu các dòng chip Texas Instrument
1.1.1 Giới thiệu các dòng chip họ C2000
C2000 Microcontroller là dòng vi điều khiển 32-bit được thiết kế để sử dụng
trong các vòng kín một cách tối ưu.
C2000 có các dòng sản phẩm:
- C2000 Delfino MCU
- C2000 Piccolo MCU
- C2000 InstaSPIN MCU
- C2000 F28x MCU
1.1.2 Các đặc điểm chính của dòng chip C2000
Các đặc điểm dòng C2000 microcontroller:
- Điều khiển trong môi trường thời gian thực



Hình 1.1: Hệ thống vòng kín điều khiển điện tử công suất
Xử lý đáp ứng hệ thống, các phản hồi hệ thống, kiểm soát hệ thống với độ trễ tối






ưu.
Thu thập dữ liệu cảm biến nhanh chính xác, hiệu suất tối đa.
Tối ưu độ trễ của điều khiển vòng lặp.
Cấu hình mạnh mẽ, tối ưu để thực hiện các chương trình điều khiển với hiệu suất



tốt.
Ứng dụng điều khiển hệ thống vòng kín như điều khiển động cơ, bộ biến đổi điện
tử công suất, biến tần, hệ điện mặt trời. . .
- Khả năng xử lý mạnh mẽ

10




Hình 1.2: Điều khiển hai bộ biến đổi công suất trong cùng một MCU
Lõi 32bit C28 DSP xử lý các công việc thu thập và xử lý trong một chu trình, cung



cấp hiệu suất cao trên mỗi MHz so với MCU thường.
Lõi CLA Real-time Coprocessor tăng gấp đôi năng lực xử lý. Độc lập điều khiển




nhiều động cơ, nhiều bộ biến đổi, và nhiều thiết bị khác.
Accelerators tăng năng suất của việc thu thập xử lý tín hiệu bằng cách tăng tốc
phần cứng làm giảm độ trễ
- Giải pháp tối ưu



Hình 1.3: Độ phân giải kênh PWM tối ưu
Công nghệ Micro Edge Positioning tạo ra các cặp PWM ngược nhau chính xác và



tăng hiệu suất hệ thống.
Technology-packed PWM modules hỗ trợ thời gian chính xác và kỹ thuật tân tiến



để điều khiển các hệ thống phức tạp cao.
PWM trip logic cung cấp hệ thống bảo vệ nhanh nhạy và không đồng bộ với hiệu
quả cảm biến cao.
- Cảm biến chính xác với độ phân giải cao
11


Tối đa độ nhạy và độ chính xác của dòng phản hồi nhờ thời gian trích mẫu
ngắn và độ phân giải cao











Hình 1.4: Thời gian trích mẫu tới 12.5 MSPS
Tăng tần số trích mẫu với kênh đo tương tự ADC lên tới 12.5 mega/s (MSPS)
Bảo vệ hệ thống thời gian thực với bộ so sánh tín hiệu tương tự phản ứng nhanh
50ns thời gian đáp ứng
Cảm biến hiệu suất tăng cường với độ phân giải cao
- Đang được phát triển đầu tư
Đang dần được cải thiện về mặt tính năng và hiệu suất
Tính năng đa dạng và đa dụng trong nhiều hệ thống
Kích thước bộ nhớ flash tích hợp từ 16 KB đến 1 MB
Hoạt động trong dải –40°C to 125°C
Nhiều gói sản phẩm ứng dụng đi kèm (điện tử công suất, điều khiển động cơ)
- Những giải pháp ứng dụng
Những sản phẩm của vi điều khiển C2000 được cung cấp những phần mềm
chuyên dụng cũng như tài nguyên phần cứng để dễ dàng thiết kế và tối ưu hóa hiệu



suất hệ thống
Phần mềm công nghệ tân tiến, ví dụ như phần mềm instaSPIN điều khiển động cơ,



Power Suite thiết kế hệ thống điện tử công suất…

Tham khảo thiết kế các phần cứng thực tế và các nền tảng phát triển ứng dụng cho




điều khiển động cơ, điện mặt trời, chiếu sáng LED…
Hướng dẫn kỹ thuật sát với những dự án
Cung cấp thiết bị và ứng dụng học tập theo yêu cầu
1.2. Các dòng chip TI C2000 và ứng dụng
- C2000 Piccolo MCUs
12


Là dòng chip giá rẻ cho điều khiển thời gian thực như là các thiết bị gia dụng,
bơm, các driver điều khiển trong công nghiệp, sạc ắc quy, điện - mặt trời với các
ưu điểm sau:
Hiệu suất mạnh mẽ: Hai lõi xử lý, tích hợp xử lý các phép tính lượng giác, có
khả năng tang tốc độ xử lý lên đến 7 lần
Lõi xử lý CLA phụ trợ: Hoạt động như là một hệ thống kép với một lõi phụ
trợ. Hệ thống phân vùng các nhiệm vụ nặng nề như vòng lặp tần số cao cho lõi
CLA (lõi phụ ) và tăng băng thông của lõi chính. CLA có thể truy cập điều khiển
các thiết bị để điều hành các công việc mà không có sự can thiệp từ lõi chính. Vì
vậy có thể ứng dụng trong các hệ thống có nhiều động cơ, cùng với hệ thống đèn
LED chiếu sáng đi kèm với đường dây thông tin giao tiếp và hơn thế nữa
Với các thiết bị ngoại vi điều khiển tập trung: Thiết kế hợp lý để làm cho các
ứng dụng có độ phản ứng nhanh. Kênh PWM hỗ trợ nhiều thuật toán điều khiển và
độ phân giải cao làm cho hệ thống có hiệu suất cao. Kệnh PWM có thể kích hoạt
hoặc tắt trong thời gian rất nhanh trong khoảng 20ns
Giảm độ phức tạp của hệ thống với các thiết bị ngoại vi đi kèm cho việc thiết
kế điều khiển thời gian thực: Ba kênh ADC hoạt động động lập thích hợp cho việc

theo dõi 3 pha của động cơ. Bảo vệ phần mạch lực với kênh so sánh tương tự kết
nối trực tiếp với kênh PWM. Kênh DAC 12 bit có thể sử dụng trong nhiều mục
đích
Các mã vi điều khiển tiêu biểu: F28035, F28069, F2807x…
- C2000 Delfino MCUs
Là dòng chip hiệu suất cao tích hợp các thiết bị ngoại vi tương tự cung cấp
cho các hệ thống thời gian thực hướng tới các ứng dụng yêu cầu tín hiệu lớn như
driver servo, nghịch lưu, bộ công suất điện mặt trời, các bộ UPS công nghiệp, giao
tiếp các đường dây điện, radar và hơn thế nữa
Hiệu suất cực mạnh: Lõi C28x DSP 32-bit kết hợp với lõi CLA phụ trợ nhờ
vậy mà tăng khả năng xử lý kèm theo đó là khả năng xử lý toán học rất tốt
13


Giảm độ trễ hệ thống: Đẩy mạnh tốc độ xử lý của lõi C28x và đồng thời lõi
CLA phụ trợ sẽ giảm bớt gánh nặng đến từ lõi chính. Hỗ trợ xử lý toán học lượng
giác…
Cho thấy sự khác biệt với kênh tương tự hiệu suất cao: Hệ thống mạnh của
chip được cấu trúc cho tốc độ và hệ thống điều khiển chính xác. Đó chính là các
kênh ADC, DAC, PWM. Các kênh này được thế kế sao cho khi gặp sự cố chip có
thể bảo vệ các tầng mạch lực hiệu quả
Kiểm soát các thiết bị ngoại vi: Điều khiển hợp lý để cho chương trình phản
ứng nhanh hơn. Có thể điều khiển chính xác các thiết bị như driver của các bộ biến
đổi, bộ biến đổi điện mặt trời, các bộ điện tử công suất. Kênh PWM độ phân giải
cao và hỗ trợ nhiều thuật toán điều khiển. Hệ thống sẽ phản ứng cực nhanh với
việc kích hoạt hoặc tắt kênh PWM trong khoảng 20ns
Mở rộng các giao tiếp: Cung cấp các giao tiếp truyền thông như CAN, SPI,
SCI. Giao diện USB và cổng song song 16-bit
Các mã vi điều khiển tiêu biểu: F2833x, F2837x, F2834x…
- C2000 InstaSPIN MCUs

Hỗ trợ điều khiển bất kì một động cơ ba pha nào một cách nhanh chóng và dễ
dàng với công nghệ InstaSPIN mà không yêu cầu thông số động cơ. Đây là giải
pháp thiết kế điều khiển động cơ dễ dàng với cả hệ thống phức tạp và ứng dựng
đơn giản. Như vậy ứng dụng của loại chip này là vào lĩnh vực điều khiển các động
cơ ba pha
Một số sản phẩm hỗ trợ F28069, F2803x,F2805x…
- C2000 F28x MCU
Hỗ trợ biểu diễn các số thực dưới dạng dấu chấm tĩnh và các chức năng giống
như họ C2000 các thiết bị ngoại vi PWM, ADC , DAC và các đặc điểm của dòng
Piccolo. Như vậy dòng chip này sử dụng trong các ứng dụng yêu cầu cao về độ
chính xác của các phép tính
Một số sản phẩm hỗ trợ F28235, F2812,F2811…
1.3. Giới thiệu các công cụ lập trình
1.3.1.

Phầm mềm CCS – Code Composer Studio
14


CCS – Code Composer Studio là phần mềm lập trình nhúng của Texas
Instruments cho các hệ DSP cũng như MCU của hãng này. Bao gồm việc viết code
nhúng, trình biên dịch, liên kết và debug chương trình. Ưu điểm của CCS là khả
năng kết nối với phần cứng, debug trực tiếp với hệ thống. Để kết nối được với hệ
thống thì cần phải thiết lập kết nối trung gian qua một phần cứng giao tiếp CCS với
hệ thống đó.
Để nạp chương trình vào DSP và cho chạy chương trình này, ta làm như sau:



Thực hiện kết nối phần cứng với máy tính qua cổng USB

Kiểm tra kết nối CCS: Chọn View > Target Configurations.
Trong Connection chọn Texas instruments XDS100v2 USB Debug Probe
(hoặc có thể là thiết bị trung gian khác). Tích chọn TMS320F28069. Click save và




Test Connection để kiểm trả kết nối.
Để mở chương trình : Chọn File > Import
Sau khi đã load được chương trình vào trong CCS. Click Project > Build Project.
Nếu dịch không thành công thì sẽ có thông báo dịch xong chương trình. Nếu báo



lỗi sẽ hỗ trợ tìm đến dòng lệnh có lỗi.
Để nạp code vào vi xử lý: Click Run > Debug với chế độ này thì chương trình sẽ
chạy thử với sự giám sát của người lập trình. Có thể nạp thẳng vào bộ nhớ Flash
hoặc Ram tùy mục đích của người sử dụng
1.3.2 Sử dụng môi trường lập trình đồ họa ViSsim
ViSsim là môi trường phần mềm phát triển tích hợp, cho phép xây dựng một
cách nhanh chóng bộ điều khiển nhúng trên họ C2000 của Texas Instruments.
Người lập trình sử dụng các khối cho bộ điều khiển hay bộ lóc để tạo ra code
biên dịch và liên kết nạp. Sau đó có thể dễ dàng so sáng jết quả mô phỏng và thực
nghiệm.
VisSim/Embedded Control Developer bao gồm:




VisSim PE: Môi trường để xây dựng các khối chường trình và mô phỏng

VisSim/Fixed Point : Các khối xử lý số học dấu phẩy tĩnh và mô phỏng và các
phép toán dấu phẩy tĩnh
15




TI C2000 Digital Motor Control (DMC) Block Set : Các khối thư viện hỗ





trợ điều khiển động cơ .
Liên kết visSim-Code Composer Studio (CCS)
Tự động tạo mã lệnh TI C2000 DSP target và CCS
Hỗ trợ TI C2000 CAN Bus
1.3.3 Matlab và gói phần mềm hỗ trợ lập trình cho DSP TIC2000
Matlab là một chương trình phần mềm lớn của lĩnh vực tính toán mô phỏng
xử lý số. Matlab dung trong các ứng dụng trong khoa học kỹ thuật nhờ khả năng
xử lý toán học mãnh mẽ và có các thư viện toolbox lớn sử dụng để mô phỏng hay
điều khiển trực tiếp từ Matlab.
Một tiện ích được phần mềm matlab hỗ trợ và được sử dụng rộng rãi hiện nay
là lập trình nhúng và thu thập dữ liệu từ hệ thống nhúng. Matlab có các gói công cụ
cho từng loại vi xử lý nhúng và hỗ trợ mạnh cho vi xử lí tín hiệu số của Texas








Intrument bao gồm các họ vi xử lý C2000, C5000, C6000.
Các bước để lập trình cho DSPTI C2000
Xây dựng chương trình trên simulink
Mô phỏng
Build code
Nạp chương trình cho C2000 thông qua chương trình CCS
Chạy chương trình và debug
1.4. Giới thiệu về bộ biến đổi công suất DC-DC Buck
1.4.1. Mô tả bộ biến đổi DC-DC Buck
Bộ biến đổi DC-DC Buck (hay còn gọi là bộ biến đổi giảm áp) là một bộ biến
đổi công suất từ điện áp một chiều sang điện áp một chiều với điện áp đầu ra giảm
đi (trong khi tăng dòng giữ nguyên công suất) so với đầu vào (nguồn nuôi) để cấp
cho tải. Bộ biến đổi sử dụng ít nhất hai phần tử bán dẫn (điốt và transistor hoặc hai
cặp transistor với thiết kế mới) và ít nhất một phần tử tích lũy năng lượng tụ điện,
cuộn cảm hoặc cả hai kết hợp. Để tăng chất lượng điện áp, bộ lọc được làm bởi tụ
điện thường được thêm vào ở đầu ra và ở đầu vào bộ biến đổi. Hiện nay bộ biến
đổi thường thiết kế đi kèm với điều khiển vòng kín.

16


Bộ biến đổi này cho hiệu quả nhiều hơn so với những mạch ổn áp, mạch ổn
áp sẽ cho điện áp thấp hơn bởi tiêu tốn nhiệt năng mà không làm tăng thểm dòng
cho đầu ra tải.
Bộ biến đổi Buck có thể cho hiệu quả đáng kể để dung trong nguồn máy tính
(từ 12v xuống thấp hơn), trong hệ thống biến đổi năng lượng mặt trời (sạc pin với
năng lượng mặt trời)…
1.4.2. Nguyên lý hoạt động của bộ biến đổi

Nguyên lý hoạt động của bộ biến đổi Buck khá đơn giản, với một cuộn cảm
tích lũy dòng điện, hai van bán dẫn (hai transistor hoặc một transistor và một điốt)
để điều khiển bộ biến đổi và các bộ lọc đầu ra.

17


Hình 1.5: (a) Sơ đồ mạch lực. (b) Sơ đồ khi van S mở.
(c) Sơ đồ khi van S đóng.
Khi khóa S được đóng tức là nối nguồn vào mạch thì lúc đó dòng điện đi qua
cuộn cảm và dòng điện tích lũy trong cuộn cảm tăng lên, lúc này tụ điện được nạp
đồng thời đầu ra cung cấp dòng điện qua tải. Dòng điện được mô tả như hình vẽ
1.5 (b).
Khi khóa S được mở ra nguồn bị ngắt ra khỏi mạch. Khi đó cuộn dây tích lũy
năng lượng từ trường sẽ phóng dòng điện và tụ điện điện được tích lũy điện áp
trước đó sẽ phóng qua tải. Cuộn cảm giữ cho dòng điện ngược với chiều biến thiên
dòng điện và dòng điện này giảm dần. Dòng điện trong thời điểm này như trên
hình vẽ 1.5 (c).
Quá trình đóng cắt liên tục tạo cho đầu ra một điện áp trung bình theo quy
luật băm xung PWM. Dòng điện qua tải sẽ ở dạng xung tam giác do cuộn dây nạp
và phóng hỗ trợ nguồn nuôi đảm bảo cho dòng liên tục qua tải. Tần số đóng cắt
khá cao để đảm bảo loại bỏ nhiễu công suất cho mạch. Các khóa điện tử thường sử
dụng các van như Transistor tốc độ cao, IGBT hoặc Mosfet...

18


CHƯƠNG 2: LẬP TRÌNH NHÚNG TRÊN MATLAB VÀ CODE
COMPOSER STUDIO
2.1. Giới thiệu Matlab

Matlab là một phần mềm tính toán kỹ thuật dựa trên cơ sở toán học,
được viết tắt từ Matrix Laboratory, là một chương trình phần mềm lớn của lĩnh vực
tính toán số. Matlab được ứng dụng rộng rãi trong khoa học kỹ thuật nhờ khả năng
xử lý toán học rất mạnh và có số lượng thư viện công cụ lớn để mô phỏng hay điều
khiển thời gian thực từ matlab, cho phép tính toán số học với ma trận, vẽ biểu đồ
thông tin, đồ thị hàm số hay thực hiện thuật toán, tạo các giao diện người dùng và
liên kết với những chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác.
Với những ưu điểm trên Matlab trở thành công cụ tin cậy trong các ngành kỹ thuật
Phần mềm bao gồm ba bộ công cụ quan trọng đó là:
MATLAB Product Family (tính toán số, lập trình, phân tích dữ liệu, hiển thị
đồ thị…)
Simulink Product Family (mô phỏng bằng khối, thiết kế mô hình, hệ thống
nhúng…)
Polyspace Product Family (đánh giá, kiểm tra,… liên quan về lập trình ngôn
ngữ C, C++)
2.2. Khái niệm lập trình nhúng trên Matlab và thư viện Texas Instrument
C2000 trên Matlab
2.2.1. Lập trình nhúng trên Matlab
Lập trình nhúng trên Matlab thực chất là gói thư viện thêm vào của phần mềm
mô phỏng Simulink trong Matlab. Trong gói này thay vì lập trình bằng các ngôn
ngữ lập trình truyền thống như Assembly, C/C++, Matlab cho chúng ta khả năng
lập trình bằng khối. Ta có thể lần lượt kéo các khối như GPIO, ADC, PWM… ra và
lập trình với các thuật toán bằng cách kéo các khối logic, toán học khác. Gói này
có tên là TI C2000 Support form Embedded Coder, cho phép tạo ra các file ngôn
19


ngữ C để nhúng vào vi điều khiển thông qua phần mềm Code Composer Studio. Vì
vậy, ta có trình tự lập trình nhúng trên Matlab: Đưa các khối vào file lập trình; nhờ
gói hỗ trợ dịch sang ngôn ngữ C; dịch và nạp chương trình vào vi điều khiển.

Như vậy lập trình nhúng trên Matlab sẽ hỗ trợ về mặt mô phỏng, tính toán các
bộ điều khiển và phương pháp lập trình trực quan, gần gũi
2.2.2. Cài đặt liên kết giữa Matlab và CCS
Tiến hành mở Matlab tại cửa sổ Command Window. Từ dấu nhắc gõ lệnh:
-

xmakefilesetup

Ở thanh Configuration chọn ticcs_c2000_ccsv5 để chọn phiên bản của Code
Composer Studio hiện tại.
Khi nhấn OK cần khai báo nơi cài đặt Code Composer Studio và trình biên
dịch của nó. Như trong hình vẽ ở ô Code Generation Tools trong thanh Tool
Directories dẫn vào trình biên dịch ở \ccsv6\tools\compiler\c2000_15.12.3.LTS.
Những cài đặt khác cài đặt theo như hình 2.1

Hình 2.1: Cài đặt chương trình trình dịch từ Matlab

20


2.2.3. Cài đặt thư viện TI C2000
Từ cửa sổ Command Window, nhập lệnh để cài đặt gói TI C2000 cho thư viện
Simulink:
-

targetupdater

Sau khi gửi yêu cầu chương trình sẽ hiện ra cửa sổ cài đặt gói hỗ trợ.

Hình 2.2: Cài đặt gói hỗ trợ C2000 TI

Chọn gói Texas Instruments C2000 (Embedded Coder) và ấn Next

Hình 2.3: Chọn công cụ liên kết
21


Tại Toolchain chọn bản Code Composer Studio giống với bản đã chọn trong cài
đặt liên kết giữa Matlab với Code Composer Studio. Click next để tiếp tục. Tiếp
theo là cài đặt phần mềm thứ ba hỗ trợ gói TI C2000 Embedded là ControlSUITE
và trình biên dịch của Code Composer Studio. Với controlSUITE là phần mềm hỗ
trợ người sử dụng các sản phẩm của Texas Instruments với các hướng dẫn và đưa
ra các công cụ giúp ích cho việc học tập, làm việc. Liên kết Matlab với hai phần
mềm trên sẽ đảm bảo gói hỗ trợ trên hoạt động.

Hình 2.4: Cài đặt phần mềm bên thứ 3

22


Hình 2.5: Cài đặt biên dịch code
Tìm đến tools\compiler để cài đặt biên dịch code. Nhờ chương trình này mà
Matlab có thể dùng để dịch ngôn ngữ lập trình theo khối sang ngôn ngữ C đưa
sang CCS nạp vào các dòng vi điều khiển của TI
Tiếp theo, chỉ cần ấn các thanh next và confirm là có thể hoàn thành việc cài
đặt trên
2.2.4. Thư viện Texas Instrument C2000 trên Matlab
Để sử dụng thư viện sử dụng Matlab – Simulink cho dòng DSP C2000 ta làm
theo các bước:
Bước 1: Khởi động thư viện c2000lib: Từ cửa sổ Command Window gõ lệnh
“C2000lib” để mở thư viện , bao gồm các khối thư viện được xây dựng dòng

C2000 lập trình trên Matlab

23


Hình 2.6: Thư viện TI C2000
a.


Khái quát chung về các khối trong thư viện c2000lib
C2000 RTDX intrumentation : khối này thêm kênh truyền thông RTDX vào mô



hình simulink
Host SCI Blocks ( c2000sclib) : khối này thiết lập giao diện truyền thông phía



host-side để truyền và nhận dữ liệy qua cổng nối tiếp
b.
Hỗ trợ các Chip
C280x (c280xlib) — Blocks to configure the F2808 eZdsp DSK or on C280x-



based custom boards
C281x (c281xlib) — Blocks to configure the F2812 eZdsp DSK or on C281x-




based custom boards
C28x3x (c2833xlib) — Blocks to configure the F2833 eZdsp DSK or on C28x3x-



based custom boards
C2802x (c2802xlib) — Blocks to configure the C2802x eZdsp DSK or on C2802x-



based custom boards
C2803x (c2803xlib) — Blocks to configure the C2803x eZdsp DSK or on C2803x-



based custom boards
C2808x (c2808xlib) — Blocks to configure the C2808x eZdsp DSK or on C2808x-



based custom boards
C2834x (c2834xlib) — Blocks to configure the C2834x eZdsp DSK or on

c.

C2834x-based custom boards
Các thư viện tối ưu hóa
Các thư viện tối ưu hóa bao gồm
24





C28x IQ math library ( tiiqmathlib) : Bao gồm các khối toán học dấu phẩy tĩnh cho



C28x Target.
28x DMC Library ( c28xdmclib) : Bao gồm các khối toán học dấu phẩy tĩnh phục
vụ cho điều khiển số động cơ cùng với C28x DSP.
2.2.5. Các khối trong thư viện C2000
a.

GPIO

Hình 2.7: Khối GPIO
Khối GPIO có mục đích chung kiểm soát thanh ghi MUX để chia các đầu vào
ra số. Mỗi cổng I/O có một thanh ghi MUX được dùng để chọn hoạt động các thiết
bị ngoại vi hoặc đầu vào ra số. Khi đầu vào là tín hiệu số thì đầu ra có thể là tín
hiệu số hoặc thiết bị ngoại vi. 1 chân chọn làm đầu vào thì ko thể làm đầu ra.
Kiểu dữ liệu đầu vào là số nguyên 16 bit và sau đó được biến đổi thành kiểu
b.

dữ liệu đã chọn
Watchdog

Hình 2.8: Khối Watchdog
Khối này thiết lập bộ đếm cho modul watchdog để reser DSP.


25


×