Driver động cơ bước A4988, DRV8825, TMC2209: chọn loại, chỉnh dòng VREF và chạy êm
So sánh driver động cơ bước A4988, DRV8825, TMC2209, cách nối dây, công thức và cách đo VREF để đặt dòng, bảng chọn vi bước, tản nhiệt, chạy êm và khi nào dùng driver rời.
Bo điều khiển máy CNC chỉ phát ra hai tín hiệu yếu cho mỗi trục: STEP (mỗi xung là một bước) và DIR (chiều quay). Driver động cơ bước nhận hai tín hiệu đó rồi cấp dòng điện vài ampe, đổi chiều đúng lúc cho hai cuộn dây của động cơ. Driver còn giới hạn dòng điện và chia vi bước để động cơ chạy êm.
Ba driver dạng module nhỏ (kiểu StepStick, cắm được lên CNC shield và bo mạch máy in 3D) phổ biến nhất là A4988, DRV8825 và TMC2209. Bài này so sánh ba loại, cách nối dây, cách chỉnh dòng bằng VREF, cách chọn vi bước và khi nào nên dùng driver rời cỡ lớn.

1. So sánh A4988, DRV8825, TMC2209

- A4988: rẻ, phổ biến, vi bước tới 1/16, điện áp động cơ 8–35 V. Dòng khoảng 1 A mỗi cuộn nếu không có tản nhiệt; tới khoảng 2 A khi có tản nhiệt và quạt.
- DRV8825: cùng kích thước chân với A4988 (nhưng chân VDD được thay bằng FAULT), vi bước tới 1/32, chịu điện áp tới 45 V, dòng cao hơn một chút. Hợp với nguồn 24 V và động cơ NEMA 17 thân dài.
- TMC2209: chạy rất êm nhờ chế độ StealthChop, vi bước tới 1/64 và tự nội suy thành 1/256 khi chạy. Chỉnh được dòng và vi bước qua đường UART nếu bo điều khiển hỗ trợ. Điện áp tối đa thấp hơn (khoảng 29 V), không dùng nguồn 36 V.
2. Nối dây một driver

| Chân A4988 | Nối với | Ghi chú |
|---|---|---|
| STEP | chân STEP của bo điều khiển | mỗi xung lên là một bước hoặc một vi bước |
| DIR | chân DIR của bo điều khiển | mức cao, thấp chọn chiều quay |
| EN | chân bật driver (dùng chung cho các trục) | mức thấp là bật; để hở cũng bật (có điện trở kéo xuống) |
| RST, SLP | nối với nhau | để hở RST thì driver không chạy |
| MS1, MS2, MS3 | VDD hoặc để hở | chọn vi bước (mục 4) |
| VDD, GND | 3,3 V hoặc 5 V của bo điều khiển | nguồn logic, GND chung với bo điều khiển |
| VMOT, GND | nguồn động cơ 12–24 V | tụ 47–100 µF đặt sát chân VMOT |
| 1A, 1B / 2A, 2B | hai cuộn động cơ | mỗi cặp là một cuộn |
- Cắm đúng chiều. Trên CNC shield và module đều có chữ EN ở một góc; cắm ngược driver có thể cháy ngay khi cấp nguồn.
- Tụ lọc ở VMOT: động cơ tạo xung điện áp ngược khi đổi dòng; tụ đặt gần driver hấp thụ xung này. CNC shield đã có sẵn tụ.
- Không cắm, rút dây động cơ khi driver đang có điện.
3. Chỉnh dòng bằng VREF

Biến trở nhỏ trên module đặt dòng tối đa cho mỗi cuộn. Dòng quá thấp: động cơ yếu, mất bước. Dòng quá cao: động cơ và driver nóng, driver tự ngắt hoặc hỏng.
- Tra dòng định mức mỗi pha của động cơ (ví dụ 1,5 A). Chọn dòng đặt khoảng 70–80 % (1,2 A).
- Tính VREF:
- A4988:
VREF = I × 8 × Rs. Rs là điện trở đo dòng in trên mạch: R100 là 0,1 Ω, R068 là 0,068 Ω. Với 1,2 A: 0,96 V (R100) hoặc 0,65 V (R068). - DRV8825 (module điện trở 0,1 Ω thường gặp):
VREF = I / 2. Với 1,2 A: 0,60 V. - TMC2209: công thức tùy điện trở đo dòng và mạch của từng hãng module; dùng đúng công thức trong tài liệu của module đang có, hoặc đặt dòng qua UART.
- A4988:
- Cấp nguồn cho driver (A4988 cần nguồn VDD; DRV8825 cần nguồn VMOT). Không cần động cơ quay.
- Đồng hồ vạn năng thang 2 V DC: que đen chạm GND, que đỏ chạm vít của biến trở. Vặn từ từ bằng tua vít nhựa tới đúng giá trị.
- Chạy thử máy một lúc; động cơ ấm tới nóng là bình thường, nóng không giữ tay được thì giảm VREF.
4. Chọn vi bước

- Trên CNC shield, ba jumper dưới mỗi driver nối các chân MS lên VDD. Cắm đủ ba jumper: A4988 chạy 1/16, DRV8825 chạy 1/32.
- Đổi vi bước thì phải đổi số bước mỗi milimét trong firmware (
$100–$102của GRBL, bài 12). Vi bước gấp đôi thì steps/mm gấp đôi. - Máy laser và máy vẽ thường chọn 1/16; CNC mini chạy nhanh với Arduino có thể cần 1/8 để không vượt giới hạn tần số xung.
5. Tản nhiệt và chạy êm
- Dán miếng tản nhiệt lên IC (A4988, TMC2209) hoặc lên mặt dưới module (DRV8825 tản nhiệt qua mặt dưới mạch). Có quạt thổi qua hàng driver là tốt nhất.
- Miếng tản nhiệt không được chạm vào chân hay linh kiện bên cạnh.
- Driver quá nhiệt sẽ tự ngắt rồi chạy lại, gây mất bước giống như hỏng: sờ thấy rất nóng, giảm dòng hoặc thêm quạt.
- Muốn máy êm (máy laser đặt trong phòng, máy in 3D), chọn TMC2209 ở chế độ StealthChop. Với máy phay cần mô-men cao ở tốc độ lớn, chế độ SpreadCycle của TMC2209 hoặc DRV8825 thường giữ mô-men tốt hơn.
6. Chọn driver theo loại máy

Động cơ NEMA 23 dòng 2,8–4,2 A vượt khả năng của driver kiểu StepStick. Khi đó dùng driver rời dạng hộp có tản nhiệt lớn, nhận tín hiệu STEP, DIR, EN qua bộ cách ly quang (opto), chọn dòng và vi bước bằng công tắc gạt. Nối loại này với Arduino, ESP32 cần chú ý mức điện áp tín hiệu (5 V hay 24 V) và cách nối chung GND hay chung dương theo tài liệu của driver.
7. Lỗi thường gặp
| Hiện tượng | Nguyên nhân hay gặp |
|---|---|
| Động cơ không quay, không giữ trục | chưa cấp VMOT, EN đang ở mức cao, RST để hở (A4988) |
| Động cơ rung tại chỗ | đấu sai cặp cuộn, dòng quá thấp |
| Chạy được một lúc thì giật, mất bước | driver quá nhiệt, dòng đặt quá cao, thiếu tản nhiệt |
| Quay đúng nhưng quãng đường sai gấp 2, 4 lần | vi bước khác với steps/mm khai báo trong firmware |
| Driver cháy khi vừa cấp điện | cắm ngược chiều, rút dây động cơ khi đang có điện, nguồn vượt điện áp tối đa |
8. Xem thêm
- Bài trước trong loạt: Động cơ bước cho máy CNC. Bài sau: Truyền động máy CNC, vít me, dây đai, steps/mm.
- ESP32 điều khiển động cơ bước NEMA 17 với A4988: chương trình thử vi bước, tăng tốc.
- ESP32 DevKit V1 và Arduino Nano tại PYWORLD làm bo điều khiển.
Xem thêm