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
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.
Tóm tắt nội dung tài liệu: 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 TRƯỜNG ĐẠI HỌC NHA TRANG • 223 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 1 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 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ộ 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ố. Tạp chí Khoa học - Công nghệ Thủy sản Số 2/2014 224 • TRƯỜNG ĐẠI HỌC NHA TRANG 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, 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ể. 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 Hình 1. Sơ đồ khối thiết bị trên kit dsPIC Hình 2. kit dsPIC Tạp chí Khoa học - Công nghệ Thủy sản Số 2/2014 TRƯỜNG ĐẠI HỌC NHA TRANG • 225 Đ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, fi rmware 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 Hình 4. Module SVPWM trên kit dsPIC 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. 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 Tạp chí Khoa học - Công nghệ Thủy sản Số 2/2014 226 • TRƯỜNG ĐẠI HỌC NHA TRANG 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 fi rmware đồ 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 fi rmware đó 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 fi rmware 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 Infi neon 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. 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 Tạp chí Khoa học - Công nghệ Thủy sản Số 2/2014 TRƯỜNG ĐẠI HỌC NHA TRANG • 227 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 fi rmware riêng cho dự án của mình hoặc sử dụng những fi rmware 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. 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 8. Điện áp pha của biến tần SVPWM Hình 9. Sơ đồ điều khiển động cơ DC sử dụng kit dsPIC 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 10. Đáp ứng tốc độ của động cơ DC Hình 11. Đáp ứng vị trí của động cơ DC Tạp chí Khoa học - Công nghệ Thủy sản Số 2/2014 228 • TRƯỜNG ĐẠI HỌC NHA TRANG 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 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.
File đính kèm:
- thiet_ke_kit_dspic33pic32_dung_trong_nghien_cuu_phat_trien_c.pdf