0968140191Miền Nam
0975897066Miền Bắc

Đ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

Viết bởi: Vũ Hồng Phúc
Vũ Hồng Phúc
Vũ Hồng Phúc, sinh năm 1985, sau khi tốt nghiệp cử nhân tại Đại Học Bách Khoa Hà Nội, Vũ Hồng Phúc đã tự mình khám phá thế giới qua việc du học tại EF Language School London và nhiều trường đại học khác. Tích lũy kinh nghiệm trong nhiều năm, anh quyết định trở về đất nước. Vũ Hồng Phúc đã hướng đến mục tiêu phát triển Dongco3pha.com là thương hiệu "Động cơ điện" hàng đầu Việt Nam. Trong nhiều năm liền danh liên tục mang lại nhiều thành tựu cho doanh nghiệp và đóng góp nhiều giải pháp tối ưu về chế tạo máy, chế tạo động cơ giảm tốc, động cơ điện.
16 thg 10 2026 16:50

Đ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.

Mạch điều khiển động cơ bước bằng A4988 với Arduino và motor NEMA 17

  • 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.

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ơ VMOT8–35 VDướ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 VDD3–5,5 VDùng được với cả Arduino 5 V và ESP32 3,3 V
Dòng ra tối đa mỗi cuộn±2 AChỉ đạt khi có tản nhiệt và quạt tốt
Dòng thực tế không tản nhiệtkhoảng 1 AMức an toàn cho module trần chạy liên tục
Vi bướcFull, 1/2, 1/4, 1/8, 1/16Chọn bằng MS1, MS2, MS3
Độ rộng xung STEP tối thiểu1 µs mức cao, 1 µs mức thấpTương ứng tần số xung lý thuyết tới khoảng 500 kHz
Ngắt quá nhiệtkhoảng 165 °CTự chạy lại khi nguội khoảng 15 °C
Dải Vref0–4 VVref 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ânChức năngCách đấu thường dùng
ENABLEMứ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, MS3Chọn chế độ vi bướcNối VDD hoặc GND theo bảng vi bước; để trống là bước đủ
RESETMức thấp: đưa bộ dịch về vị trí gốc, ngắt ngõ raKhông có điện trở kéo, bắt buộc nối với SLEEP hoặc VDD
SLEEPMức thấp: chế độ ngủ, tắt hoàn toànThường nối tắt với RESET
STEPMỗi cạnh lên là một bước/vi bướcChân số của vi điều khiển
DIRChọn chiều quayChân số của vi điều khiển
VMOT, GNDNguồn động cơ 8–35 VKèm tụ hóa 47–100 µF sát chân
2B, 2A, 1A, 1BNgõ ra hai cuộn dây1A–1B là một cuộn, 2A–2B là cuộn còn lại
VDD, GNDNguồn logic 3–5,5 VLấ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.

MS1MS2MS3Chế độSố bước/vòng (motor 1,8°)
LLLBước đủ (full step)200
HLLNửa bước (1/2)400
LHL1/4 bước800
HHL1/8 bước1.600
HHH1/16 bước3.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.

Bảng chế độ vi bước MS1 MS2 MS3 của driver A4988

  • 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ở RsCông thức VrefMã in thường gặpVref cho 1,0 AVref cho 1,5 A
0,05 ΩVref = 0,4 × IR0500,40 V0,60 V
0,068 ΩVref = 0,544 × IR0680,54 V0,82 V
0,1 ΩVref = 0,8 × IR1000,80 V1,20 V
0,2 ΩVref = 1,6 × IR2001,60 V2,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átDòng mỗi cuộn chạy liên tụcGhi chú
Module trần, hộp kín0,6–0,8 ANhiệt độ trong hộp làm giảm khả năng tải
Module trần, không khí thoángkhoảng 1 AMức khuyến cáo của nhà sản xuất board
Tản nhiệt nhôm dán mặt trên1,2–1,3 AKeo tản nhiệt phải không dẫn điện
Tản nhiệt và quạt thổi trực tiếp1,5 A, gần 2 A khi làm mát rất tốtMứ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ứngNguyên nhân thường gặpCá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 0Nố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ạiChip quá nhiệt, ngắt bảo vệ ở khoảng 165 °CHạ Vref, thêm tản nhiệt và quạt
Quay đúng nhưng yếu, dễ trượtVref thấp so với tải; nguồn VMOT thấpTă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ênBộ băm dòng làm việc ở dải tần nghe được, đặc biệt ở dòng giữ caoGiả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ướcKhô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ạnDIR để trống hoặc nhiễu; GND logic và GND nguồn không chungNối chung GND; dây tín hiệu ngắn, xoắn với GND

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 ápDòng mỗi cuộnVi bướcKhi nên chọn thay A4988
A49888–35 Vkhoảng 1 A trần, 2 A tối đa1/16Mức cơ bản, dễ chỉnh, rẻ
DRV88258,2–45 Vkhoảng 1,5 A trần, 2,2 A tối đa1/32Cần nguồn cao hơn hoặc dòng nhỉnh hơn, cùng chân cắm
TMC22084,75–36 Vkhoảng 1,2 A RMSNội suy tới 1/256Cầ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/32Motor 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.

4.205 reviews

Tin tức liên quan

Hộp giảm tốc harmonic: thông số, model CSF, SHF và cách chọn

Hộp giảm tốc harmonic: thông số, model CSF, SHF và cách chọn

14 thg 10 2026 15:12

Hộp giảm tốc harmonic (strain wave) size 14 – 32, tỉ số 1/50 – 1/120, mô men 5,4 – 137 Nm. Cách đọc tem, phân loại CSF, CSG, SHF-2UH, SHF-2UJ, SHF-2SO, SHD-2SH và cách chọn theo servo.
Đọc tiếp
Khám phá Bí Quyết Điều Khiển Động Cơ RC Servo Chính Xác Bằng STM32F4

Khám phá Bí Quyết Điều Khiển Động Cơ RC Servo Chính Xác Bằng STM32F4

15 thg 4 2025 20:44

Điều khiển động cơ RC Servo bằng STM32F4 mang đến độ chính xác cao và khả năng tùy chỉnh tín hiệu PWM tối ưu. Bài viết này hướng dẫn từ cấu hình bộ định thời, lập trình tín hiệu PWM, đến tối ưu hóa hiệu suất động cơ. Đây là giải pháp lý tưởng cho kỹ sư điện, kỹ sư cơ khí và các doanh nghiệp công nghiệp.
Đọc tiếp
Điều khiển động cơ RC servo bằng PWM: chu kỳ, độ rộng xung và cách tạo xung bằng timer

Điều khiển động cơ RC servo bằng PWM: chu kỳ, độ rộng xung và cách tạo xung bằng timer

10 thg 10 2026 17:36

Điều khiển động cơ RC servo bằng PWM: chu kỳ 20 ms, độ rộng xung 500–2500 µs, tính prescaler cho AVR, STM32, ESP32, PCA9685, mạch 555 và cách đo kiểm.
Đọc tiếp
Cách Điều Khiển Động Cơ DC Servo Chính Xác Bằng Giải Thuật PID

Cách Điều Khiển Động Cơ DC Servo Chính Xác Bằng Giải Thuật PID

12 thg 10 2026 08:32

Điều khiển động cơ DC Servo bằng giải thuật PID mang lại sự ổn định và hiệu suất cao cho hệ thống công nghiệp. Tìm hiểu cách áp dụng Proportional-Integral-Derivative, vi điều khiển và encoder để tối ưu hóa tốc độ và vị trí của động cơ. Phương pháp này được sử dụng rộng rãi trong robot, dây chuyền sản xuất và các hệ thống tự động hóa.
Đọc tiếp
Điều khiển động cơ DC servo: vòng dòng – tốc độ – vị trí, PID, encoder và cầu H

Điều khiển động cơ DC servo: vòng dòng – tốc độ – vị trí, PID, encoder và cầu H

12 thg 10 2026 08:32

Hướng dẫn điều khiển động cơ DC servo: 3 vòng dòng – tốc độ – vị trí, đọc encoder x4, cầu H BTS7960/VNH5019, PWM 20 kHz, chỉnh PID và code Arduino mẫu.
Đọc tiếp