THIẾT KẾ KIT dsPIC33/PIC32 DÙNG TRONG NGHIÊN CỨU
PHÁT TRIỂN CÁC HỆ TRUYỀN ĐỘNG ĐIỆN
Tạp chí Khoa học - Công nghệ Thủy sản
Số 2/2014
VAÁN ÑEÀ TRAO ÑOÅI
THIẾT KẾ KIT dsPIC33/PIC32 DÙNG TRONG NGHIÊN CỨU
PHÁT TRIỂN CÁC HỆ TRUYỀN ĐỘNG ĐIỆN
DESIGN OF A dsPIC33/PIC32 KIT FOR STUDY ELECTRICAL DRIVE SYSTEMS
Nhữ Khải Hoàn1, Quách Đức Cường2
Ngày nhận bài: 30/10/2013; Ngày phản biện thông qua: 15/12/2014; Ngày duyệt đăng: 02/6/2014
TÓM TẮT
dsPIC là một họ vi điều khiển số (Digital Signal Controller) 16-bit do hãng Microchip sản xuất. Sự khác biệt của
dsPIC so với các vi điều khiển khác là dsPIC được tích hợp các công cụ xử lý tín hiệu số. Tuy mới ra đời (từ năm 2005)
nhưng dsPIC đã nhanh chóng chiếm được thị phần lớn trong thị trường chip trên thế giới cũng như tại Việt Nam bởi chip
dsPIC có tốc độ xử lý cao, trên phiến tích hợp các module chức năng phù hợp với nhiều ứng dụng khác nhau, đồng thời giá
thành của dsPIC tương đối thấp. Những yếu tố đó cho phép thực hiện các dự án trên dsPIC rất hiệu quả. Trong nội dung
bài báo này, chúng tôi trình bày về thiết kế một kit dsPIC đa năng phục vụ thí nghiệm thực hành vi điều khiển của học phần
vi điều khiển trong chương trình đào tạo kỹ sư thuộc các chuyên ngành điện.
ABSTRACT
dsPIC is a 16-bit Digital Signal Controller which is produced by Microchip company. The dsPIC is integrated
digital signal processing tool on chip. This is difference between dsPIC and other microcontroller families. Although it was
produced in 2005 but now the dsPIC is one off the most popular chip on the World and in Vietnam. Because the dsPIC has
high operate speed and many powerful features which are suitable for many different applications. Additionally, it is also
low-cost. From the elements above, we can implement effective projects with dsPIC. In this paper we present the design
of a general-purpose dsPIC control kit which is used to study PIC microcontroller courses for power engineering training
programs.
Từ khóa: dsPIC33FJ256MC710, vi điều khiển, Microchip
I. MỞ ĐẦU
Kit phát triển dsPIC được thiết kế cho
dòng dsPIC điều khiển động cơ chuyên dụng dsPIC33FJ256MC710. Đây là dòng chip điều khiển
động cơ mới nhất của Microchip. Khi thiết kế, chúng
tôi đã tham khảo một số kit dsPIC của Microchip,
MikroC, Olimex... đồng thời cũng đặt ra một số yêu
cầu đối với thiết bị, ví dụ như: tính đa năng (sử
dụng để học tập thực hành, đồng thời cũng có thể
sử dụng Kit dsPIC trong nghiên cứu phát triển các
ứng dụng thực tế). Kit dsPIC này được sử dụng để
thực thi các giải thuật điều khiển hiện đại cho hệ
thống điều khiển, điều khiển các thiết bị điện tử công
suất như biến tần, chỉnh lưu, băm áp trong các hệ
truyền động điện DC, ba pha AC (động cơ đồng bộ
1
và không đồng bộ), một pha AC, động cơ bước
(step motor) và động cơ một chiều không chổi than
(BLDC motor). Ngoài ra cũng có thể thực hiện các
nội dung đo lường và điều khiển khác như: thu thập
dữ liệu, giao tiếp với PC, MCU, PLC thông qua các
chuẩn giao tiếp CAN, RS232, RS485, I2C...
Kit dsPIC được thiết kế dùng riêng cho chip
dsPIC33FJ256MC710, nhưng board này vẫn có
thể dùng cho một số chip PIC32 (dòng chip 32 bit)
100 chân ví dụ như chip PIC32MX460F512L. Sự
đa dạng này giúp sinh viên có thể thực hành nhiều
dòng chip của Microchip trên bản mạch. Có thể nói
kit dsPIC này là một sản phẩm phù hợp với nhu cầu
thực hành về kỹ thuật đo lường và điều khiển sử
dụng vi điều khiển số.
ThS. Nhữ Khải Hoàn, 2 TS. Quách Đức Cường: Khoa Điện - Điện tử - Trường Đại học Nha Trang
TRƯỜNG ĐẠI HỌC NHA TRANG • 223
Tạp chí Khoa học - Công nghệ Thủy sản
Số 2/2014
II. NỘI DUNG
1. Cấu trúc của KIT dsPIC
1.1. Một số tính năng của bộ điều khiển số dsPIC33FJ256MC710
Theo catalog từ hãng Microchip, bộ vi điều khiển số dsPIC33FJ256MC710 có tính năng như trong
bảng 1 [1].
Bảng 1. Đặc tính kỹ thuật của chip điều khiển số dsPIC33FJ256MC710
Parameter Name
Value
Architecture
16-bit
CPU Speed
40 MIPS
Program Memory
256 KB Flash
RAM memory
30,720 Byte
Internal Oscillator
7.37 MHz, 512 kHz
Digital Communication Peripherals
2 I2C, 2 SPI, 2 CAN, 2 UART
Analog Peripherals
2-A/D 24x12-bit
CCP Peripherals
8/8
Motor Control PWM
8 channels/16-bit resolution
QEI module
1
Parallel Port
GPIO
Timers
9 x 16-bit 4 x 32-bit
DMA
8
Pin Count
100
Temperature Range
-40 to 150 C
Voltage supply
3.0 to 3.6 V
Power Management
Idle, Sleep and Doze mode
1.2. Cấu trúc của kit dsPIC
Hình 1 thể hiện sơ đồ tổng thể của kit dsPIC.
Lõi chip trung tâm là dsPIC33FJ256MC710 hoặc
PIC32MX460F512L. Chip trung tâm này sẽ gửi
dữ liệu hiển thị lên màn hình LCD thông qua chip
PIC16F877A, giao tiếp giữa dsPIC33FJ256MC710
và PIC16F877A được lựa chọn thực hiện theo một
số chuẩn giao tiếp sau: I2C, SPI và RS232. Các
module giao tiếp của kit dsPIC bao gồm: RS232,
Hình 1. Sơ đồ khối thiết bị trên kit dsPIC
224 • TRƯỜNG ĐẠI HỌC NHA TRANG
RS485, CAN, I2C, SPI, INFRARED, ETHERNET,
WIRELESS, USB. Một số module thiết bị như DC
motor drive, SVPWM inverter cho phép thực hành
áp dụng các giải thuật điều khiển hiện đại trong hệ
điều khiển DC motor và kỹ thuật điều chế vector
của biến tần ba pha. Trên kít cũng có sẵn các bus
điều khiển động cơ và bus truyền dữ liệu mở rộng
cho phép đa dạng hóa các bài thực hành ứng dụng
cụ thể.
Hình 2. kit dsPIC
Tạp chí Khoa học - Công nghệ Thủy sản
Điều đặc biệt đối với kit dsPIC là trên bản
mạch có module biến tần ba pha. Với module biến
tần này sẽ cho phép sinh viên thực hiện, kiểm tra
và chỉnh sửa giải thuật điều chế vector trong biến
tần SVPWM trước khi thực hiện trên hệ biến tần
công suất. Module biến tần được thiết kế với sáu
Tranzitor C1815 và có chế độ chống ngắn mạch,
chống xung áp ngược.
Nạp chương trình cho chip thông qua kết
nối ICSP hoặc JTAG. Đây là chuẩn nạp và gỡ lỗi
chương trình onchip của Microchip. Hệ thống nạp
và gỡ lỗi này rất thuận lợi cho việc chỉnh sửa và
phát triển dự án trên dsPIC. Chúng tôi sử dụng
thiết bị PICKIT2 để nạp chương trình cho kit dsPIC,
Số 2/2014
firmware của thiết bị nạp được cập nhật trên trang
web Microchip [2].
1.3. Một số module ngoại vi
1.3.1. Module điều khiển động cơ DC
Module điều khiển động cơ DC sử dụng mạch
cầu tích hợp L6203 chuyên dụng. Vi mạch L6203
có điện áp làm việc lên tới 52V, dòng điện 4A, tần
số băm xung 100KHz. Bên trong L6203 tích hợp 4
MOSFET cho phép điều khiển 4 góc phần tư đặc
tính tải của động cơ DC. Ngoài ra trên L6203 cũng
có mạch đo lường dòng điện, tín hiệu dòng điện từ
L6203 sẽ qua bộ lọc thông thấp trước khi đưa vào
module ADC của dsPIC. Phần cứng mạch drive
L6203 thể hiện trên hình 3.
Hình 3. Module L6203 cho động cơ DC
1.3.2. Module SVPWM
Module SVPWM được bố trí nằm trên góc trái
của kit dsPIC (hình 4). Chúng ta có thể thực hành
lập trình các giải thuật điều chế vector cho biến tần
ba pha thông qua module này.
1.3.3. Module Wireless
Module Wireless sử dụng thiết bị thu phát
wireless POP2032 (hình 5), ở tốc độ thu phát 9600
baud khoảng cách thu phát có thể đạt tới 500m.
Hình 4. Module SVPWM trên kit dsPIC
POP2032 kết hợp với vi điều khiển PIC16F688 tạo
thành một thiết bị có hai chức năng.
Chức năng thứ nhất: Module Wireless đóng vai
trò của Wireless Sensor Node, nó thu thập tín hiệu
vật lý như nhiệt độ, ánh sáng, điện áp... và truyền
về trạm trung tâm.
Chức năng thứ hai: Module Wireless đóng vai
trò thiết bị trung gian để PC và MCU thực hiện thu
phát wireless.
Hình 5. Wireless module
TRƯỜNG ĐẠI HỌC NHA TRANG • 225
Tạp chí Khoa học - Công nghệ Thủy sản
Số 2/2014
Hai chức năng này được thể hiện thông qua sơ đồ ghép nối giao tiếp wireless trên hình 6 và hình 7.
Hình 6. Sơ đồ ghép nối thu thập dữ liệu
thông qua wireless
Hình 7. Giao tiếp wireless giữa hai MCU
2. Trình biên dịch
Ngôn ngữ lập trình cho dsPIC có hai loại cơ bản
là ngôn ngữ ASM và ngôn ngữ C. Lập trình trên ASM
cho phép tạo ra mã gọn nhẹ, tốc độ thực thi nhanh.
Tuy nhiên, nhược điểm của ngôn ngữ ASM là trình
bày phức tạp, khó khăn cho việc thực hiện các giải
thuật tính toán đối với người lập trình không chuyên.
Trong khi đó ngôn ngữ C với cấu trúc rõ ràng, khả
năng module hóa cao, thực hiện thuật toán một cách
trực quan sáng sủa đã thực sự trở thành một ngôn
ngữ lý tưởng cho lập trình hệ nhúng. Hiện nay trình
biên dịch sử dụng ngôn ngữ C cho dsPIC được nhiều
hãng cung cấp, như MikroC của MikroElectronika,
MPLAB C30 của Microchip, CCS của CCS Inc [3]…
Mỗi một trình biên dịch đều có ưu điểm, nhược
điểm riêng, ví dụ các trình biên dịch MikroC và CCS
cung cấp hệ thống firmware đồ sộ, kết quả là đối với
những người lập trình không chuyên việc phát triển
dự án dsPIC hết sức đơn giản. Bởi thông qua hệ
thống firmware đó MikroC/CCS đã che hết toàn bộ
phần cứng của hệ nhúng dsPIC. Điều này rõ
ràng vừa có ưu điểm và cũng có nhược điểm của
MikroC/CCS. Ưu điểm là phát triển hệ thống dễ
dàng, nhược điểm là người lập trình hoàn toàn phụ
thuộc vào hệ thống firmware do hãng cung cấp qua
đó làm cho người lập trình “ngần ngại” trong việc tìm
hiểu tổ chức phần cứng hệ nhúng. Đối với sinh viên,
những người đang trong quá trình học tập và nghiên
cứu, điều này hết sức nên tránh.
Ngoài hai ngôn ngữ căn bản ASM và C như đã
nói ở trên, lập trình tạo mã cho dsPIC còn có thể
thực hiện theo dạng sơ đồ khối chức năng thông
qua thư viện Embedded Target for Microchip dsPIC
của MATLAB & SIMULINK. Cũng giống như các thư
viện Target for C6000/C2000, Target for Infineon
C166 trong MATLAB, thư viện Embedded Target
for Microchip dsPIC cung cấp các sơ đồ khối chức
năng trên chip như ADC, PWM, UART… cho phép
người lập trình sử dụng sơ đồ khối SIMULINK
để thực hiện các nội dung lập trình cho dsPIC.
226 • TRƯỜNG ĐẠI HỌC NHA TRANG
Tạp chí Khoa học - Công nghệ Thủy sản
Trong thực tế, công việc lập trình cho dsPIC thông
qua thư viện SIMULINK của MATLAB chỉ phù hợp
cho việc kiểm nghiệm giải thuật điều khiển. Khi thiết
kế một dự án - ứng dụng hoàn chỉnh, đa phần người
lập trình vẫn phải viết mã chương trình trong ASM
hoặc C.
Trong những trình biên dịch kể trên, MPLAB
C30 là trình biên dịch do chính hãng Microchip cung
cấp. Với trình biên dịch MPLAB C30, người lập trình
sẽ nắm vững được tổ chức phần cứng và phần
mềm trên hệ nhúng dsPIC từ đó có thể phát triển
những firmware riêng cho dự án của mình hoặc sử
dụng những firmware do chính hãng cung cấp. Do
đó chúng tôi lựa chọn MPLAB C30 làm trình biên
dịch phát triển hệ thống nhúng dsPIC.
3. Một số kết quả thực hành thu thập dữ liệu và
điều khiển trên kit dsPIC
3.1. Thực hiện giải thuật điều chế vector cho biến
tần 3 pha
Điều chế vector cho biến tần ba pha thực hiện
ở tần số băm xung 3KHz, tần số điện áp ba pha là
10Hz. Giản đồ điện áp ba pha quan sát từ máy hiện
sóng thể hiện trên hình 8.
Số 2/2014
3.2. Điều khiển tốc độ, góc quay động cơ DC bằng
giải thuật điều khiển mờ thích nghi trực tiếp
Trong phần này chúng tôi sẽ giới thiệu một
vài kết quả điều khiển hệ DC motor sử dụng kit
dsPIC. Động cơ sử dụng trong thí nghiệm là loại
D06D03 của Hitachi có thông số của động cơ ghi
trong bảng 2.
Bảng 2. Thông số của DC motor
Thông số định mức
Giá trị
Điện áp
30V
Dòng điện
2A
Công suất
53W
Tốc độ
3100 rpm
Sử dụng giải thuật điều khiển mờ thích
nghi trực tiếp để điều khiển tốc độ và góc quay
của động cơ. Sơ đồ điều khiển như trên hình 9.
dsPIC33FJ256MC710 hoạt động ở tần số 40 MHz
Tần số lấy mẫu dữ liệu là 400 Hz, bộ PWM hoạt
động ở tần số băm xung của PWM 9,775 KHz, độ
phân giải của PWM là 12-bit. Thông số của encoder
là 2000 pps.
Hình 9. Sơ đồ điều khiển động cơ DC sử dụng kit dsPIC
Hình 8. Điện áp pha của biến tần SVPWM
Hình 10. Đáp ứng tốc độ của động cơ DC
Trường hợp điều khiển tốc độ: Hình 10 thể hiện
đáp ứng tốc độ của động cơ DC bám theo hàm
step mẫu.
Trường hợp điều khiển góc quay: Đáp ứng vị trí
bám theo một tín hiệu analog thể hiện trên hình 11.
Hình 11. Đáp ứng vị trí của động cơ DC
TRƯỜNG ĐẠI HỌC NHA TRANG • 227
Tạp chí Khoa học - Công nghệ Thủy sản
3.3. Thu thập dữ liệu thông qua Wireless module
Thực hành truyền tin wireless với tốc độ truyền
tin và khoảng cách truyền xa nhất mà wireless
module có thể thực hiện được ghi trong bảng 3. Các
giá trị này được thí nghiệm dưới điều kiện không
gian truyền tin không bị cản trở bởi các chướng ngại
vật như tòa nhà, dãy núi…
Bảng 3. Tốc độ truyền và khoảng cách
thu - phát của Wireless module
Tốc độ truyền
Khoảng cách xa nhất có thể
thu - phát dữ liệu
1200 baud
1100m
2400 baud
900m
9600 baud
650m
19200 baud
320m
38400 baud
270m
Số 2/2014
IV. KẾT LUẬN
Bài báo này chúng tôi đã đưa ra để trao đổi vấn
đề nghiên cứu và phát triển một kit vi xử lý 16-bit
dsPIC dùng trong nghiên cứu - thực hành phát triển
các hệ truyền động điện DC và AC. Kết quả nghiên
cứu trên kit bước đầu thực hiện một số ví dụ như:
điều chế vector cho biến tần ba pha, hệ thống điều
khiển tốc độ và vị trí động cơ DC với giải thuật điều
khiển mờ thích nghi trực tiếp, giao tiếp truyền dữ
liệu thông qua wireless module cho thấy kit dsPIC
hoạt động chính xác và ổn định.
Trong tương lai, chúng tôi sẽ nghiên cứu phát
triển hệ điều khiển vector cho động cơ điện AC với
board điều khiển trung tâm là kit dsPIC. Những kết
quả nghiên cứu đó, chúng tôi sẽ trình bày trong
những nội dung báo cáo sau.
TÀI LIỆU THAM KHẢO
1.
Microchip, 2011. 16-bit language tools getting started.
2.
Microchip, 2011. MPLAB C Complier for PIC24 MCUs and dsPIC DSCs User’s Guide.
228 • TRƯỜNG ĐẠI HỌC NHA TRANG
- Xem thêm -