Bối cảnh và vấn đề nghiên cứu
Động cơ một chiều truyền thống (DC motor) có ưu điểm về hiệu suất và đặc tính cơ tuyến tính phù hợp cho các hệ thống truyền động, tuy nhiên sự hiện diện của cổ góp và chổi than gây ra hiện tượng mài mòn cơ khí, tia lửa điện và đòi hỏi bảo dưỡng định kỳ. Động cơ một chiều không chổi than (Brushless DC Motor - BLDC) ra đời nhằm khắc phục các nhược điểm này bằng cách thay thế cơ cấu chuyển mạch cơ khí bằng bộ chuyển mạch điện tử bán dẫn dựa trên vị trí rotor. Nhờ kết cấu rotor nam châm vĩnh cửu và stator chứa dây quấn phần ứng, động cơ BLDC sở hữu mật độ công suất cao, khả năng tản nhiệt tốt, dải điều chỉnh tốc độ rộng và tuổi thọ vận hành cao.
Đề tài "Thiết kế điều khiển tốc độ động cơ BLDC" được thực hiện bởi sinh viên Nguyễn Đại Dương, ngành Kỹ thuật Điều khiển & Tự động hóa, Trường Điện – Điện tử, Đại học Bách Khoa Hà Nội, dưới sự hướng dẫn của PGS. TS. Nguyễn Quang Địch và TS. Giáp Văn Nam. Nghiên cứu tập trung vào các nhiệm vụ:
- Tìm hiểu tổng quan về cấu tạo, nguyên lý hoạt động, đặc tính cơ và mô hình toán học của động cơ BLDC ba pha.
- Khảo sát các phương pháp điều khiển động cơ BLDC, trọng tâm là phương pháp chuyển mạch 6 bước sử dụng cảm biến vị trí Hall kết hợp kỹ thuật điều chế độ rộng xung (PWM).
- Thiết kế và chế tạo phần cứng mạch điều khiển sử dụng vi điều khiển STM32F030F4P6, mạch chuyển đổi mức tín hiệu logic, mạch giao tiếp RS485 cách ly quang và mạch nguồn.
- Lập trình nhúng cấu hình vi điều khiển, xây dựng thuật toán điều khiển tốc độ vòng kín sử dụng bộ điều khiển PI và thu thập dữ liệu vận hành trên máy tính.
Đối tượng nghiên cứu là hệ truyền động động cơ BLDC mã hiệu 90ZWN24-120P kết hợp driver công suất BLD-120A. Phạm vi nghiên cứu được thực nghiệm trong học kỳ 2021.2 (từ ngày 28/03/2022 đến ngày 24/07/2022) tại phòng 207, tòa nhà C1B, Đại học Bách Khoa Hà Nội.
Cơ sở lý thuyết và phương pháp
Đề tài vận dụng các cơ sở lý thuyết chuyên ngành về máy điện, điện tử công suất và lý thuyết điều khiển tự động:
- Mô hình toán học động cơ BLDC: Hệ phương trình vi phân mô tả điện áp ba pha đối xứng với điện trở dây quấn $R$, điện cảm $L$, hỗ cảm $M$ giữa các cuộn dây, và sức phản điện động hình thang $e_a, e_b, e_c$. Phương trình động học cơ học dựa trên mô men quán tính tổng $J = J_m + J_c$, hệ số ma sát nhớt $D$ và mô men tải $M_c$.
- Phương pháp chuyển mạch 6 bước (Six-step commutation): Tín hiệu từ 3 cảm biến Hall đặt lệch nhau $120^\circ$ điện xác định 6 trạng thái vị trí của rotor trong một chu kỳ điện, từ đó điều khiển đóng cắt nghịch lưu 6 van bán dẫn để duy trì góc lệch từ trường stator và rotor nhằm tối ưu mô men sinh ra.
- Phương pháp điều khiển PWM: Sử dụng kỹ thuật điều chế độ rộng xung ở tần số cố định để thay đổi giá trị điện áp hiệu dụng cấp vào phần ứng động cơ thông qua tín hiệu điều khiển của driver.
- Thuật toán điều khiển PI rời rạc: Rời rạc hóa bộ điều khiển tỷ lệ - tích phân liên tục bằng phương pháp Euler lùi (Backward Euler) với chu kỳ lấy mẫu $T_s = 0,1\text{ s}$ để tính toán độ rộng xung điều khiển dựa trên sai lệch giữa tốc độ đặt và tốc độ thực tế.
Phương pháp nghiên cứu kết hợp giữa phân tích mô hình lý thuyết, thiết kế phần cứng mạch in (PCB), lập trình firmware trên môi trường STM32Cube HAL, và kiểm nghiệm thực tế bằng cách truyền dữ liệu thời gian thực lên máy tính qua chuẩn giao tiếp nối tiếp.
Thiết kế và triển khai
Hệ thống điều khiển được thiết kế theo cấu trúc module phần cứng kết hợp chương trình nhúng điều khiển vòng kín.
+------------------+ RS485/UART +----------------------+
| Máy tính (PC) | <=========================> | Mạch cách ly |
| - Hercules | (Cách ly quang 6N137, | và MAX3485 |
| - Oscilloscope | IC MAX3485) +----------+-----------+
+------------------+ | (UART)
v
+------------------+ Mức 3.3V/5V +----------------------+
| Driver BLD-120A | <=========================> | Vi điều khiển |
| (Khuếch đại công | (IC TXS0108E, | STM32F030F4P6 |
| suất 24VDC) | IC 74AHC1G14) | (Bộ điều khiển PI) |
+--------+---------+ +----------+-----------+
| ^
| (3 pha U, V, W) | (Tín hiệu Hall)
v |
+-----------------------------------------------------------+-----------+
| Động cơ BLDC 90ZWN24-120P |
+-----------------------------------------------------------------------+
1. Thiết kế phần cứng
Hệ thống phần cứng bao gồm các khối chức năng chính:
- Động cơ BLDC 90ZWN24-120P (Hãng LINIX): Động cơ ba pha, điện áp định mức $24\text{ VDC}$, công suất định mức $120\text{ W}$, dòng điện định mức $6,8\text{ A}$, tốc độ định mức $1500\text{ vòng/phút}$, mô men xoắn $7800\text{ g}\cdot\text{cm}$, số đôi cực $P_p = 2$.
- Driver công suất BLD-120A: Nguồn cấp hoạt động $12 - 30\text{ VDC}$ (điển hình $24\text{ VDC}$), dòng ra tối đa $8\text{ A}$ (cài đặt biến trở từ $1,6\text{ A}$ đến $8\text{ A}$), dải điều chỉnh tốc độ tối đa $20000\text{ RPM}$, cho phép điều khiển tốc độ bằng điện áp analog ($0 - 5\text{ VDC}$) hoặc xung PWM (hệ số điều chế khuyên dùng $2% - 90%$).
- Khối xử lý trung tâm STM32F030F4P6: Vi điều khiển 32-bit lõi ARM Cortex-M0, tần số hoạt động tối đa $48\text{ MHz}$, bộ nhớ Flash $16\text{ KB}$, SRAM $4\text{ KB}$, sử dụng thạch anh ngoài $8\text{ MHz}$ kết hợp hai tụ gốm $20\text{ pF}$.
- Khối chuyển đổi mức logic TXS0108E: Chuyển đổi 8 kênh hai chiều giữa mức điện áp $3,3\text{ V}$ của vi điều khiển và mức điện áp $5\text{ V}$ của driver BLD-120A. Mạch tích hợp thêm cổng đảo Schmitt-trigger 74AHC1G14SE-7 và công tắc chuyển mạch để đảo chiều quay động cơ bằng phần cứng.
- Khối giao tiếp RS485/UART: Sử dụng IC thu phát vi sai MAX3485 tốc độ tối đa $10\text{ Mbps}$ kết hợp IC cách ly quang tốc độ cao 6N137 ($10\text{ MBit/s}$) để truyền thông tin cậy giữa vi điều khiển và máy tính.
- Khối nguồn: Nguồn công suất $24\text{ VDC}$ ($14,6\text{ A}$) cấp cho Driver; nguồn điều khiển $5\text{ VDC}$ được cách ly qua IC biến đổi DC/DC Traco TBA2-0511, sau đó hạ áp xuống $3,3\text{ VDC}$ qua IC LM1117-3.3 (AMS1117) cấp cho vi điều khiển.
| STT |
Tên chân MCU |
Số thứ tự chân |
Chức năng trên mạch |
Nhiệm vụ |
| 1 |
PB1 |
14 |
BRK |
Tín hiệu phanh động cơ |
| 2 |
PA7 |
13 |
EN |
Tín hiệu cho phép hoạt động (Enable) |
| 3 |
PA1 |
7 |
F/R |
Tín hiệu điều khiển chiều quay |
| 4 |
PA6 |
12 |
SV |
Xuất xung PWM điều khiển tốc độ |
| 5 |
PA4 |
10 |
HV |
Tín hiệu cảm biến Hall V |
| 6 |
PA5 |
11 |
HU |
Tín hiệu cảm biến Hall U (đo tốc độ) |
| 7 |
PA3 |
8 |
RX |
Nhận dữ liệu UART |
| 8 |
PA2 |
9 |
TX |
Truyền dữ liệu UART |
| 9 |
NRST |
4 |
RESET |
Reset hệ thống vi điều khiển |
| 10 |
PA13 |
19 |
SWDIO |
Nạp và gỡ lỗi chương trình |
| 11 |
PA14 |
20 |
SWCLK |
Xung nhịp nạp chương trình |
2. Thiết kế phần mềm và thuật toán
Chương trình điều khiển được xây dựng trên Keil C uVision 5 kết hợp mã khởi tạo cấu hình từ phần mềm STM32CubeMX:
- Đo tốc độ thực tế: Kênh 1 của Timer 14 được cấu hình ở chế độ Input Capture direct mode bắt sườn lên của tín hiệu cảm biến Hall (chân HU). Khoảng thời gian giữa hai sườn xung liên tiếp ($\Delta t$) được ghi nhận vào thanh ghi để tính tần số $f = \frac{f_{\text{clock}}}{\text{PSC} \times \Delta t}$, từ đó tính tốc độ quay thực tế:
$$\text{speed_motor} = \frac{60 \times f}{P_p} = \frac{60 \times f}{2}$$
- Tạo xung PWM: Kênh 1 của Timer 3 được cấu hình ở chế độ PWM Generation CH1 để xuất xung điều chế với độ rộng xung
duty đặt vào chân SV của driver.
- Thuật toán điều khiển PI: Thuật toán rời rạc hóa với chu kỳ $T = 0,1\text{ s}$, công thức cập nhật ngõ ra:
$$u(k) = u(k-1) + K_p \left[ e(k) - e(k-1) + \frac{T_s}{T_i} e(k-1) \right]$$
Hệ số thực nghiệm được lựa chọn qua phương pháp thử nghiệm: $K_p = 0,7$ và hệ số tích phân $K_i = 0,05$. Giá trị đầu ra
duty được bão hòa trong phạm vi từ $0%$ đến $99%$.
- Giao diện giám sát: Nhận dữ liệu tốc độ đặt dạng chuỗi ký tự từ máy tính qua phần mềm Hercules Terminal (USART1); truyền dữ liệu tốc độ thực tế lên phần mềm Serial Oscilloscope để vẽ đồ thị thời gian thực và ghi log dữ liệu ra tệp định dạng
.csv.
Nội dung chính theo từng chương
Chương 1: Tổng quan về động cơ một chiều không chổi than (BLDC)
Chương này phân tích cơ sở cấu tạo và nguyên lý vận hành của động cơ BLDC. Khác với động cơ DC truyền thống, phần ứng của BLDC được đặt ở stator gồm 3 cuộn dây đấu hình sao (Y) hoặc tam giác ($\Delta$), còn rotor là các thanh nam châm vĩnh cửu với số đôi cực thường từ 2 đến 8. Vị trí rotor được giám sát qua các phần tử cảm biến (cảm biến Hall, cảm biến từ trở MR, hoặc transistor quang). Chương 1 cũng trình bày đặc tính sức phản điện động hình thang, hệ truyền động hai cực tính sử dụng nghịch lưu 6 van bán dẫn, và so sánh đặc tính kỹ thuật giữa động cơ BLDC với động cơ DC có chổi than.
| Tiêu chí so sánh |
Động cơ một chiều có chổi than |
Động cơ BLDC |
| Bộ chuyển mạch |
Cơ khí (chổi than và cổ góp) |
Điện tử (van bán dẫn theo cảm biến vị trí) |
| Hiệu suất |
Trung bình |
Cao (tổn hao sụt áp trên linh kiện nhỏ) |
| Bảo trì |
Định kỳ do mòn cơ khí |
Rất ít hoặc không cần bảo trì |
| Khả năng tản nhiệt |
Kém (nhiệt sinh ra ở cả rotor và stator) |
Tốt (cuộn dây sinh nhiệt đặt cố định ở stator) |
| Tỷ số công suất/kích thước |
Trung bình, thấp |
Cao (dùng nam châm vĩnh cửu mật độ từ cao) |
| Nhiễu điện từ |
Cao (do tia lửa điện tại chổi than) |
Thấp (không phát sinh tia lửa điện) |
| Mạch điều khiển |
Đơn giản |
Phức tạp (cần xử lý tín hiệu cảm biến vị trí) |
Chương 2: Mô hình toán học và phương pháp điều khiển động cơ BLDC
Chương 2 thiết lập hệ phương trình toán học mô tả động cơ BLDC ba pha đối xứng từ các định luật Kirchhoff và phương trình cân bằng điện áp:
$$U_d = 2R_s I_d + 2E$$
Phương trình đặc tính cơ tuyến tính của hệ truyền động:
$$\omega = \frac{U_d}{K_e} - \frac{2R_s}{K_e K_m} M$$
Chương phân tích chi tiết hai phương pháp điều khiển chính: phương pháp điều khiển có cảm biến Hall (chuyển mạch 6 bước với góc mở $120^\circ$ điện kết hợp điều chế xung PWM) và phương pháp điều khiển không cảm biến (sensorless) dựa trên điểm qua không (zero-crossing) của sức phản điện động. Chương cũng chỉ rõ hiện tượng nhấp nhô mô men và quỹ đạo từ thông xuất hiện 6 gai/bậc trong một chu kỳ do quá trình chuyển mạch không lý tưởng.
Chương 3: Thiết kế điều khiển cho động cơ BLDC
Chương 3 trình bày toàn bộ quá trình lựa chọn thiết bị, tính toán và thiết kế mạch phần cứng:
- Xác định thông số kỹ thuật của động cơ LINIX 90ZWN24-120P và driver BLD-120A.
- Thiết kế module vi điều khiển trung tâm STM32F030F4P6 với mạch tạo dao động thạch anh $8\text{ MHz}$ và nút nhấn reset.
- Thiết kế module chuyển đổi mức điện áp $3,3\text{ V} \leftrightarrow 5\text{ V}$ sử dụng IC TXS0108E và mạch đảo chiều quay dùng IC 74AHC1G14SE-7.
- Thiết kế mạch truyền thông UART/RS485 sử dụng IC MAX3485 cách ly quang bằng optocoupler tốc độ cao 6N137.
- Thiết kế khối nguồn cung cấp độc lập gồm nguồn OMRON $24\text{ VDC}$ cho driver và nguồn $5\text{ VDC}$ cách ly qua DC/DC Traco TBA2-0511 hạ áp xuống $3,3\text{ VDC}$ bằng LM1117.
Chương 4: Thiết kế chương trình điều khiển cho động cơ BLDC
Chương 4 mô tả quy trình xây dựng phần mềm nhúng:
- Sử dụng công cụ STM32CubeMX để cấu hình xung nhịp hệ thống $48\text{ MHz}$, chân GPIO, Timer 14 (Input Capture), Timer 3 (PWM Generation), và USART1.
- Lập trình trên Keil C uVision 5 thực hiện việc tính toán tốc độ động cơ theo thời gian thực từ ngắt Timer 14.
- Cài đặt thuật toán PI rời rạc với thời gian lấy mẫu $100\text{ ms}$, tham số $K_p = 0,7$ và $K_i = 0,05$, xuất độ rộng xung
duty điều khiển tốc độ.
- Thiết lập giao thức truyền thông nối tiếp nhận dữ liệu tốc độ đặt từ phần mềm Hercules Terminal và xuất dữ liệu đồ thị sang Serial Oscilloscope để lưu trữ dưới dạng tệp Excel
.csv.
Kết quả và đóng góp
Nghiên cứu đạt được các kết quả kỹ thuật cụ thể sau khi chạy thử nghiệm trên mô hình thực tế:
- Chỉ số đáp ứng hệ thống: Trong điều kiện vận hành không tải với tốc độ đặt, thời gian đáp ứng đạt trạng thái xác lập của hệ thống là khoảng $10\text{ giây}$. Độ đập mạch tốc độ ở chế độ xác lập đạt mức xấp xỉ $1,4%$.
- Khả năng giám sát và thu thập dữ liệu: Hệ thống nhận giá trị tốc độ đặt từ máy tính qua giao diện Hercules Terminal, phản hồi tốc độ thực tế và hiển thị dạng sóng thời gian thực trên giao diện Serial Oscilloscope, đồng thời lưu trữ toàn bộ chuỗi dữ liệu đo vào tệp bảng tính Excel.
- Đóng góp kỹ thuật: Hiện thực hóa thành công giải pháp ghép nối giữa vi điều khiển 32-bit điện áp thấp ($3,3\text{ V}$) với driver công nghiệp ($5\text{ V}/24\text{ V}$) có bảo vệ cách ly quang và chống nhiễu hai tầng nguồn, cung cấp cấu trúc phần cứng và mã nguồn firmware hoàn chỉnh cho bài toán điều khiển tốc độ BLDC.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế:
- Hệ thống mới chỉ thực hiện vòng điều khiển kín tốc độ, chưa tích hợp mạch vòng điều khiển dòng điện (mô men).
- Các tham số của bộ điều khiển PI ($K_p = 0,7; K_i = 0,05$) được lựa chọn dựa trên phương pháp thử sai thực nghiệm do chưa có đầy đủ thông số động học chính xác của hệ cơ khí.
- Các đánh giá thực nghiệm mới được tiến hành ở chế độ chạy không tải.
- Hướng phát triển:
- Thiết kế bổ sung mạch vòng điều khiển dòng điện cho động cơ BLDC để tạo thành cấu trúc điều khiển tầng (cascade control).
- Ứng dụng hệ thống điều khiển tốc độ và dòng điện vào các cơ cấu chấp hành cụ thể trong thực tế như cánh tay robot công nghiệp hoặc hệ trục truyền động máy công cụ CNC.
Giá trị tham khảo
Tài liệu là tài liệu tham khảo thực tế cho sinh viên và kỹ sư các ngành Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử, và Kỹ thuật Điện tử:
- Cung cấp sơ đồ ghép nối chi tiết giữa dòng chip STM32 Cortex-M0 với driver điều khiển động cơ thông qua IC đệm mức logic hai chiều TXS0108E.
- Hướng dẫn phương pháp đo tần số và vận tốc quay bằng ngắt Timer Input Capture kết hợp bộ thu phát vi sai RS485 cách ly tốc độ cao (6N137 + MAX3485).
- Cung cấp mã nguồn C đầy đủ triển khai bộ điều khiển PI rời rạc trên nền tảng thư viện STM32Cube HAL.
Câu hỏi thường gặp
1. Động cơ BLDC 90ZWN24-120P trong đề tài có các thông số kỹ thuật định mức nào?
Động cơ do hãng LINIX sản xuất, hoạt động với điện áp định mức $24\text{ VDC}$, công suất định mức $120\text{ W}$, dòng điện định mức $6,8\text{ A}$, tốc độ định mức $1500\text{ vòng/phút}$, mô men xoắn định mức $7800\text{ g}\cdot\text{cm}$ và có 2 đôi cực ($P_p = 2$).
2. Tại sao mạch điều khiển bắt buộc phải sử dụng IC chuyển đổi mức logic TXS0108E?
Vi điều khiển STM32F030F4P6 hoạt động ở mức logic $3,3\text{ V}$, trong khi các chân tín hiệu điều khiển của driver BLD-120A (BRK, EN, F/R, SV) nhận và phát tín hiệu ở mức logic $5\text{ V}$. IC TXS0108E đóng vai trò cầu nối chuyển đổi hai chiều mức điện áp giữa $3,3\text{ V}$ và $5\text{ V}$ để đảm bảo vi điều khiển không bị quá áp và driver nhận đúng ngưỡng logic.
3. Vi điều khiển STM32 đo tốc độ thực tế của động cơ thông qua cơ chế nào?
Hệ thống sử dụng kênh 1 của Timer 14 ở chế độ Input Capture direct mode để bắt sườn xung tín hiệu trả về từ cảm biến Hall U (chân HU). Bằng cách tính khoảng thời gian giữa hai lần kích hoạt ngắt liên tiếp, vi điều khiển tính ra tần số xung $f$ và suy ra tốc độ động cơ theo công thức $\text{speed_motor} = \frac{60 \times f}{2}$.
4. Mạch giao tiếp UART được bảo vệ chống nhiễu và cách ly điện thế như thế nào?
Tín hiệu truyền thông nối tiếp giữa vi điều khiển và máy tính được cách ly quang bằng optocoupler tốc độ cao 6N137 ($10\text{ MBit/s}$), sau đó truyền qua đường truyền vi sai 2 dây RS485 bằng IC MAX3485 để tăng khoảng cách truyền dẫn và nâng cao khả năng chống nhiễu công nghiệp.
5. Kết quả thực nghiệm điều khiển tốc độ không tải của hệ thống đạt được như thế nào?
Hệ thống sử dụng thuật toán PI rời rạc ($K_p = 0,7; K_i = 0,05; T_s = 0,1\text{ s}$). Khi chạy thực nghiệm không tải, thời gian đáp ứng đạt tốc độ đặt là khoảng $10\text{ giây}$ và độ đập mạch tốc độ tại trạng thái xác lập duy trì ở mức $1,4%$.
Kết luận
Đồ án đã thiết kế và chế tạo hoàn chỉnh hệ thống điều khiển tốc độ vòng kín cho động cơ BLDC $120\text{ W}$ sử dụng vi điều khiển STM32F030F4P6 kết hợp driver BLD-120A. Phần cứng được thiết kế với các giải pháp cách ly mức tín hiệu, cách ly quang truyền thông RS485 và ổn định nguồn điện độc lập. Thuật toán PI rời rạc triển khai trên nền vi điều khiển ARM Cortex-M0 kết hợp ngắt Input Capture đã đáp ứng tốt yêu cầu ổn định tốc độ không tải với độ đập mạch $1,4%$, đồng thời hỗ trợ giám sát dữ liệu thời gian thực trên máy tính.