Ứng dụng các IP core FPGA để tích hợp bộ điều khiển động cơ BLDC

Động cơ BLDC có rotor là nam châm vĩnh và stator dạng dây quấn 3 pha với nguyên lý

điều khiển tương tự động cơ 3 pha [1]. Hầu hết các bộ điều khiển động cơ BLDC được

thực thi bằng vi điều khiển chuyên dụng kết hợp bộ biến đổi công suất 3 pha. Trên thế

giới, các bộ Driver do các hãng chế tạo đều đóng gói dưới dạng modul chỉ cho phép người

dùng cài đặt thông số mà không thể can thiệp sâu các tính năng điều khiển [2]. FPGA là

công nghệ lập trình nhúng, với nhiều dòng chip mạnh mẽ tích hợp phần xử lý logic và lõi

vi xử lý trên cùng một chíp đơn [3]. Cấu trúc này kết hợp được tính tác động nhanh của

FPGA với khả năng thực hiện các thuật toán điều khiển phức tạp của vi xử lý, do đó, phù

hợp với nhiều ứng dụng trong đó có bộ điều khiển động cơ BLDC. Hiện nay, nhiều hãng

thứ ba (third party) đã phát triển các bo mạch FPGA kèm theo lõi sở hữu trí tuệ (IP core)

để thực hiện một nhiệm vụ nào đó. Trong lĩnh vực điều khiển động cơ BLDC đã có các IP

core chuyên dụng thực hiện các thuật toán điều khiển vector phức tạp cho đáp ứng nhanh

và độ chính xác rất cao [4]. Bài báo trình bày việc ứng dụng các IP core này để tích hợp

một bộ điều khiển động cơ BLDC trên cơ sở bộ công cụ phát triển do hãng Enclustra cung

cấp. Trong trường hợp này người thiết kế làm chủ hoàn toàn việc xây dựng cấu trúc một

bộ điều khiển hoàn chỉnh và hiệu chỉnh tham số của các vòng điều khiển. Ở bước tiếp

theo, có thể tự chế tạo được các bộ điều khiển động cơ BLDC, thay vì đang phải mua của

nước ngoài, cho các hệ truyền động bám của các khí tài quân sự, trong đó có PPK37mm

pdf 6 trang yennguyen 2680
Bạn đang xem tài liệu "Ứng dụng các IP core FPGA để tích hợp bộ điều khiển động cơ BLDC", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Ứng dụng các IP core FPGA để tích hợp bộ điều khiển động cơ BLDC

Ứng dụng các IP core FPGA để tích hợp bộ điều khiển động cơ BLDC
Thông tin khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 55, 06 - 2018 197
ỨNG DỤNG CÁC IP CORE FPGA ĐỂ TÍCH HỢP 
BỘ ĐIỀU KHIỂN ĐỘNG CƠ BLDC 
Nguyễn Thị Thu Thảo*, Cao Đức Sáng, Vũ Hải Hà, Nguyễn Trọng Khuyên, 
Hồ Sỹ Dương, Quách Thế Dũng 
Tóm tắt: Bài báo trình bày việc tích hợp bộ điều khiển động cơ một chiều không 
cổ góp (BLDC) trên cơ sở các lõi sở hữu trí tuệ FPGA (IP core). Bộ điều khiển 
được tích hợp có độ tin cậy cao, hiệu quả tương đương với các bộ Driver nhập từ 
nước ngoài. 
Từ khóa: Động cơ BLDC; IP core; FPGA. 
1. ĐẶT VẤN ĐỀ 
Động cơ BLDC có rotor là nam châm vĩnh và stator dạng dây quấn 3 pha với nguyên lý 
điều khiển tương tự động cơ 3 pha [1]. Hầu hết các bộ điều khiển động cơ BLDC được 
thực thi bằng vi điều khiển chuyên dụng kết hợp bộ biến đổi công suất 3 pha. Trên thế 
giới, các bộ Driver do các hãng chế tạo đều đóng gói dưới dạng modul chỉ cho phép người 
dùng cài đặt thông số mà không thể can thiệp sâu các tính năng điều khiển [2]. FPGA là 
công nghệ lập trình nhúng, với nhiều dòng chip mạnh mẽ tích hợp phần xử lý logic và lõi 
vi xử lý trên cùng một chíp đơn [3]. Cấu trúc này kết hợp được tính tác động nhanh của 
FPGA với khả năng thực hiện các thuật toán điều khiển phức tạp của vi xử lý, do đó, phù 
hợp với nhiều ứng dụng trong đó có bộ điều khiển động cơ BLDC. Hiện nay, nhiều hãng 
thứ ba (third party) đã phát triển các bo mạch FPGA kèm theo lõi sở hữu trí tuệ (IP core) 
để thực hiện một nhiệm vụ nào đó. Trong lĩnh vực điều khiển động cơ BLDC đã có các IP 
core chuyên dụng thực hiện các thuật toán điều khiển vector phức tạp cho đáp ứng nhanh 
và độ chính xác rất cao [4]. Bài báo trình bày việc ứng dụng các IP core này để tích hợp 
một bộ điều khiển động cơ BLDC trên cơ sở bộ công cụ phát triển do hãng Enclustra cung 
cấp. Trong trường hợp này người thiết kế làm chủ hoàn toàn việc xây dựng cấu trúc một 
bộ điều khiển hoàn chỉnh và hiệu chỉnh tham số của các vòng điều khiển. Ở bước tiếp 
theo, có thể tự chế tạo được các bộ điều khiển động cơ BLDC, thay vì đang phải mua của 
nước ngoài, cho các hệ truyền động bám của các khí tài quân sự, trong đó có PPK37mm 
2. TÍCH HỢP PHẦN CỨNG BỘ ĐIỀU KHIỂN ĐỘNG CƠ BLDC 
Chúng tôi sử dụng bộ công cụ phát triển FPGA do hãng Enclustra cung cấp, gồm các 
modul chuyên dụng sau để tích hợp thành phần cứng bộ điều khiển động cơ BLDC. 
- Modul FPGA [5][6]: gồm bo mạch cơ sở (Mecury PE1) và bo mạch xử lý trung tâm 
(Mecury SA1) với chip Cyclone V SoC. Chíp này tích hợp FPGA với lõi xử lý cứng HPS 
(bao gồm chíp vi xử lý ARM Cortex A9, các ngoại vi,...). 
- Modul công suất (FMC) [7]: tích hợp khối công suất inverter 3 pha và các bộ chuyển 
đổi AD đo dòng/ nhiệt độ ... 
Từ các modul này, chúng tôi xây dựng sơ đồ cấu hình bộ điều khiển động cơ BLDC 
như hình 1 với các khối chức năng sau: 
- Khối điều khiển xây dựng trên chip Cyclone V SoC: có chức năng thu thập, xử lý các 
tín hiệu phản hồi và tín hiệu đầu vào, thực thi các thuật toán điều khiển để phát xung 
PWM ra điều khiển khối công suất. 
- Khối công suất inverter 3 pha: bao gồm các khóa chuyển mạch điện tử (transistor 
MOSFET, IGBT) đóng mở theo luật điều khiển. 
- Khối đo lường các tín hiệu phản hồi: là các encoder, cảm biến Hall, cảm biến dòng, 
nhiệt độ... 
Thông tin khoa học công nghệ 
N. T. T. Thảo, , Q. T. Dũng, “Ứng dụng các IP core  bộ điều khiển động cơ BLDC.” 198 
- Khối đầu vào: gồm các tín hiệu đặt mômen, tốc độ, vị trí, chiều quay dưới dạng tín 
hiệu xung hoặc số. Các tín hiệu này được đưa vào từ bộ phát xung hoặc cổng truyền thông 
máy tính PC. 
Hình 1. Cấu hình bộ điều khiển động cơ BLDC. 
Kết nối phần cứng giữa bo mạch FPGA, mạch công suất và động cơ được mô tả qua 
bảng sau: 
Bảng 1. Kết nối giữa bo mạch FPGA, mạch công suất và động cơ. 
Tên tín hiệu Chân 
FMC 
Tín hiệu 
FMC 
Chân FPGA Mô tả 
1. Giắc động cơ (Motor connector) 
VCC_5V_O - - - Nguồn 5V nuôi Hall 
sensors 
HALL1_MOT1# 
D12 LA06_N AD12 Tín hiệu từ Hallsensor 1 
về chíp 
HALL2_MOT1# 
D11 LA05_P T13 Tín hiệu từ Hallsensor 2 
về chíp 
HALL3_MOT1# 
C11 LA05_N T12 Tín hiệu từ Hallsensor 3 
về chíp 
GND - - - Ground 
HB1_MOT - - - Half-bridge 1 output 
HB2_MOT - - - Half-bridge 2 output 
HB3_MOT - - - Half-bridge 3 output 
2.Giắc Encoder (Encoder connector) 
VCC_5V_O - - - Nguồn 5V nuôi Encoder 
GND - - - Ground 
EncA_MOT1_N G37 LA33_N AH24 Encoder signal A- 
EncA_MOT1_P Encoder signal A+ 
EncB_MOT1_N H38 LA32_N AH22 Encoder signal B- 
EncB_MOT1_P Encoder signal B+ 
EncC_MOT1_N H37 LA32_P AH23 Encoder signal Z- 
EncC_MOT1_P Encoder signal Z+ 
3. Giắc nguồn (Supply connector) 
Thông tin khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 55, 06 - 2018 199
GND - - - Ground 
VCC_MOT - - - Nguồn công suất 
VCC_IO - - - Nguồn nuôi I/O 
3. XÂY DỰNG IP CORE ĐIỀU KHIỂN ĐỘNG CƠ BLDC 
Đơn vị trung tâm của bộ điều khiển động cơ BLDC chính là khối điều khiển được thực 
thi trên nền FPGA. Dòng Cyclone V SoC tích hợp FPGA và lõi xử lý cứng HPS (gồm vi 
xử lý ARM Cortex A9, các ngoại vi,...) trên một chíp đơn, nên bản thân nó vừa có tính 
năng xử lý logic mạnh mẽ của FPGA, vừa có tính năng của 1 vi xử lý tốc độ cao. Đi kèm 
bo mạch FPGA, hãng Enclustra đồng thời cung cấp hệ thống IP core chuyên dụng hỗ trợ 
điều khiển động cơ BLDC, mỗi IP thực hiện 1 chức năng riêng biệt từ thu thập số liệu, 
chuyển đổi ADC, tính toán điều chế vector ... Trên nền tảng các tài nguyên sẵn có bên 
trong chíp Cyclone V SoC, chúng tôi tích hợp các IP core này với lõi xử lý cứng (HPS) 
thành một IP core chuyên dụng điều khiển động cơ BLDC. Quá trình xây dựng IP core 
điều khiển động cơ bao gồm xây dựng cấu hình phần cứng (Firmware) và lập trình phần 
mềm (Software). 
3.1. Xây dựng cấu hình phần cứng (Firmware) 
Chúng tôi sử dụng phần mềm Quartus 15.0 của hãng Intel FPGA và công cụ Qsys của 
phần mềm Quartus để xây dựng cấu hình bộ điều khiển. Trên cửa sổ Qsys, lõi xử lý cứng 
(HPS), bộ nhớ chương trình, bộ nhân tần số PLLs, các IO, các IP core dùng cho động cơ 
BLDC được thêm vào tab System Contents, định địa chỉ cơ sở cho các IP core, và kết nối 
các thành phần với nhau. Sau khi kết nối, thực hiện lệnh Generate trên Qsys để biên dịch 
hệ thống thành file có định dạng *.qsys. Trên phần mềm lập trình Quartus, chúng tôi tạo 
một project với nền tảng là file vừa được tạo ra trên Qsys, biên dịch project thành file cấu 
hình FPGA có định dạng *.sof và nạp vào bo mạch FPGA. Thực hiện xong bước này là đã 
cấu hình xong phần cứng, trên đó các IP core hỗ trợ điều khiển động cơ BLDC đã được 
tích hợp với lõi xử lý cứng HPS. 
Sơ đồ cấu hình hệ thống bằng Qsys được thể hiện trên hình 2. 
Hình 2. Cấu hình hệ thống bằng Qsys. 
Trong sơ đồ trên, hps_0 (Hard Processor System) là lõi xử lý cứng bao gồm nhân ARM 
Cortex A9 và các ngoại vi đi kèm với nó, các en_drv là các IP core do hãng Enclustra 
cung cấp. 
Sơ đồ kết nối các IP core được minh họa một cách trực quan ở hình 3: 
Thông tin khoa học công nghệ 
N. T. T. Thảo, , Q. T. Dũng, “Ứng dụng các IP core  bộ điều khiển động cơ BLDC.” 200 
Hình 3. Sơ đồ kết nối các IP core. 
Chức năng của các IP core như sau: 
- Feedback unit: IP thu thập tín hiệu xung Encoder và tính toán tốc độ, vị trí. 
- Device Driver: Nhận tín hiệu điện áp tính toán từ IP Controller và phát xung PWM 
điều khiển các van bán dẫn công suất. 
- A/D Converter Interface: Thu thập tín hiệu dòng điện qua 2 pha động cơ và chuyển 
đổi thành dạng số tương thích. 
- Controller core: Trong số các IP core, Controller IP Core có vai trò quan trọng nhất 
trong hệ thống, nó thực hiện trao đổi dữ liệu trực tiếp với ARM, nhận các giá trị đặt, các 
phản hồi dòng, tốc độ, vị trí động cơ và thực thi các phép chuyển đổi vector không gian, 
các vòng điều khiển PID lồng nhau để đưa ra tín hiệu điện áp điều khiển. Hoạt động của IP 
này được mô tả trên hình 4. 
Hình 4. Cấu trúc hoạt động của IP Controller Core. 
3.2. Xây dựng phần mềm (Software) 
Phần mềm được xây dựng để nhúng trên nhân vi xử lý ARM-Cortex A9. Môi trường 
thiết kế phần mềm là môi trường nhúng SoC EDS (Eclipse for DS-5). Phần mềm này thực 
hiện giao tiếp với ngoại vi, nhận tín hiệu đặt từ thiết bị đầu vào và trao đổi dữ liệu với các 
IP core thông qua các hàm API. Việc cài đặt và truy xuất dữ liệu từ chíp ARM đến lõi IP 
Controller Core được thực hiện thông qua các hàm API chuyên dụng. Qua đó giúp chương 
trình phần mềm kiểm soát các tham số điều khiển động cơ và do đó bộ điều khiển làm việc 
hiệu quả, tin cậy. 
Thông tin khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 55, 06 - 2018 201
Lưu đồ thuật toán một vòng lặp chương trình thực hiện trên ARM được minh họa trên 
hình 5. 
Hình 5. Lưu đồ thuật toán một vòng lặp nhận tham số đặt 
và trao đổi dữ liệu với IP core. 
4. KẾT QUẢ SẢN PHẨM THỰC TẾ 
Mô hình thực tế sản phẩm được minh họa trên hình 6. 
Kết quả thực nghiệm triển khai bộ điều khiển động cơ BLDC LeadShine BLM57-180-
1000 trên nền bộ công cụ phát triển và các IP core của hãng Enclustra đạt được các chỉ 
tiêu kỹ thuật như sau: 
- Sai số chế độ vị trí là: 2-10 xung (sai số vị trí không tải của bộ Driver mẫu 
XenusTM XTL-230-36 của hãng Copley là 2-5 xung) 
- Sai số chế độ tốc độ là: 1-2% (sai số tốc độ không tải của bộ Driver mẫu XenusTM 
XTL-230-36 của hãng Copley là 0.5%) 
- Các chế độ bảo vệ: quá dòng, quá áp, quá mô men..... 
- Đầu vào: đặt vị trí (số xung), đặt tốc độ (PWM) 
- Đầu vào truyền thông RS232: đặt thông số chạy động cơ từ máy tính (vị trí, tốc 
độ, chiều quay, các hệ số Kp, Ki, Kd) 
N 
Y 
Start 
Init Altera System (HPS on chip, 
UART, IP core) 
Init IP core: 
(PWM, encoder, ADC, BLDC 
param, control) 
Nhận tham số đặt từ PC 
hoặc từ khối input. 
Tạo lệnh điều khiển cho IP 
controller core và đọc tham số điều 
khiển từ IP core 
Hiển thị các tham số điều khiển lên 
máy tính PC 
End 
Thông tin khoa học công nghệ 
N. T. T. Thảo, , Q. T. Dũng, “Ứng dụng các IP core  bộ điều khiển động cơ BLDC.” 202 
- Đầu ra: cho động cơ điện áp cực đại 40V, dòng điện cực đại 9A. 
Hình 6. Mô hình thực tế bộ điều khiển động cơ BLDC. 
5. KẾT LUẬN 
 Trên nền công nghệ FPGA, cụ thể là ứng dụng các lõi sở hữu trí tuệ (IP core) vào thiết 
kế xây dựng phần mềm trong môi trường nhúng, bộ điều khiển động cơ BLDC đạt các chỉ 
tiêu kỹ thuật gần như tương đương với các bộ Driver nhập từ nước ngoài. Việc làm chủ 
công nghệ điều khiển động cơ BLDC sẽ làm nền tảng cho các ứng dụng khác trong điều 
khiển vũ khí, đặc biệt là các hệ truyền động PPK 37mm. 
TÀI LIỆU THAM KHẢO 
[1]. Ramu Krishnan, “Permanent Magnet Synchronous and Brushless DC Motor 
Drives”, CRC Press (2009). 
[2].  
[3]. Philip Andrew Simpson, “FPGA Design: Best Practices for Team-based 
 Reuse”, Springer (2015). 
[4]. Https://www.enclustra.com/en/products/ip-cores/universal-drive-controller/ 
[5]. Https://www.enclustra.com/en/products/base-boards/mercury-pe1-200-300-400/ 
[6]. Https://www.enclustra.com/en/products/system-on-chip-modules/mercury-sa1/ 
[7]. Https://www.enclustra.com/en/products/add-on-cards/fmc-dr2/ 
ABSTRACT 
APPLYING FPGA IP CORE FOR INTEGRATION OF BLDC DRIVERS 
In this paper, the integration of a brushless DC motor (BLDC) based on the IP 
core associated with an FPGA board is presented. The integrated controller is 
highly reliable and has the same efficiency as imported drivers. 
Keywords: BLDC motor; IP core; FPGA. 
Nhận bài ngày 14 tháng 12 năm 2017 
Hoàn thiện ngày 11 tháng 5 năm 2018 
 Chấp nhận đăng ngày 08 tháng 6 năm 2018 
Địa chỉ: Viện Tự động hóa KTQS. 
 *Email: thaocapit@yahoo.com. 

File đính kèm:

  • pdfung_dung_cac_ip_core_fpga_de_tich_hop_bo_dieu_khien_dong_co.pdf