You are on page 1of 71

ĐỀ 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 tháng năm 2016

Giáo viên hướng dẫn Sinh viên thực hiện

2
MỤC LỤC
BẢNG CÁC CHỮ CÁI VIẾT TẮT TRONG TKMH ...............................................................................5
DANH MỤC CÁC BẢNG ...........................................................................................................................5
DANH MỤC CÁC HÌNH ............................................................................................................................5
1. Tính cấp thiết của đề tài ......................................................................................................................9
2. Mục đích nghiên cứu đề tài .................................................................................................................9
3. Đối tượng, phạm vi nghiên cứu đề tài ................................................................................................9
4. Phương pháp nghiên cứu .....................................................................................................................9
5. Ý nghĩa khoa học và thực tiễn của đề tài .........................................................................................10
CHƯƠNG 1: GIỚI THIỆU KHÁI QUÁT ĐỐI TƯỢNG NGHIÊN CỨU ...........................................11
1.1. Giới thiệu các dòng chip Texas Instrument ..................................................................................11
1.1.1 Giới thiệu các dòng chip họ C2000 ..........................................................................................11
1.1.2 Các đặc điểm chính của dòng chip C2000...............................................................................11
1.2. Các dòng chip TI C2000 và ứng dụng ...........................................................................................14
1.3. Giới thiệu các công cụ lập trình .....................................................................................................16
1.3.1. Phầm mềm CCS – Code Composer Studio ......................................................................16
1.3.2 Sử dụng môi trường lập trình đồ họa ViSsim .........................................................................17
1.3.3 Matlab và gói phần mềm hỗ trợ lập trình cho DSP TIC2000 ...............................................17
1.4. Giới thiệu về bộ biến đổi công suất DC-DC Buck ........................................................................18
1.4.1. Mô tả bộ biến đổi DC-DC Buck ..............................................................................................18
1.4.2. Nguyên lý hoạt động của bộ biến đổi ......................................................................................19
CHƯƠNG 2: LẬP TRÌNH NHÚNG TRÊN MATLAB VÀ CODE COMPOSER STUDIO ..............21
2.1. Giới thiệu Matlab ............................................................................................................................21
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 ...21
2.2.1. Lập trình nhúng trên Matlab ..................................................................................................21
2.2.2. Cài đặt liên kết giữa Matlab và CCS ......................................................................................22
2.2.3. Cài đặt thư viện TI C2000 .......................................................................................................23
2.2.4. Thư viện Texas Instrument C2000 trên Matlab ....................................................................25
2.2.5. Các khối trong thư viện C2000 ..............................................................................................27
CHƯƠNG 3: CẤU TRÚC BỘ BIẾN ĐỔI DC-DC BUCK, LẬP TRÌNH VÀ MÔ PHỎNG...............42
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. ...........................42
3.1.1. Mạch Buck và thiết bị điều khiển số xử lý tín hiệu số. ..........................................................42
3.1.2. Cấu trúc mạch lực trên board Buck. ......................................................................................43
3
3.2. Điều khiển bộ biến đổi DC-DC buck .............................................................................................48
3.2.1. Nguyên lý hoạt động của bộ DC-DC buck .............................................................................48
3.2.2. Cấu trúc điều khiển bộ DC-DC buck .....................................................................................50
3.3. Tổng hợp cấu trúc điều khiển DC-DC...........................................................................................52
3.3.1. Cấu trúc chung của hệ thống điều khiển điện tử công suất bằng điều khiển số .................52
3.3.2. Phân tích đưa bộ điều khiển PID vào miền số. ......................................................................53
3.3.3. Xây dựng chương trình điều khiển bộ biến đổi Buck dựa trên bộ điều khiển PID............55
3.4. Kết quả mô phỏng trên Matlab sử dụng Simulink.......................................................................59
3.4.1. Mô phỏng bộ điều khiển PID và bộ xử lý dữ liệu điều chế PWM ........................................59
3.4.2. Mô phỏng ghép nối bộ điều khiển vào đối tượng và hoàn thiện hệ thống...........................61
3.4.3. Kết quả mô phỏng hệ thống ....................................................................................................64
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
..................................................................................................................................................................67
KẾT LUẬN .................................................................................................................................................70
TÀI LIỆU THAM KHẢO .........................................................................................................................71

4
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 Texas Instruments Hãng sản suất
SFRA Software Frequency Response Phần mềm phân tích điều khiển
Analyzer số
DSP Digital signal processing Thiết bị xử lý số

DANH MỤC CÁC BẢNG


Số Tên bảng Trang
bảng
3.1 Các thành phần trên mạch lực 42
3.2 Kết nối tín hiệu 46

DANH MỤC CÁC HÌNH


Số hình Tên hình Trang
1.1 Hệ thống vòng kín điều khiển điện tử công suất 11
1.2 Điều khiển hai bộ biến đổi công suất trong cùng một MCU 12
1.3 Độ phân giải kênh PWM tối ưu 12
1.4 Thời gian trích mẫu tới 12.5 MSPS 14
1.5 (a) Sơ đồ mạch lực. (b) Sơ đồ khi van S mở. 19
(c) Sơ đồ khi van S đóng.
2.1 22
Cài đặt chương trình trình dịch từ Matlab

2.2 23
Cài đặt gói hỗ trợ C2000 TI

2.3 23
Chọn công cụ liên kết

5
2.4 24
Cài đặt phần mềm bên thứ 3

2.5 24
Cài đặt biên dịch code

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

6
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

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

7
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

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

8
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

9
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

10
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. . .

11
- Khả năng xử lý mạnh mẽ

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.

12
 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
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ơ)
13
- 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
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

14
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
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…
15
- 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
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
16
 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
 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.

17
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.
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)…

18
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.

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).
19
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...

20
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 ngữ C để nhúng vào vi điều khiển thông qua phần mềm Code Composer
21
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

22
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

23
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

24
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

25
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

26
 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
C2834x-based custom boards
c. Các thư viện tối ưu hóa
Các thư viện tối ưu hóa bao gồm
 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
dữ liệu đã chọn
b. Watchdog

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

Hình 2.9: Cài đặt khối Watchdog


Watchdog couter reset source :
 Input : Tạo ra một cổng đầu vào trên khối watchdog. Đầu vào tín hiệu reset
bộ đếm.
 Sperify viadialog : Sử dụng giá trị của thời gian lấy mẫu để thiết lập lại thời
gian.
 Sample time : Thời gian lấy mẫu . Sau mỗi khoảng thời gian bộ watchdog
timer được reset.
c. Bộ chuyển đổi tín hiệu tương tự sang tín hiệu số ADC

28
Hình 2.10: Khối ADC
Thiết lập khối ADC của C2803x thực hiện chuyển đổi tương tự sang số của
các tín hiệu kết nối với các chân ADC đầu vào được chọn. Giá trị đầu ra các khối
ADC được lưu trữ trong thanh ghi.
Mỗi khói ADC cho phép đọc 1 kênh ADC. Sử dụng nhiều khối ADC để đọc
nhiều kênh ADC.
Các chế độ kích hoạt ADC phụ thuộc vào các thiết lập bên trong single
source start of conversion (SOC). Trong chế độ không đồng bộ các ADC thường
được kích hoạt bằng phần mềm tại mỗi khoảng thời gian lấy mẫu quy định tại các
khối ADC.
Trong chế độ đồng bộ các bộ quản lý được liên kết với ADC và kích hoạt
ADC . Trong trường hợp này ADC được đồng bộ với các bộ điều biến độ rộng
xung PWM .
ADC không thể đồng bộ cùng bới PWM nếu ADC hoạt động ở chế độ
cascaded
d. ePWM – Điều biến độ rộng xung
Sử dụng khối này dể tạo ra xung ePWM. Nhiều module có sẵn trên các thiết
bị C28x. Mỗi module có hai kết quả đầu ra ePWMA và ePWMB .Mô hình có thể
chứa 16 khôi ePWM sao cho cấu hình mỗi khối là một muodul riêng biệt. ePWMA
được kích hoạt thì ePWMB không kích hoạt.

29
Hình 2.11: Khối ePWM
Sử dụng các thông số HRPWM dưới tab ePWMA để thực hiện thay đổi cấu
hình. Hầu hết không có các thông số cấu hình dưới tab ePWMB.
Module : Nêu rõ ePWM module để sử dụng.
ePWMLink TBPRD : Liên kết đến một module ePWM khác trong mô hình.
Khi liên kết thời gian của các ePWM với nhau,. Các đơn vị thời gian, chu kỳ đếm
và các thông số không xuất hiện khi chọn module ePWM để liên kết.
Timer period units : Để có kết quả tốt nhất, chọn Clock cycles. Như vậy sẽ
làm giảm tính toán và lỗi làm tròn số.
Counting mode : Module PWM này có thể hoạt động ở ba chế độ đếm riêng
biệt Up, Down và Up-Down. Các tùy chọn Down là không tương thích với
HRPWM. Để tránh lỗi khi xây dựng mô hình, không đặt tham số chế độ đếm để
Down và chọn Enable HRPWM
e. eQEP – Bộ mã hóa xung encoder

Hình 2.12: Khối eQEP


Các bộ mã hóa xung encoder (QEP) giải mã vã đếm các xung encoder ở đầu vào
chân capture. Xung QEP là 2 chuỗi xung tần số thay đổi và lệch nhau ¼ chu kỳ .
Mạch đếm cả hai cạnh lên và xuống của xung QEP vì vậy tần số clock QEP là 4
lần tần số của mỗi kênh đầu vào.
30
QEP kết hợp với các encoder quang rất hữu ích để đo tốc độ và thông tin
định vị của đĩa quay . Mạch logic trong QEP xác định chiều quay căn cứ trên 2 tín
hiệu xung encoder. Nếu QEP1 nhận tín hiệu trước thì các bộ định thời đếm lên và
nếu QEP2 nhận tín hiệu thì các bộ định thời đếm xuống. Số xung đến và tần số xác
định vị trí và tốc độ.
f. Software interrupt trigger

Hình 2.13: Khối Software interrupt trigger


Kích hoạt các ngắt từ phần mềm.
Khi nối thêm khối này vào mô hình , khối này kiểm tra giá trị đầu vào. Khi
giá trị đầu vào lớn hớn giá trị trong phần mềm thì kích hoạt ngắt phần mềm, khối
này tác động đến các khối ngắt phần cứng trong mô hình.
Để sử dụng khối này, thêm khối ngắt phần cứng vào mô hình để quá trình
kích hoạt ngắt phần mềm từ khối này đi đến ngắt trên vi xử lí. Đặt số hiệu của ngắt
vào một khối ngắt phần cứng ( hardware interrup) để giá trị đặt này vào trong CPU
interrupt number. Các ngắt CPU và số hiệu ngắt PIE cùng xác địng một ngắt duy
nhất cho một modul ngoại vi hay một ngoại vi
g. Hardware interrupt
Khối thực hiện dựa trên bộ đếm thời gian ngắt để đáp ứng các sự kiện bên
ngoài. Chỉ có một phần cứng ngắt trong mô hình. Để xử lý nhiều ngắt đặt một khối
demux trước đầu ra của khối ngắt

31
Hình 2.14: Khối Hardware interrupt
2.3. Giới thiệu và lập trình nhúng trên Code Composer Studio
2.3.1. Giới thiệu về Code Composer Studio

Hình 2.16. Giao diện của Code Composer Studio


Code Composer Studio (CCS) là phần mềm lập trình cung cấp cho các lập
trình viên môi trường tích hợp gồm nhiều công cụ khác nhau như chương trình viết
mã lệnh nhúng, chương trình dịch, chương trình mô phỏng hệ thống, ứng dụng khi
chạy thực tế, hỗ trợ cho các sản phẩm của hãng Texas Insruments, bao gồm các
DSP, vi điều khiển, hệ thống nhúng.
Code Composer Studio bao gồm chương trình viết ngôn ngữ lập trình, trình
biên dịch C/C++ cho nhiều thiết bị của hãng Texas Insruments, thư viện mã nguồn,
xây dựng tạo lập các dự án, tìm sửa lỗi, mô phỏng, và những tính năng khác.
32
Code Composer Studio sử dụng và kết hợp những yếu tố ưu điểm của phần
mềm Eclipse (công cụ lập trình phát triển hỗ trợ bởi IBM) với khả năng kiểm soát
chỉnh sửa lỗi từ hãng TI tạo ra một môi trường lập trình phát triển giàu tính năng,
hấp dẫn với những nhà phát triển hệ thống nhúng.
2.3.2. Lập trình nhúng trên Code Composer Studio
Những thao tác cơ bản trên Code Composer Studio:
- Tạo một dự án mới: Vào Project, chọn mở New CCS Project, sau đó một
cửa sổ thiết lập hiện ra, tùy chọn cấu hình các cài đặt phù hợp với board và phù
hợp với yêu cầu sử dụng, sau đó chọn thanh Finish, dự án chương trinh mới được
tạo ra.

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

33
- Nhập một chương trình vào phần mềm: Vào Project, chọn thanh “Import
CCS Project”, chọn Browse dẫn đưa tới thư mục chưa trương chình, chọn thanh
“Finish” sau đó chương trình sẽ được đưa vào CCS.

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

Hình 1.18. Giao diện cửa sổ Target Configurations


- Cài đặt kết nối giữa board và CCS: Chọn thanh “View”, chọn ô “Target
Configurations”, giao diện cửa sổ Target Configurations xuất hiện ở cột bên phải,
34
nhấn vào giao diện để tạo một cấu hình kết nối mới ta chọn “New Target
Configurations” hoặc nhập một cấu hình kết nối có sẵn ta chọn ô “Target
Configurations”, sau đó cấu hình kết nối theo mục đích, yêu cầu sử dụng.
2.4. Xây dựng ví dụ lập trình nhúng trên Matlab và Code Composer Studio
cho vi xử lý C2000
2.4.1. Lập trình trên Matlab
a. Sử dụng khối ADC để đo điện áp và sử dụng khối PWM phát xung dựa trên
kết quả thu được.
Các đầu vào tương tự điện áp kiểm soát độ rộng xung của kênh PWM. Thay
đổi độ rộng xung có thể được quan sát thấy trên Oscilloscope. "Ngắt phần cứng"
cài đặt một ngắt liên quan đến ADC sau khi xử lý xong tín hiệu và thực hiện những
công việc được lập trình ở trong khối hàm (ADC-PWM Subsystem) khi ADC ngắt
(ADCINT).

Hình 2.19: Mô hình ADC - PWM

Hình 2.20: Mô hình ADC - PWM

35
Trước khi build code thì ta cài đặt Hardware Implementation trong
Configuration Parameters. Tại Hardware board chọn Ti Piccolo F2806x (boot from
flash) là tên kit mà ta sử dụng để nạp code.

Hình 2.21: Cài đặt Hardware Implementation


Tiếp đó chọn bản CCS tương thích với kit và matlap. Kit yêu cầu sử dụng ccs
từ bản v5 trở lên nên ta sử dụng CCS v6.2.0. Kick vào Code Generation chọn
toolchain và chọn Texas Intruments Code Composer Studio V6 (C2000).

Hình 2.22: Cài đặt code generation


36
Nếu để đường dẫn mặc định C:\Program Files\MATLAB\R2016a\bin thì
Matlab sẽ báo lỗi vào không ghi được file. Vì vậy ta phải tránh thư mục gốc mặc
định của Matlab để có thể build được code.
Để bắt đầu build code ta kick chọn Build Model trên thanh công cụ.

Hình 2.23: Build Model


Sau khi quá trình build code thành công. Toàn bộ code được đặt trong thư
mục và được đặt tên theo tên file đặt trong matlab và thêm đuôi Ert_rtw. Vậy là đã
có file ngôn ngữ C để nạp vào DSP.

Hình 2.24: File được build thành công


Kick vào thư mục ta sẽ thấy thư viện và code main.c.
Để nạp code vào kit ta mở CCSv5 và load file .out được build từ matlab. Có
thể chọn chế độ chạy chương trình trên bộ nhớ RAM kết nối với máy tính theo dõi
hoặc chế độ nạp vào bộ nhớ FLASH

37
Hình 2.25: Thư viện và code sau khi build
b. Sử dụng khối GIPO trong thư viện TI C2000 để tạo ra tín hiệu làm nháy
đèn led trên LaunchPad TMS320F28069

Hình 2.26: Mô hình GPIO DO


 Đèn led nối với địa chỉ GPIO 34 nên ta tích chọn GPIO 34 để cấu hình làm
cổng tín hiệu lập trình.
 Sau khi cài đặt xong quá trình cài đặt cấu hình và dịch chương trình tương tự
với ví dụ được xây dựng bên trên. Tuy nhiên đối với F28069 thì Hardware board
chọn Ti Piccolo F28069 là tên kit mà ta sử dụng để nạp chương trình.
 Quá trình build code hoàn toàn tương tự.
 Để nạp code vào board ta mở Code Composer Stuido và load file.out lấy
được khi dịch từ Matlab được ra và debug trên Code Compser Studio.

38
Hình 2.27: Cài đặt cấu hình khối GPIO
Mở Simulink và chọn khối GPIO DigitalOutput ở trong thư viện C2806x, kéo
khối ra cửa sổ làm việc. Click vào khối GPIO DigitalOutput để cài đặt cấu hình.
2.4.1. Lập trình trên Code Composer
a. Đưa ra ví dụ
Đề tài: Đọc giá trị của cảm biến nhiệt độ trong vi điều khiển qua kênh ADC
Mô tả: Trong vi điều khiển F28069 có một cảm biến nhiệt độ gắn với một
kênh ADC. Khi hoạt động chip sẽ phát ra nhiệt độ và thông qua cảm biến đo được
nhiệt độ của nó
b. Lập ra lưu đồ thuật toán

39
Hình 2.28: Lưu đồ thuật toán lập trình
Ở chương trình chính trước tiên là ta cài đặt cấu hình cho các kênh GPIO,
ADC. Tuy nhiên ở chương trình này không tương tác đến GPIO nên ta không sử
dụng. Tiếp theo là xóa tất cả các ngắt được cài và cấu hình ngắt ADC để trích mẫu
và chạy công việc lưu trữ dữ liệu. Tiếp theo là tạo ra một vòng lặp vô hạn để chờ
ngắt ADC. Về phần hàm ngắt ta thêm những công việc như lưu trữ dữ liệu, xóa cờ
ngắt để thực hiện yêu cầu đề bài
c. Lập trình trên Code Composer
Sau đây là một đoạn code liên quan đến hàm xử lý ngất ADC trong ví dụ:
__interrupt void adc_isr(void)
{
TempSensorVoltage[ConversionCount] = AdcResult.ADCRESULT0;
if(ConversionCount == 9) ConversionCount = 0;

40
else ConversionCount++;
AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
Return;
}
d. Kết quả:
Sau khi nạp vào vi điều khiển và chạy ở chế độ debug liên kết với máy tính để
theo dõi kết quả, chương trình trong chip chạy giám sát nhiệt độ theo từng chu kỳ
trích mẫu của ADC

41
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.1.1. Mạch Buck và thiết bị điều khiển số xử lý tín hiệu số.

Hình 3.1: Board điện tử công suất DC-DC Buck


- Ở trên hình 3.1 là hình ảnh board mạch lực của mạch điện tử công suất Buck
(mạch giảm áp) gồm các thiết bị trong mạch công suất, một tài tĩnh, một tải điều
khiển bằng khóa điện tử để tiến hành thực nghiệm. Thiết bị sử dụng nguồn điện
vào (input voltage) từ 8.5v đến 12v và được hỗ trợ để cắm với một thiết bị xử lý tín
hiệu số (digital signal processing) để hỗ trợ điều khiển.

Hình 3.2: Thiết bị xử lý tín hiệu số F28069


42
Thiết bị điều khiển xử lý tín hiệu số này cũng là một sản phẩm của hãng TI đó
là TMS320F28069.
Mục đích làm ra bộ thí nghiệm là thiết bị xử lý tín hiệu số TMS320F28069 và
Board điện tử công suất Buck trên là để hỗ trợ nghiêm cứu thực hành điều khiển
điện tử công suất bằng phương pháp điều khiển số bằng vi điều khiển lập trình
trong một hệ kín

Hình 3.3: Board kết nối với thiết bị điều khiển số


Tên Mô tả
Nguồn 9V Nguồn DC cấp cho Kit thông qua giắc cắm
Công tắc nguồn SW1 – Công tắc cấp nguồn chính cho mạch
Điện trở tải Điện trở tải giá trị 7,5Ω được kết nối với đầu ra
Điện trở tích Điện trở có thể được thêm vào đầu ra hoặc loại ra nhờ tín
cực hiệu đưa vào khóa điện tử
Mạch Buck Mạch Buck với thiết kế synchronous buck kèm theo các tụ
lọc điện áp
Bảng 3.1: Các thành phần trên mạch lực
3.1.2. Cấu trúc mạch lực trên board Buck.
a. Synchronous Buck (Buck đồng bộ)

43
Bộ Synchronous Buck là sự nâng cấp từ bộ Buck truyền thống, trong đó đi-ốt
D sẽ được thay thế bằng một khóa điện tử thứ hai (một transistor). Việc thay đổi
này sẽ giúp do cấu tạo của các van điện tử thường đi theo cặp (một IC có hai van
bán dẫn) và các thiết bị điều khiển thường đi theo cặp hai kênh PWM.

Hình 3.4: Thiết kế của Synchronous Buck


b. Cấu trúc của bộ biến đổi Synchronous Buck trên board TI Buck
Dựa theo nguyên lý và cấu tạo của thiết kế mạch Synchronous Buck, thiết kế
mạch lực của bộ thí nghiệm biến đổi Buck lựa chọn các linh kiện thích hợp. Các
phần tử chính bao gồm:
- Cặp van điện tử Mosfet tích hợp trong IC CSD87588N tương ứng với hai
van trong thiết kế của mạch Synchronous Buck

44
- Driver cho Mosfet là IC LM5109B là driver hỗ trợ một cặp khóa điện tử tác
động với mức logic đảo chiều nhau
- Cuộn cảm L1 có giá trị 4.8uH, và các tụ lọc tăng chất lượng điện áp
- Để đo dòng điện đầu ra, thiết kế sử dụng đo dòng điện theo phương pháp
điện trở sun và các bộ lọc tín hiệu vào kênh ADC. Để đo điện áp đầu ra và điện áp
nguồn điện cấp cho board, thiết kế sử dụng hai điện trở tạo điện áp phù hợp và lọc
tụ điện cho chất lượng điện áp tốt.

45
Hình 3.5: Sơ đồ thiết kế trên board Buck
46
- Hai tải để tiến hành tiêu thụ điện năng trên mạch. Tải thứ nhất là điện trở
được gắn vào đầu ra PR1 có giá trị 7.5 ohm. Tải thứ hai được gắn vào đầu ra
nhưng muốn cho tác dụng phải cấp điện áp để mở Mosfet kích hoạt nó. Điện trở
này có giá trị 2 ohm dùng để thử nghiệm xem với tải thay đổi liên tục thì chất
lượng điện của bộ biến đổi sẽ như thế nào
- Cổng cắm điện áp nguồn nuôi, đi-ốt bảo vệ điện áp ngược, đèn led báo
nguồn, tụ lọc điện áp đầu vào, công tắc nguồn.
c. Các jack cắm để kết nốt với thiết bị xử lý tín hiệu số
Khi kết nối F28069 với board buck thì sẽ có tất cả 40 cổng được kết nối với
nhau. Sau đây là sơ đồ của các chân tín hiệu kết nối.

Hình 3.6: Sơ đồ kết nối thiết bị điều khiển


Khi mạch điều khiển kết nối với mạch lực chức năng tín hiệu của chúng như
sau:
47
Cổng tín hiệu Mô tả Kết nối với
DSP
EPWM-4A Tín hiệu điều khiển driver cổng High GPIO-06
EPWM-4B Tín hiệu điều khiển driver cổng Low GPIO-07
EPWM-5A Thay thế tín hiệu điều khiển driver cổng GPIO-08
High
EPWM-6A Tín hiệu điều khiển driver cổng Low GPIO-10
VoutFB-1 Phản hồi điện áp ra ADC-A3
ILFB Phản hồi dòng cuộn cảm (bảo vệ quá dòng) ADC-A4
ILFB_AVG Phản hồi dòng cuộn cảm (lọc nhiễu) ADC-B4
VinFB Điện áp đầu vào ADC-B3
Bảng 3.2: Kết nối tín hiệu

3.2. Điều khiển bộ biến đổi DC-DC buck


3.2.1. Nguyên lý hoạt động của bộ DC-DC buck
Dựa trên sơ đồ hình 3.4 thể hiện thành phần cơ bản của một bộ biến đổi Buck.
Khi đưa bộ biến đổi Buck tạo thành một vòng kín với chế độ điện áp (tức là giữ
nguyên điện áp không đổi với tải) thì hệ thống được mô tả như sau:

Hình 3.7: Sơ đồ nguyên lý hoạt động


48
Đây là bộ biến đổi có điện áp đầu ra nhỏ hơn so với điện áp nguồn đầu vào.
Mạch có nguyên lý đơn giản là dùng một cặp van bán dẫn đóng cắt nguồn điện và
thành phần phần lọc điện áp và ổn định dòng điện đầu ra. Điện áp đầu ra được thay
đổi bằng phương pháp điều chế độ rộng xung. Như vậy, xung đưa ra hai van sẽ
ngược logic nhau. Theo như hình 3.7 thì muốn điện áp 1V từ đầu vào 9V ta sử
dụng bộ PWM phát xung với độ rộng xung khoảng 10%.
Quá trình đóng cắt van điện tử liên tục tạo một điện áp trung bình theo quy
luật luật băm xung PWM. Trước tiên, dòng sẽ được nạp qua cuộn cảm và khi cắt
nguồn cấp vào cuộn cảm thì cuộn cảm sẽ được sử dụng để duy trì dòng điện tạo
nên sự ổng định của dòng điện. Dòng điện đi qua tải sẽ ở dạng xung tam giác nhờ
điện trở đảm bảo cho dòng ổn định liên tục qua tải. Tần số đóng cắt cao đảm bảo
triệt tiêu những thành phần sóng nhiễu cho mạch. Van bán dẫn thường sử dụng các
Mosfet hoặc IGBT

Ton Toff Ton

I out

Il = Iout
Vin - Vout - Vout
L L
0

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


Trong thời gian Ton tức là đưa điện áp nguồn nuôi vào mạch, lúc đó dòng
điện đi qua nạp cho cuộn cảm và dòng điện tích trữ trong cuộn cảm tăng lên đồng
thời thì tụ điện C được và cũng cung cấp dòng điện qua tải. Chiều dòng điện như
hình 3.9

49
+
Vin PWM
C R load

Hình 3.9a: Dòng điện qua tải khi Ton

+
Vin PWM
C R load

Hình 3.9b: Dòng điện qua tải khi Toff

Trong thời gian Toff tức là loại bỏ nguồn ra khỏi mạch. Lúc này cuộn cảm
được tích lũy năng lượng từ trường và tụ điện được tích lũy điện trường trước đó
phóng qua tải. Dòng điện trên cuộn cảm giảm dần. Chiều của dòng điện theo hình
3.9b
3.2.2. Cấu trúc điều khiển bộ DC-DC buck
Cấu trúc điều khiển của bộ biến đổi có nhiều phương pháp điều khiển như là
điều khiển ở chế độ điện áp, chế độ dòng điện hoặc chế độ theo công suất tối ưu
của đầu ra

Uo* d Uo
Voltage DC DC
PWM
Controller Converter
-

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


50
Cấu trúc có một mạch vòng phản hồi điện áp như trên hình 3.10 là chế độ
điện áp. Tín hiệu đầu ra của bộ điều khiển sẽ điều chỉnh độ rộng xung của kênh
PWM đưa ra xung đóng cắt phù hợp cho bộ biến đổi Buck. Mục đích của mạch
vòng điều khiển này là điều khiển điện áp đúng theo giá trị đặt mong muốn và
không bị ảnh hưởng bởi nhiễu tải

Uo* Voltage Current d DC DC IL


PWM
Controller Controller Converter
- -
Uo

Hình 3.11: Cấu trúc điều khiển dòng điện trung bình bộ dc- dc buck
Cấu trúc vòng kín điều khiển dòng điện hai vòng nối cấp. Mạch vòng bên
trong là mạch vòng phản hồi dòng điện, bên ngoài là mạch vòng phản hồi điện áp.
Tín hiệu ra của bộ điều khiển điện áp chính là điểm đặt cho bộ điều chỉnh dòng
điện. Tín hiệu ra của bộ điều chỉnh dòng điện là tín hiệu điều chế xung PWM đưa
đến khối phát xung với hệ điều khiển dòng điện theo dòng điện trung bình
(average-current mode). hoặc được đưa tới cổng R của RS Flip-Flop với điều
khiển dòng điện theo đỉnh (peak-current mode).

Clock S Q
Voltage DC DC IL
Controller
IL* + Converter
- - Current R Q
Controller Uo

Hình 3.12: Cấu trúc điều khiển dòng điện đỉnh bộ dc- dc buck
Đối với cấu trúc điều khiển dòng điện thì phải có thời gian đáp ứng nhanh
đảm bảo dòng diện thực bám theo dòng điện đặt. Với cấu trúc dòng điện trung
bình sẽ làm cho điện áp giữ đúng giá trị và dòng điện đầu ra ổn định. Với cấu trúc

51
dòng điện đỉnh thì đỉnh của tam giác dòng điện như đã trình bày ở trên sẽ tiến tới
giá trị đặt, đó là mục đích của vòng điều khiển này.
Trong đồ án này tập trung nghiên cứu bộ biến đổi Buck ở chế độ điện áp
(voltage mode)
3.3. Tổng hợp cấu trúc điều khiển DC-DC
3.3.1. Cấu trúc chung của hệ thống điều khiển điện tử công suất bằng điều
khiển số

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


Với G(z) là bộ điều khiển vi xử lý được lập trình để điều khiển vòng kín. H(s)
chính là đối tượng điều khiển ở trong đồ án nghiên cứu này chính là bộ biến dổi
công suất Buck. Hai tín hiệu d,r lần lượt là nhiễu và tín hiệu đặt. ADC là khối đo
tín hiệu phản hồi và PWM là khối phát xung điều khiển cho bộ biến đổi

52
Hình 3.14: Cấu trúc của hệ thống vòng kín
Dựa trên cấu trúc như hình 3.10 thì bộ điều khiển của ta sẽ nhận tín hiệu phản
hồi là điện áp và bộ điều khiển sử dụng ở đây sẽ là bộ PID ứng dụng trên miền xử
lý số
3.3.2. Phân tích đưa bộ điều khiển PID vào miền số.
Một bộ điều khiển PID là một cơ chế điều khiển phản hồi vòng kín (bộ điều
khiển) tổng quát sử dụng rộng rãi với các hệ thống điều khiển trong công nghiệp –
bộ PID là bộ điều khiển sử dụng rộng rãi nhất trong số các bộ điều khiển của các
hệ thống tự động.
Hàm truyền của bộ điều khiển PID trên miền s:
U ( s) K
 KP  I  KD s (3.1)
E ( s) s

53
Để chuyển sang miền gián đoạn với thành phần tích phân ta thay biểu thức
2 ( z  1) ( z  1)
s và vớ thành phần vi phân ta thay biểu thức s  vào biển thức
Ts ( z  1) zTs

3.1 ta được hàm truyền của bộ PID trên miền gián đoạn:

b0  b1 z 1  b2 z 2
G( z )  (3.2)
1  z 1
Với b0  K p  Ki  Kd ; b1   K p  Ki  2Kd ; b2  Kd
' ' ' ' ' ' '

T 1
Và K p  K p ; K i  Ki ; K d'  K d
' '

2 T
Để đưa bộ điều khiển trên vào lập trình, hãng TI đã cung cấp cho người sử
dụng thư viện asm_macros là thư viện cung cấp điều khiển số - điện tử công suất.
Toàn bộ thành phần trong thư viện viết bằng ngôn ngữ Assembly để tối ưu thời
gian thực hiện công việc. Trong phần này ta đề cập đến thư viện CNTL_2P2Z.asm,
là thư viện được viết cho bộ điều khiển (Compensator) 2P2Z (2 Pole 2 Zero) có
dạng gần giống như bộ điều khiển PID nên ta chỉ cần thay một vài hệ số của bộ
điều khiển này và thay hệ số của bộ PID là có thể sử dụng mà không cần viết
chương trình.
Bộ điều khiển 2P2Z có dạng

b0  b1 z 1  b2 z 2
G( z )  (3.3)
1  a1 z 1  a2 z 2
So sánh công thức (3.3) và công thức (3.2) ta thấy có sự tương đồng. Khi thay
a1=1 và a2=0 vào (3.3), bộ điều khiển 2P2Z lúc này sẽ có dạng PID. Và nội dung
của bộ điều khiển thể hiện ở đoạn chương trình sau:
MOVL XT, *+XAR4[AR0] ; XT = e(n-2)
QMPYAL P, XT, *XAR3++ ; P = e(n-2)Q30*B2{Q26} = I8Q24
MOVDL XT, *+XAR4[6] ; XT = e(n-1), e(n-2) = e(n-1)
QMPYAL P, XT, *XAR3++ ; P = e(n-1)Q30*B1{Q26} = Q24, ACC=e(n-2)*B2
MOVDL XT, *+XAR4[4] ; XT = e(n), e(n-1) = e(n)
QMPYAL P, XT, *XAR3++ ; P = e(n)Q30*B0{Q26}= Q24, ACC= e(n-2)*B2 + e(n-1)*B1

54
MOVL XT, *+XAR4[2] ; XT = u(n-2)
QMPYAL P, XT, *XAR3++ ; P = u(n-2)*A2, ACC = e(n-2)*B2 + e(n-1)*B1 + e(n)*B0
MOVDL XT,*+XAR4[0] ; XT = u(n-1), u(n-2) = u(n-1)
QMPYAL P, XT, *XAR3++ ; P = u(n-1)*A1, ACC = e(n-2)*B2 + e(n-1)*B1 + e(n)*B0
+ u(n-2)*A2
ADDL ACC, @P ; ACC = e(n-2)*B2 + e(n-1)*B1 + e(n)*B0 + u(n-2)*A2 + u(n-1)*A1
Đoạn chương trình trên thể hiện đúng phần tính toán dựa trên công thức (3.3).
Về phần chuyển đổi từ bộ PID sang các hệ số như trên công thức (3.3) ta khai báo
một mảng của bộ điều khiển 2P2Z có đoạn chương trình như sau:
struct CNTL_2P2Z_CoefStruct {
long b2;
long b1;
long b0;
long a2;
long a1;
long max;
long i_min;
long min;
};
Và sau đó phải chuyển từ bộ PID sang các hệ số bằng đoạn chương trình:
CNTL_2P2Z_CoefStruct1.b2 = Dgain1; // B2
CNTL_2P2Z_CoefStruct1.b1 = (Igain1 - Pgain1 - Dgain1 - Dgain1); // B1
CNTL_2P2Z_CoefStruct1.b0 = (Pgain1 + Igain1 + Dgain1); // B0
CNTL_2P2Z_CoefStruct1.a2 = 0.0; // A2 = 0
CNTL_2P2Z_CoefStruct1.a1 = _IQ26(1.0); // A1 = 1
3.3.3. Xây dựng chương trình điều khiển bộ biến đổi Buck dựa trên bộ điều
khiển PID.
a. Phân tích các công việc trong một vòng điều khiển:
Như phần trình bày trên ta sử dụng thiết bị điều khiển số F28069 kết nối với
mạch lực board Buck
Vì mỗi chu kỳ trích mẫu của hệ thống vòng kín hoạt động rất nhanh và yêu
cầu tần số ổn định vì vậy ta sẽ sử dụng ngắt thời gian để thực hiên tất cả các công
việc. Ngắt ở đây sẽ thực hiện với tần số 200kHz. Thứ nhất là đọc phản hồi điện áp
đầu ra từ ADC, theo như kết nối giữa hai thiết bị thì điện áp đầu ra sẽ là kênh
ADC-A3. Tiếp theo là đưa các tín hiệu phản hồi và tín hiệu đặt vào trong bộ điều

55
khiển ứng với bộ điều khiển PID đã tính toán ở trên. Tiếp theo là dựa trên số liệu
đầu ra để cấp dữ liệu điều khiển kênh PWM phát xung cho mạch lực.Kênh PWM ở
đây là cặp kênh của EPWM4A và EPWM4B. Chu kỳ phát xung điều khiển các van
là 200kHz. Cuối cùng là chuẩn bị kết thúc ngắt, lưu trữ dữ liệu và chuẩn bị cho
ngắt thời gian tiếp theo.

Hình 3.15: Mô tả các hàm trong thuật toán.


b. Lưu đồ thuật toán
Dựa trên những công việc cần thực hiện trên ta đi giải quyết bài toán lập trình.
Việc lập trình như đã đề cập ở chương hai là sẽ có hai cách thực hiện một là trên
ngôn ngữ C qua phần mềm Code Composer Studio hoặc lập trình theo khối trên
56
Matlab. Trong phần này ta sẽ hướng tới lập trình băng môi trường ngôn ngữ C trên
CCS.
Hàm adcRead() thực hiện công việc trích mẫu tín hiệu phản hồi điện áp qua
kênh ADC. Hàm control() thực hiện công việc tính toán đưa các số liệu vào bộ
điều khiển và đưa ra thông tin cho bộ PWM phát xung. Hàm PWM() là hàm phát
xung dựa trên thông tin nhận được từ bộ điều khiển và phát xung điều khiển bộ
biến đổi công suất Buck.

57
Hình 3.16: Lưu đồ thuật toán

58
Ngắt làm việc với tần số 200kHz đảm bảo về mặt chất lượng điều khiển số
của hệ
c. Lập trình trên CCS
Như đã trình bày ở trên 4 hàm con trong hàm ngắt có thể được lấy từ thư viện
asm_macros và có sự tương đương như sau: Hàm AdcRead() tương đương
ADCDRV_1ch(); hàm control() tương đương CNTL2P2Z(); PWM() tương đương
PWMDRV_1ch(). Và để có thể hoạt động chương trình như hình 3.15 thì ta cần
kết nối các thư viện Assembly lại với nhau. Công việc này rất phức tạp. Tóm lại
khi kết nối các thư viện kể trên với quan hệ như hình 3.15 là ta có thể tạo thành bộ
điều khiển số.
3.4. Kết quả mô phỏng trên Matlab sử dụng Simulink
3.4.1. Mô phỏng bộ điều khiển PID và bộ xử lý dữ liệu điều chế PWM
Với bộ điều khiển PID khi đưa sang miền điều khiển số thì ta phải chuyển từ
các hệ số trong bộ điều khiển (Kp, Kd, Ki) thành dạng gián đoạn trên miền z. Như
công thức đã được thành lập ở trên ta có bộ điều khiển dạng:

b0  b1 z 1  b2 z 2
G( z ) 
1  z 1
Với các tham số: b0  K p  Ki  Kd ; b1   K p  Ki  2Kd ; b2  Kd
' ' ' ' ' ' '

59
Hình 3.17: Sơ đồ chuyển đổi bộ điều khiển PID miền số

Hình 3.18: Thể hiện hàm truyền của bộ điều khiển


Hình 3.17 và 3.18 thể hiện việc mô phỏng hệ thống trên Matlab của hàm
truyền G(z). Tín hiệu đưa vào và đầu ra của G(z) sẽ phải xử lý qua hai khối xử lý
tín hiệu như sau:

60
Hình 3.19: Xử lý tín hiệu từ bộ điều khiển và đối tượng
Sau đây là sơ đồ khối mô phỏng của bộ điều khiển thể hiện trên phần mềm mô
phỏng Simulink của Matlab thể hiện trên hình 3.20

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


3.4.2. Mô phỏng ghép nối bộ điều khiển vào đối tượng và hoàn thiện hệ thống

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


Trước tiên cần mô phỏng đổi tượng điều khiển là bộ Buck. Ta sử dụng các
thành phần cơ bản của bộ Buck và ghép nối như hình 3.21.
61
Trong cấu trúc bộ Buck này ta cài đặt thông số cuộn cảm và tụ lọc như trên
thiết bị của hãng TI. Tụ điện giá trị 330uF và cuộn cảm 4.5uH.
Sau đó ta tiến hành ghép nối mạch Buck với tải và các phần tử đo như trong
hình

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

62
Hình 3.23: Toàn bộ cấu trúc mô phỏng của hệ thống
Khi kết nối với tải, ta có hai loại tải như trong mạch lực của TI. Một tải tĩnh
gắn trực tiếp vào đầu ra của bộ biến đổi và một tải phụ gắn vào đầu ra được kích
hoạt bởi một van bán dẫn. Mục đích của tải này là tiến hành đánh giá chất lượng
điều khiển với nhiễu tải thay đổi

63
Sau khi đã hoàn thiện phần đối tượng điều khiển ta ghép nối với bộ điều khiển
và hoàn thiện hệ thống. Hệ thống được ghép nối đã ở như trên hình 3.23 sử dụng
các thành phần đã trình bày ở trên
3.4.3. Kết quả mô phỏng hệ thống
Như trên hình 3.23 ta chạy mô phỏng trên phần mềm Matlab Simulink sử
dụng các thành phần đã trình bày ở trên và tiến hành mô phỏng hệ thống điều
khiển bộ biến đổi Buck
Kết quả thu được khi không có nhiễu tải, tải ổn định 7 ohn và có nhiễu với
điện áp đặt là 2V:

Hình 3.24: Kết quả mô phỏng không nhiễu tải


Nhận xét: Hệ thống có chất lượng điều khiển tốt thời gian đáp ứng nhanh,
không có sai lệch. Vậy với tải ổn định không thay đổi thì đáp ứng đầu ra của bộ
điều khiển là tốt. Thời gian quá độ khoảng 0.005s và sai lệch tĩnh khoảng 0%. Bộ
PID phù hợp trong điều khiển bám giá trị đặt khi không có nhiễu tải

64
Hình 3.25: Kết quả mô phỏng có nhiễu tải

65
Hình 3.26: Kết quả mô phỏng có nhiễu tải
Nhận xét: Với không có nhiễu tải hệ thống có chất lượng điều khiển tốt thời
gian đáp ứng nhanh, không có sai lệch. Tuy nhiên với nhiễu tải đầu ra thì điện áp
xuất hiện những đỉnh nhọn như trên hình 3.24 và 3.25 cho thấy chất lượng điều
khiển chưa thực sự tốt. Để giải quyết vấn đề này ta nên thay bộ điều khiển này
66
bằng bộ điều khiển 2P2Z (bộ điều khiển hai điểm không và hai điểm cực). Bộ điều
khiển này được hãng TI hỗ trợ về mặt với thiết kế với hai phần mềm SFRA và
phần mêm Compensation Designer. SFRA là phần mềm đánh giá đổi tượng điều
khiển dựa trên biểu đồ bode, hỗ trợ thêm vào thư viện lập trình C. Sau khi sử dụng
SFRA dữ liệu sẽ được lưu vào và ta sử dụng phần mềm Compensation Designer để
đưa ra bộ điều khiển và đưa vào lập trình
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
Hệ thống điều khiển bộ biến đổi Buck của hãng TI hỗ trợ việc theo dõi các
thống số của hệ thống cũng như là dạng đồ thị của điện áp đầu ra trên bộ biến đổi.
Sau đây là kết quả theo dõi việc điều khiển hệ thống thực
Ta tiến hành chạy hệ thống vòng kín với giá trị đặt ở thanh Gui_Vset1 = 2.0
V, bộ điều khiển PID với các thiết lập như trên hình:

Hình 3.27: Tham số thực nghiệm


Với những tham số trên ta tiến hành chạy hệ thống điều khiển bộ biến đổi
bằng bộ điều khiển PID và tải ở chế độ gián đoạn gây nhiễu cho đầu ra. Sau đây là
tín hiệu điện áp ra khi chạy thực:

67
Hình 3.28: Điện áp đầu ra hệ thống thực với tải cố định
Với tải cố định thì bộ biến đổi có đầu ra ổn định với sai lệch không lớn. Như
vậy khi mô phỏng hệ thống trêm Matlab Simulink so với thực tế có sự giống nhau
về kết quả

68
Hình 3.29: Điện áp đầu ra hệ thống thực với tải gián đoạn
Với tải gián đoạn thì bộ biến đổi Buck có điện áp đầu ra xuất hiện các đỉnh
nhọn với sai lệch không lớn. Trên Matlab Simulink cũng cho kết quả tương tự.
Như vậy ta đánh giá kết quả chạy hệ thống thực giống như kết quả thu được ở phần
mô phỏng

69
KẾT LUẬN
Sau một thời gian tìm hiểu, nghiên cứu với sự hướng dẫn của thầy giáo TS.
Phạm Tuấn Anh và sự giúp đỡ của các thầy cô giáo trong bộ môn, em đã hoàn
thành được bản đồ án môn học này. Qua đề tài này, em đã tìm hiểu và thực hiện
được các nội dung:
- Tìm hiểu về các thiết bị điều khiển số DSP của hãng Texas Instruments
- Tìm hiểu và nghiên cứu về mạch điện tử công suất Buck và phương pháp
điều khiển vòng kín
- Tiến hành thiết kế lập trình điều khiển và mô phỏng
Tuy nhiên do kiến thức còn hạn chế nên trong đồ án vẫn còn sai sót. Những
sai sót này là không thể tránh được là:
- Chưa hoàn toàn nghiên cứu hết về các phần mềm lập trình điều khiển
- Chưa thiết kế được chính xác bộ điều khiển vòng kín, mới chỉ dừng lại ở
mức chuyển đổi bộ điều khiển PID sang miền số
- Chất lượng điều khiển PID chưa thực sự tốt cần phải tìm hiểu thêm các bộ
điều khiển khác để tối ưu hệ thống
Em mong nhận được ý kiến nhận xét và đóng góp của các thầy cô và các bản
để bản đồ án này được hoàn thiện hơn nữa.

Em xin chân thành cảm ơn!

70
TÀI LIỆU THAM KHẢO

[1]. Giáo trình Điều khiển số, Đại học hàng hải Việt Nam.

[2]. Võ Minh Chính, Phạm Quốc Hải, Trần. Trọng Minh, Điện tử công suất, NXB
Khoa học và kỹ thuật

71

You might also like