Điều khiển động cơ bước bằng A4988: sơ đồ chân, chỉnh Vref, vi bước và xử lý lỗi thường gặp
Điều khiển động cơ bước bằng A4988 là cách dùng một module driver nhỏ (chip A4988 của Allegro) nhận hai tín hiệu STEP và DIR từ vi điều khiển, rồi tự cấp dòng cho hai cuộn dây của động cơ bước lưỡng cực. Mỗi xung lên ở chân STEP làm trục quay một bước hoặc một vi bước, mức logic ở chân DIR quyết định chiều quay. Chip làm việc với nguồn động cơ 8–35 V, nguồn logic 3–5,5 V, chia vi bước tới 1/16 và giới hạn dòng tối đa ±2 A mỗi cuộn khi có tản nhiệt tốt; trên module trần không tản nhiệt, mức an toàn thực tế chỉ khoảng 1 A mỗi cuộn.
Phần quyết định một hệ A4988 chạy ổn hay cháy driver không nằm ở dây STEP/DIR, mà ở ba việc: chỉnh đúng điện áp tham chiếu Vref theo điện trở cảm biến Rs của chính board đang dùng, đặt tụ hóa sát chân nguồn VMOT để chặn xung áp, và không bao giờ cắm hoặc rút dây motor khi driver đang có điện. Công thức "dòng = Vref × 2,5" lan truyền trên mạng chỉ đúng với một loại board đời cũ; áp dụng nhầm cho board có Rs 0,1 Ω sẽ làm dòng thực tế lệch gấp đôi.

- Sơ đồ đấu nối cơ bản: Arduino phát xung STEP/DIR, module A4988 cấp dòng cho hai cuộn dây của động cơ bước NEMA 17, nguồn VMOT đi riêng với nguồn logic.
Nội dung
- 1. Driver A4988 là gì và phù hợp với động cơ bước nào
- 2. Sơ đồ chân module A4988 và cách đấu nối
- 3. Chế độ vi bước A4988: bảng MS1, MS2, MS3
- 4. Cách tính và chỉnh Vref A4988 theo điện trở Rs từng loại board
- 5. Tản nhiệt, tụ chống xung và các nguyên nhân cháy driver A4988
- 6. Chân SLEEP, RESET, ENABLE: khi nào dùng, khi nào bỏ
- 7. Lỗi thường gặp khi điều khiển động cơ bước bằng A4988 và cách xử lý
- 8. Khi nào A4988 không còn đủ: so sánh với DRV8825, TMC2208, TB6600
- 9. Câu hỏi thường gặp về điều khiển động cơ bước bằng A4988
1. Driver A4988 là gì và phù hợp với động cơ bước nào
A4988 là IC điều khiển động cơ bước lưỡng cực (bipolar) có sẵn bộ dịch (translator) bên trong. Nhờ bộ dịch này, vi điều khiển không cần tự xuất bốn tín hiệu đóng cắt cho cầu H như khi dùng L298N, mà chỉ cần gửi xung bước và tín hiệu chiều. Chip tích hợp hai cầu H bằng MOSFET, mạch giới hạn dòng kiểu băm xung (chopper) với thời gian tắt cố định, bảo vệ quá nhiệt, bảo vệ thấp áp và chống ngắn mạch xuyên cầu.
Trên thị trường, A4988 gần như luôn được bán dưới dạng module chuẩn kích thước 15 × 20 mm, hai hàng 8 chân, theo chuẩn của Pololu hoặc bản sao StepStick. Đây cũng là chuẩn chân cắm trên CNC Shield, RAMPS và nhiều mainboard máy in 3D đời cũ.
Thông số chính của chip A4988
| Thông số | Giá trị | Ghi chú khi lắp đặt |
| Điện áp động cơ VMOT | 8–35 V | Dưới 8 V chip không làm việc ổn định; 12 V và 24 V là hai mức hay dùng |
| Điện áp logic VDD | 3–5,5 V | Dùng được với cả Arduino 5 V và ESP32 3,3 V |
| Dòng ra tối đa mỗi cuộn | ±2 A | Chỉ đạt khi có tản nhiệt và quạt tốt |
| Dòng thực tế không tản nhiệt | khoảng 1 A | Mức an toàn cho module trần chạy liên tục |
| Vi bước | Full, 1/2, 1/4, 1/8, 1/16 | Chọn bằng MS1, MS2, MS3 |
| Độ rộng xung STEP tối thiểu | 1 µs mức cao, 1 µs mức thấp | Tương ứng tần số xung lý thuyết tới khoảng 500 kHz |
| Ngắt quá nhiệt | khoảng 165 °C | Tự chạy lại khi nguội khoảng 15 °C |
| Dải Vref | 0–4 V | Vref quyết định dòng giới hạn |
Loại động cơ dùng được với A4988
A4988 chỉ cấp được cho động cơ bước hai pha lưỡng cực: loại 4 dây, loại 6 dây bỏ dây trung tâm, hoặc loại 8 dây đấu thành hai cuộn. Phổ biến nhất là NEMA 17 (vd mã 17HS4401: 1,7 A/pha, khoảng 1,5 Ω, khoảng 2,8 mH), NEMA 14 và các motor bước nhỏ tháo từ máy in. Nếu chưa rõ dây nào thuộc cuộn nào, hãy xác định dây động cơ bước bằng đồng hồ vạn năng trước khi đấu, vì đấu lẫn hai cuộn là nguyên nhân hàng đầu của hiện tượng motor rung tại chỗ. Motor đơn cực 5 dây như 28BYJ-48 không chạy trực tiếp với A4988 nếu chưa cải sang lưỡng cực, chi tiết xem bài điều khiển động cơ bước 5 dây.
2. Sơ đồ chân module A4988 và cách đấu nối
Module A4988 có 16 chân chia hai hàng. Hàng bên trái là các chân tín hiệu logic, hàng bên phải là nguồn và ngõ ra động cơ. Thứ tự chân dưới đây theo chuẩn Pololu/StepStick; một số board sao chép in nhãn ở mặt dưới, nên hãy lật board đối chiếu trước khi cắm.
| Chân | Chức năng | Cách đấu thường dùng |
| ENABLE | Mức thấp: bật ngõ ra; mức cao: ngắt dòng các cuộn | Để trống (đã có điện trở kéo xuống) hoặc nối chân số để tắt motor khi nghỉ |
| MS1, MS2, MS3 | Chọn chế độ vi bước | Nối VDD hoặc GND theo bảng vi bước; để trống là bước đủ |
| RESET | Mức thấp: đưa bộ dịch về vị trí gốc, ngắt ngõ ra | Không có điện trở kéo, bắt buộc nối với SLEEP hoặc VDD |
| SLEEP | Mức thấp: chế độ ngủ, tắt hoàn toàn | Thường nối tắt với RESET |
| STEP | Mỗi cạnh lên là một bước/vi bước | Chân số của vi điều khiển |
| DIR | Chọn chiều quay | Chân số của vi điều khiển |
| VMOT, GND | Nguồn động cơ 8–35 V | Kèm tụ hóa 47–100 µF sát chân |
| 2B, 2A, 1A, 1B | Ngõ ra hai cuộn dây | 1A–1B là một cuộn, 2A–2B là cuộn còn lại |
| VDD, GND | Nguồn logic 3–5,5 V | Lấy từ 5 V hoặc 3,3 V của vi điều khiển |
- STEP và DIR không có điện trở kéo bên trong; để trống thì nhiễu có thể làm motor tự giật.
- Hai chân GND trên module đã nối chung, nhưng vẫn phải nối GND nguồn động cơ với GND của vi điều khiển.
- Chân RESET để trống là lỗi rất hay gặp: driver lúc chạy lúc không, motor không giữ lực.
Trình tự đấu nối an toàn
- Đấu dây motor vào 1A, 1B, 2A, 2B khi mọi nguồn đã ngắt. Kiểm tra bằng đồng hồ: điện trở giữa 1A–1B và giữa 2A–2B phải bằng điện trở một cuộn, giữa 1A và 2A phải hở mạch.
- Nối tắt RESET với SLEEP bằng một cầu dây ngắn.
- Nối VDD và GND logic, STEP, DIR, sau đó mới đến MS1–MS3 nếu dùng vi bước.
- Gắn tụ hóa 100 µF (điện áp chịu tối thiểu 1,5 lần VMOT, vd 35 V cho nguồn 24 V) song song VMOT–GND, càng sát module càng tốt, đúng cực.
- Cấp nguồn logic trước, chỉnh Vref, rồi mới cấp VMOT và cho chạy thử.
Phần lập trình phát xung STEP/DIR, chọn thư viện và chạy nhiều motor cùng lúc nằm trong bài điều khiển động cơ bước bằng Arduino; ở đây chỉ cần nhớ ba mốc thời gian của A4988: xung STEP rộng tối thiểu 1 µs, tín hiệu DIR và MS phải ổn định trước cạnh lên STEP ít nhất 200 ns, và sau khi thoát chế độ ngủ phải chờ 1 ms rồi mới gửi bước đầu tiên.
Video dưới đây cho thấy một động cơ bước được đấu điện và chạy thực tế, giúp hình dung rõ chuyển động theo từng bước của trục.
3. Chế độ vi bước A4988: bảng MS1, MS2, MS3
Vi bước là cách driver chia một bước đủ thành nhiều bước nhỏ bằng cách cấp dòng hai cuộn theo các mức xấp xỉ hình sin. Với motor góc bước 1,8° (200 bước/vòng), A4988 cho tối đa 3.200 vi bước mỗi vòng ở chế độ 1/16.
| MS1 | MS2 | MS3 | Chế độ | Số bước/vòng (motor 1,8°) |
| L | L | L | Bước đủ (full step) | 200 |
| H | L | L | Nửa bước (1/2) | 400 |
| L | H | L | 1/4 bước | 800 |
| H | H | L | 1/8 bước | 1.600 |
| H | H | H | 1/16 bước | 3.200 |
- L là nối GND hoặc để trống (module đã có điện trở kéo xuống: 100 kΩ ở MS1, MS3 và 50 kΩ ở MS2), H là nối VDD.
- Chế độ mới chỉ có hiệu lực từ cạnh lên STEP kế tiếp, có thể đổi khi đang chạy.
- Trên CNC Shield, ba jumper dưới mỗi khe driver chính là MS1–MS3; cắm đủ ba jumper là 1/16.

- Tổ hợp mức logic MS1, MS2, MS3 tương ứng các chế độ bước đủ, 1/2, 1/4, 1/8 và 1/16 của driver A4988.
Chọn vi bước thế nào cho hợp lý
Vi bước 1/16 làm motor chạy êm và giảm rung ở tốc độ thấp rõ rệt, nhưng không làm motor chính xác hơn theo nghĩa tuyệt đối, vì sai số góc của chính motor và tải vẫn còn đó. Đổi lại, cùng một tốc độ quay, số xung cần phát tăng 16 lần: muốn đạt 600 vòng/phút ở 1/16 với motor 200 bước, vi điều khiển phải phát 32.000 xung/giây, mức mà Arduino Uno dùng thư viện thông thường khó giữ đều. Vì vậy 1/8–1/16 hợp cho máy in 3D, máy vẽ, cơ cấu chạy chậm cần êm; 1/2–1/4 hợp cho trục cần tốc độ cao mà bộ phát xung yếu.
Vì sao chạy vi bước ở dòng thấp vẫn bị "nhảy cóc"
Bộ giới hạn dòng của A4988 có thời gian xóa (blanking) khoảng 1 µs, tức mỗi chu kỳ băm phải bật cầu H ít nhất chừng ấy thời gian. Với motor điện cảm thấp, điện áp nguồn cao và dòng đặt rất nhỏ, dòng tăng quá nhanh trong 1 µs đó nên driver không giữ được các mức dòng thấp gần điểm qua 0 của dạng sóng sin. Kết quả là một số vi bước bị dồn lại, motor chạy giật nhẹ theo chu kỳ dù xung phát đều. Cách khắc phục: hạ điện áp VMOT (vd từ 24 V xuống 12 V với motor nhỏ), hoặc chọn motor có điện cảm cao hơn, hoặc chuyển sang driver có bộ điều dòng tốt hơn.
4. Cách tính và chỉnh Vref A4988 theo điện trở Rs từng loại board
Vref là điện áp lấy ra từ biến trở nhỏ trên module, đưa vào chip để đặt ngưỡng dòng tối đa mỗi cuộn. Công thức gốc của chip:
I max = Vref / (8 × Rs), hay Vref = 8 × I max × Rs
Trong đó Rs là điện trở cảm biến dòng hàn trên module (hai con điện trở dán nhỏ cạnh chip, một con mỗi cuộn). Giá trị Rs khác nhau giữa các nhà sản xuất, nên phải đọc mã in trên điện trở trước khi tính:
| Điện trở Rs | Công thức Vref | Mã in thường gặp | Vref cho 1,0 A | Vref cho 1,5 A |
| 0,05 Ω | Vref = 0,4 × I | R050 | 0,40 V | 0,60 V |
| 0,068 Ω | Vref = 0,544 × I | R068 | 0,54 V | 0,82 V |
| 0,1 Ω | Vref = 0,8 × I | R100 | 0,80 V | 1,20 V |
| 0,2 Ω | Vref = 1,6 × I | R200 | 1,60 V | 2,40 V |
- Board Pololu đời cũ dùng 0,05 Ω (đây là nguồn gốc công thức "I = Vref × 2,5"); board Pololu sản xuất mới dùng 0,068 Ω.
- Đa số module A4988 giá rẻ dạng StepStick dùng R100 (0,1 Ω); một số bản StepStick đời đầu dùng R200.
- Cùng Vref 0,8 V: board R050 cho 2 A, board R100 chỉ cho 1 A. Không đọc Rs là chỉnh sai.
- Mã "R100" nghĩa là 0,100 Ω, không phải 100 Ω.
Đặt dòng bao nhiêu là đủ
Dòng ghi trên tem motor là dòng định mức mỗi pha. Nguyên tắc an toàn là đặt dòng giới hạn khoảng 70–90% dòng định mức motor, đồng thời không vượt khả năng tản nhiệt của module. Ví dụ với motor 17HS4401 (1,7 A/pha) trên board R100:
- Module trần, không quạt: đặt khoảng 1,0 A → Vref ≈ 0,80 V. Motor mất một phần mô-men nhưng driver không ngắt nhiệt.
- Có tản nhiệt nhôm và quạt thổi: đặt 1,2–1,4 A → Vref ≈ 0,96–1,12 V.
- Không nên đặt đủ 1,7 A cho A4988 chạy liên tục: chip sẽ chạm ngưỡng 165 °C và tự ngắt, motor mất bước giữa chừng.
Cách đo Vref đúng
- Cấp nguồn logic VDD cho module (trên đa số module, Vref lấy từ VDD qua biến trở nên chỉ cần VDD là đo được), motor có thể chưa đấu.
- Que đen đồng hồ đặt vào GND logic, que đỏ chạm vào thân kim loại của biến trở hoặc điểm via ghi "VREF".
- Xoay biến trở bằng tua vít nhựa hoặc tua vít gốm; nếu dùng tua vít kim loại, kẹp que đỏ vào thân tua vít để vừa xoay vừa đọc.
- Xoay từng chút, mỗi lần khoảng 1/8 vòng. Biến trở trên nhiều board sao chép không có điểm chặn: vặn quá đầu thì Vref nhảy từ cực đại về 0 hoặc ngược lại.
- Đo lại Vref mỗi khi đổi nguồn logic (vd từ 5 V của cổng USB sang 5 V của bộ ổn áp), vì Vref tỉ lệ với VDD.
Tuyệt đối không để tua vít kim loại chạm chân VMOT và chân ra motor trong lúc chỉnh khi VMOT đang có điện: chạm chập một lần đủ làm cháy chip.
Kiểm tra lại bằng dòng thực đo
Cách kiểm tra chéo là mắc ampe kế nối tiếp với một cuộn dây motor, để driver ở chế độ bước đủ và không gửi xung. Ở bước đủ, cả hai cuộn chỉ được cấp khoảng 70% dòng giới hạn (vị trí gốc của bộ dịch ứng với 70,71% ở mỗi cuộn). Như vậy đặt giới hạn 1,4 A thì đồng hồ chỉ khoảng 1 A là đúng; khi chạy vi bước, dòng một cuộn có lúc lên đủ 1,4 A. Không đo dòng ở dây nguồn vào VMOT: dòng nguồn luôn nhỏ hơn dòng cuộn dây vì driver hoạt động như bộ hạ áp băm xung.
5. Tản nhiệt, tụ chống xung và các nguyên nhân cháy driver A4988
Tản nhiệt: dòng thực tế phụ thuộc cách làm mát
Chip A4988 thải nhiệt chủ yếu qua miếng đệm kim loại dưới bụng, xuống mạch in, chứ không phải qua mặt trên. Vì vậy miếng tản nhiệt nhôm dán mặt trên chỉ giúp được một phần; luồng gió thổi được cả hai mặt module mới thực sự hiệu quả. Board 4 lớp đồng (như bản Black Edition) chịu thêm được khoảng 0,2 A so với board 2 lớp ở cùng điều kiện.
| Điều kiện làm mát | Dòng mỗi cuộn chạy liên tục | Ghi chú |
| Module trần, hộp kín | 0,6–0,8 A | Nhiệt độ trong hộp làm giảm khả năng tải |
| Module trần, không khí thoáng | khoảng 1 A | Mức khuyến cáo của nhà sản xuất board |
| Tản nhiệt nhôm dán mặt trên | 1,2–1,3 A | Keo tản nhiệt phải không dẫn điện |
| Tản nhiệt và quạt thổi trực tiếp | 1,5 A, gần 2 A khi làm mát rất tốt | Mức trên 1,5 A nên đo nhiệt chip |
- Các mức trên là định hướng thực tế cho board 2 lớp phổ biến, board sao chép thường nóng hơn board gốc ở cùng dòng.
- Ngón tay không giữ nổi trên chip quá 2 giây nghĩa là chip đã trên 60–70 °C ở vỏ, cần hạ dòng hoặc thêm quạt.
- Không để miếng tản nhiệt chạm vào chân biến trở hoặc chân linh kiện xung quanh.
Tụ 100 µF: không lắp là có thể cháy ngay lần cấp điện đầu
Module A4988 dùng tụ gốm điện trở nối tiếp rất thấp. Khi cấp nguồn bằng dây dài, điện cảm của dây và tụ gốm tạo thành mạch cộng hưởng LC, khiến điện áp tại chân VMOT vọt lên gần gấp đôi trong khoảnh khắc đóng điện. Với nguồn 24 V, xung có thể vượt ngưỡng 35 V của chip; ngay cả với nguồn 12 V, dây dài và đóng điện bằng công tắc cơ vẫn có thể gây hỏng. Một tụ hóa tối thiểu 47 µF, tốt nhất 100 µF, đặt sát chân VMOT–GND sẽ hấp thụ xung này. CNC Shield và mainboard máy in đã có tụ sẵn trên mạch, còn khi đấu module rời trên breadboard thì phải tự gắn.
Rút cắm motor khi đang có điện
Ngắt dây motor khi cuộn dây đang có dòng làm năng lượng tích trong điện cảm cuộn dây phóng ngược về cầu H dưới dạng xung áp cao, đủ phá hỏng MOSFET trong chip. Lỗi này thường xảy ra khi rút giắc motor để kiểm tra, giắc lỏng do rung, hoặc dây motor đứt ngầm trong xích dẫn dây. Quy tắc bắt buộc: ngắt VMOT, chờ vài giây cho tụ xả, rồi mới tháo hoặc cắm giắc motor.
Các nguyên nhân cháy driver khác
- Đấu ngược cực nguồn VMOT hoặc cắm ngược module 180° trên đế (chân VMOT rơi vào vị trí chân logic).
- Motor bị quay mạnh bằng tay hoặc do quán tính tải khi driver tắt: motor lúc này thành máy phát, đẩy điện áp ngược về VMOT.
6. Chân SLEEP, RESET, ENABLE: khi nào dùng, khi nào bỏ
ENABLE: mức cao ngắt toàn bộ cầu H, motor được thả tự do, không còn mô-men giữ. Bộ dịch bên trong vẫn đếm xung STEP nên vị trí điện vẫn chạy theo xung. Dùng ENABLE để tắt dòng khi máy nghỉ lâu, giúp motor và driver nguội; chỉ áp dụng khi tải không tự trôi (trục đứng mang tải, trục vít me nghiêng có thể tụt xuống khi mất mô-men giữ).
SLEEP: mức thấp tắt cả cầu H, bộ điều dòng và bơm điện tích, dòng tiêu thụ gần như bằng 0. Phù hợp cho thiết bị chạy pin. Sau khi đưa SLEEP lên mức cao phải chờ 1 ms cho bơm điện tích ổn định rồi mới phát bước.
RESET: mức thấp đưa bộ dịch về vị trí gốc (cả hai cuộn 70,71% dòng giới hạn) và ngắt ngõ ra. Vì RESET trên module không có điện trở kéo, cách đấu phổ biến nhất là nối tắt RESET với SLEEP: SLEEP đã có điện trở kéo lên trên board nên cả hai cùng ở mức cao, driver luôn hoạt động.
Một chi tiết ít người để ý: sau mỗi lần bật lại nguồn, RESET hoặc thức dậy từ SLEEP, bộ dịch về vị trí gốc chứ không nhớ vi bước cũ, nên trục có thể giật nhẹ tối đa vài bước đủ. Với máy cần giữ vị trí tuyệt đối, sau mỗi lần như vậy cần chạy về gốc lại, nội dung này được trình bày trong bài điều khiển vị trí động cơ bước.
7. Lỗi thường gặp khi điều khiển động cơ bước bằng A4988 và cách xử lý
| Triệu chứng | Nguyên nhân thường gặp | Cách xử lý |
| Motor rung, kêu nhưng không quay | Đấu lẫn dây hai cuộn; tần số xung quá cao khi khởi động | Đo lại cặp cuộn dây; giảm tốc độ, thêm gia tốc |
| Motor không quay, không có lực giữ | RESET để trống; ENABLE mức cao; thiếu VMOT; Vref gần 0 | Nối RESET–SLEEP; đo VMOT, đo Vref |
| Chạy được một lúc rồi giật, mất bước, tự chạy lại | Chip quá nhiệt, ngắt bảo vệ ở khoảng 165 °C | Hạ Vref, thêm tản nhiệt và quạt |
| Quay đúng nhưng yếu, dễ trượt | Vref thấp so với tải; nguồn VMOT thấp | Tăng Vref trong giới hạn nhiệt; dùng 24 V thay 12 V |
| Kêu rít, "huýt" khi đứng yên | Bộ băm dòng làm việc ở dải tần nghe được, đặc biệt ở dòng giữ cao | Giảm dòng khi nghỉ bằng ENABLE; chấp nhận hoặc đổi driver êm |
| Chạy giật theo chu kỳ ở tốc độ chậm khi vi bước | Không điều được dòng thấp (motor điện cảm thấp, VMOT cao) | Hạ VMOT, tăng điện cảm motor hoặc đổi driver |
| Đảo chiều khi không ra lệnh, chạy loạn | DIR để trống hoặc nhiễu; GND logic và GND nguồn không chung | Nối chung GND; dây tín hiệu ngắn, xoắn với GND |
- Mọi thao tác đổi dây motor chỉ làm khi đã ngắt VMOT.
- Mất bước ở tốc độ cao do đường cong mô-men và cộng hưởng là vấn đề riêng, xem bài điều khiển tốc độ động cơ bước.
Vì sao driver A4988 kêu to hơn TMC2208
A4988 điều dòng bằng chu kỳ băm có thời gian tắt cố định khoảng 30 µs, kết hợp tự động giữa suy giảm chậm (khi dòng bậc kế tiếp tăng hoặc giữ nguyên) và suy giảm hỗn hợp (khi dòng giảm, gồm khoảng 31,25% thời gian tắt ở chế độ suy giảm nhanh). Cơ chế này đơn giản và bền, nhưng dòng cuộn dây có độ gợn lớn, tạo tiếng rít và tiếng "rè" khi motor chạy chậm. Trên module phổ biến, chân chọn thời gian tắt ROSC đã được hàn cố định nên người dùng không chỉnh decay được như một số driver khác. Nếu tiếng ồn là tiêu chí chính (máy in 3D trong phòng ngủ, thiết bị y tế, máy trưng bày), cần chuyển sang driver có chế độ chạy êm thay vì cố chỉnh A4988.
Nhận biết module A4988 giả, kém chất lượng
Phần lớn module bán lẻ là bản sao StepStick, chất lượng chênh lệch nhiều. Các dấu hiệu cần kiểm tra khi nhận hàng:
- Đọc mã in trên chip: chip Allegro thật có logo và dòng chữ A4988 kèm mã lô; chữ mờ, lệch, mặt chip bóng như mài lại là dấu hiệu đáng ngờ.
- Đọc mã điện trở Rs (R050, R068, R100, R200) để biết công thức Vref, không tin nhãn ghi trên túi hàng.
- Nhìn mặt dưới: có lỗ via tản nhiệt dày dưới vị trí chip là tốt; mạch thiếu via thì tản nhiệt kém, dễ ngắt nhiệt ở 1 A.
- Chạy thử 15–20 phút ở dòng dự kiến, theo dõi nhiệt: module tốt ổn định nhiệt độ, module kém tăng nhiệt liên tục rồi ngắt.
8. Khi nào A4988 không còn đủ: so sánh với DRV8825, TMC2208, TB6600
A4988 hợp cho motor NEMA 17 dòng đến khoảng 1,5 A, tải nhẹ, chi phí thấp. Khi yêu cầu vượt ra ngoài phạm vi đó, nên đổi phương án thay vì ép A4988 chạy ở giới hạn.
| Driver | Điện áp | Dòng mỗi cuộn | Vi bước | Khi nên chọn thay A4988 |
| A4988 | 8–35 V | khoảng 1 A trần, 2 A tối đa | 1/16 | Mức cơ bản, dễ chỉnh, rẻ |
| DRV8825 | 8,2–45 V | khoảng 1,5 A trần, 2,2 A tối đa | 1/32 | Cần nguồn cao hơn hoặc dòng nhỉnh hơn, cùng chân cắm |
| TMC2208 | 4,75–36 V | khoảng 1,2 A RMS | Nội suy tới 1/256 | Cần chạy êm, gần như không tiếng ồn |
| TB6600 (module hộp nhôm) | khoảng 9–42 V | đến khoảng 3,5–4 A | Đến 1/32 | Motor NEMA 23, ngõ vào cách ly quang, tủ điện công nghiệp |
- DRV8825 thay thẳng vào khe A4988 nhưng công thức Vref khác (I = Vref × 2 với board Rs 0,1 Ω) và chiều chân ENABLE cần kiểm tra lại trên shield.
Khi tải cần mô-men lớn ở tốc độ cao, cần phản hồi vị trí thực để không bao giờ mất bước, hoặc máy chạy liên tục nhiều giờ, giải pháp bền hơn là chuyển sang motor servo AC: bộ motor servo 400W có encoder và driver tự bù sai lệch, vẫn nhận tín hiệu xung STEP/DIR tương tự nên bộ phát xung cũ thường dùng lại được. Nếu ứng dụng chỉ cần quay liên tục với lực kéo lớn, tốc độ chậm và không cần đếm vị trí (băng tải nhỏ, máy khuấy, cơ cấu cuốn), động cơ giảm tốc mini hoặc motor 12V DC kèm bộ điều tốc đơn giản hơn và rẻ hơn nhiều so với motor bước cộng driver.
9. Câu hỏi thường gặp về điều khiển động cơ bước bằng A4988
- A4988 chịu được dòng tối đa bao nhiêu? Chip có giới hạn ±2 A mỗi cuộn, nhưng chỉ đạt khi tản nhiệt và quạt rất tốt. Module trần không tản nhiệt chạy liên tục an toàn khoảng 1 A mỗi cuộn; có tản nhiệt và quạt khoảng 1,5 A. Đặt cao hơn mức làm mát cho phép, chip sẽ chạm ngưỡng 165 °C và tự ngắt, motor mất bước.
- Công thức tính Vref A4988 nào đúng? Công thức gốc là Vref = 8 × I × Rs, trong đó Rs là điện trở cảm biến in trên module. Board R100 (0,1 Ω) có Vref = 0,8 × I, board R068 có Vref = 0,544 × I, board R050 có Vref = 0,4 × I. Công thức "I = Vref × 2,5" chỉ đúng với board Rs 0,05 Ω.
- Motor 17HS4401 1,7 A nên đặt Vref A4988 bao nhiêu? Trên board R100, nếu module chỉ có tản nhiệt nhôm nên đặt khoảng 1,2 A, tương ứng Vref khoảng 0,96 V; module trần đặt khoảng 1 A, Vref 0,8 V. Không nên đặt đủ 1,7 A cho A4988 vì chip sẽ quá nhiệt khi chạy liên tục.
- Có bắt buộc gắn tụ 100 µF cho A4988 không? Khi dùng module rời có dây nguồn dài, tụ hóa 47–100 µF đặt sát VMOT–GND là bắt buộc. Thiếu tụ, xung áp lúc đóng điện có thể vượt 35 V và làm hỏng chip ngay cả khi nguồn chỉ 12 V. Trên CNC Shield và mainboard máy in, tụ thường đã có sẵn.
- Vì sao driver A4988 bị cháy khi rút dây motor? Cuộn dây motor tích năng lượng từ trường; khi ngắt đột ngột lúc đang có dòng, năng lượng này phóng ngược thành xung áp cao vào cầu H và phá MOSFET. Luôn ngắt nguồn VMOT, chờ vài giây rồi mới cắm hoặc rút giắc motor, và kiểm tra giắc không bị lỏng khi máy rung.
- Để trống MS1, MS2, MS3 thì A4988 chạy chế độ gì? Ba chân này có điện trở kéo xuống bên trong nên để trống tương đương mức thấp, driver chạy bước đủ, 200 bước/vòng với motor 1,8°. Nối cả ba lên VDD là 1/16 bước, 3.200 bước/vòng.
- Vì sao motor rung mà không quay khi dùng A4988? Nguyên nhân phổ biến nhất là đấu lẫn dây giữa hai cuộn, tức 1A–1B không phải cùng một cuộn. Nguyên nhân thứ hai là phát xung quá nhanh ngay từ lúc khởi động, không có gia tốc. Đo lại cặp cuộn bằng đồng hồ và thử chạy chậm 50–100 xung/giây để kiểm tra.
- A4988 có chạy được motor NEMA 23 không? Chạy được ở dòng thấp để thử, nhưng NEMA 23 thường cần 2,8–4,2 A mỗi pha nên A4988 chỉ cho một phần nhỏ mô-men định mức. Với máy chạy thật nên dùng driver dạng TB6600 hoặc driver số dòng 4 A trở lên.
- Tại sao A4988 kêu rít khi motor đứng yên? Bộ giới hạn dòng băm xung liên tục để giữ dòng giữ, tạo tiếng rít nhỏ ở dải tần nghe được, nhất là khi Vref đặt cao. Có thể giảm bằng cách hạ dòng hoặc kéo ENABLE lên mức cao khi máy nghỉ (nếu tải không tự trôi), còn muốn êm hẳn thì cần driver có chế độ chạy êm như TMC2208.
Nắm chắc ba điểm: đọc đúng Rs để tính Vref, gắn tụ sát VMOT và không rút cắm motor khi có điện, là đã tránh được phần lớn sự cố khi điều khiển động cơ bước bằng A4988; phần còn lại là chọn dòng đặt vừa với khả năng tản nhiệt của module.






