Ứ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
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
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:
- ung_dung_cac_ip_core_fpga_de_tich_hop_bo_dieu_khien_dong_co.pdf