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

Điều khiển động cơ bước 4 dây: sơ đồ đấu với từng driver, code Arduino và checklist chạy lần đầu

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.
14 thg 10 2026 15:26

Điều khiển động cơ bước 4 dây là việc nối hai cuộn dây của motor vào một driver lưỡng cực (A4988, DRV8825, TMC2209, TB6600, DM542 hoặc L298N), đặt đúng giới hạn dòng, rồi cấp tín hiệu xung để motor quay từng bước. Motor 4 dây gần như luôn là loại lưỡng cực hai pha: mỗi pha là một cuộn dây ra hai đầu, nên không có dây chung và bắt buộc phải dùng mạch cầu H để đảo chiều dòng điện. Đây là loại phổ biến nhất trên máy in 3D, máy CNC mini, máy khắc laser, bàn trượt camera và các cơ cấu định vị nhỏ.

Phần lớn sự cố của người mới không nằm ở motor mà ở khâu đấu nối: lẫn cặp dây, quên giới hạn dòng, thiếu dây mass chung, cắm driver ngược hoặc rút dây khi đang có điện.

Nếu cần hiểu sâu nguyên lý cầu H, công thức chọn điện áp nguồn theo điện cảm hay cộng hưởng tầng giữa, xem bài động cơ bước lưỡng cực; phần cấu hình nâng cao như băm dòng, chế độ decay, StealthChop, UART của driver TMC nằm ở bài điều khiển động cơ bước lưỡng cực. Bài này tập trung vào việc làm cho motor chạy được, chạy đúng và chạy bền.

1. Động cơ bước 4 dây cần những gì để chạy được

Một motor bước 4 dây không thể chạy khi cấp thẳng điện một chiều: cấp nguồn vào một cuộn chỉ làm trục bị khóa cứng ở một vị trí. Muốn trục quay, dòng điện trong hai cuộn phải được đảo chiều luân phiên theo trình tự, và việc đó do driver đảm nhiệm. Một hệ điều khiển động cơ bước 4 dây tối thiểu gồm năm thành phần:

Thành phầnVai tròLựa chọn thường gặp
Motor 4 dâyBiến xung thành góc quayNEMA 17, NEMA 23, motor PM tròn 15–35 mm
Driver lưỡng cựcĐảo chiều dòng trong hai cuộn, giới hạn dòngA4988, DRV8825, TMC2209, TB6600, DM542, L298N
Nguồn motorCấp năng lượng cho cuộn dâyNguồn tổ ong 12 V, 24 V, 36 V, 48 V DC
Bộ phát xungRa lệnh số bước, chiều quayArduino, ESP32, board máy in 3D, PLC, bộ phát xung rời
Dây và đầu nốiTruyền dòng motor và tín hiệuCáp 4 lõi, giắc XH2.54, PH2.0, cọc vít

Motor 4 dây trên thị trường chủ yếu là hybrid 1,8° (200 bước/vòng) dạng vuông như NEMA 17, NEMA 23; một phần nhỏ là motor nam châm vĩnh cửu thân tròn tháo từ ổ đĩa quang, máy in, máy ảnh với góc bước 7,5° hoặc 18°. Cả hai đều điều khiển giống nhau, chỉ khác dòng và điện áp. Tổng quan các họ motor có trong bài động cơ bước.

2. Tìm hai cặp cuộn dây của động cơ bước 4 dây

Việc đầu tiên khi đấu dây động cơ bước 4 dây là chia bốn sợi thành hai cặp, mỗi cặp là hai đầu của cùng một cuộn. Màu dây không thống nhất giữa các hãng, nên luôn kiểm chứng bằng đo trước khi đưa vào driver.

Ba cách nhận cặp nhanh

  • Đồng hồ vạn năng thang Ω: hai dây cùng cuộn cho vài ohm (thường 1–5 Ω với NEMA 17, 0,4–2 Ω với NEMA 23, 10–80 Ω với motor PM nhỏ); hai dây khác cuộn cho kết quả hở mạch.
  • Chập dây và xoay trục: chập hai dây bất kỳ rồi vặn trục bằng tay; nếu trục nặng hẳn, có cảm giác lợn cợn thì đó là một cặp.
  • Đèn LED: nối một đèn LED vào hai dây rồi xoay trục nhanh; LED chớp sáng nghĩa là hai dây cùng cuộn, vì motor đang phát điện.

Phương pháp đo chi tiết, cách xử lý motor 6 dây và 8 dây khi muốn dùng như 4 dây đã có trong bài về động cơ bước lưỡng cực ở trên; với motor 6 dây cần đấu kiểu nửa cuộn hay cả cuộn vào từng loại mạch, xem bài điều khiển động cơ bước 6 dây.

Sơ đồ màu dây động cơ bước 4 dây NEMA 17: cặp đỏ – xanh lá là một cuộn, cặp vàng – xanh dương là cuộn còn lại

Các bộ màu dây hay gặp trên motor 4 dây

Kiểu màu dâyCuộn ACuộn BGhi chú
Đen – Xanh lá / Đỏ – Xanh dươngĐen, Xanh láĐỏ, Xanh dươngPhổ biến trên NEMA 17, NEMA 23 hàng phổ thông
Đỏ – Xanh lá / Vàng – Xanh dươngĐỏ, Xanh láVàng, Xanh dươngNhư hình minh họa phía trên
Cáp rời có giắcTheo thứ tự chân giắcTheo thứ tự chân giắcCáp mỗi nơi bấm một kiểu, phải đo ở đầu cáp

Motor có giắc 6 chân nhưng chỉ ra 4 dây

Nhiều motor NEMA 17 dùng giắc 6 chân ở thân motor nhưng chỉ có 4 chân được dùng, thường là chân 1–3 cho một cuộn và 4–6 cho cuộn kia. Cáp nối từ giắc 6 chân sang giắc 4 chân trên board có thể đã đảo thứ tự bên trong. Khi thay motor hoặc thay cáp trên máy in 3D, hãy đo điện trở ở đầu cáp phía board, không đo ở chân motor. Thông số giắc và các chiều dài thân của dòng này có ở bài động cơ bước NEMA 17.

3. Chọn driver theo dòng pha của motor 4 dây

Driver động cơ bước 4 dây phải chịu được dòng pha của motor một cách liên tục, không chỉ ở giá trị đỉnh in trên vỏ. Bảng dưới gom các driver thông dụng theo dải dòng thực dùng (có tản nhiệt bình thường, không quạt cưỡng bức).

Dòng pha trên tem motorDriver phù hợpDải nguồn motorGhi chú thực tế
Đến 0,6 A (motor PM nhỏ, motor điện trở cao)L298N, DRV8833, A49885–12 V (L298N), 8–35 V (A4988)L298N không giới hạn dòng, phải dựa vào điện trở cuộn
0,6 – 1,2 AA4988, TMC2208, TMC22098–35 V; TMC 4,75–29 VMức của đa số NEMA 17 máy in 3D
1,2 – 1,8 ADRV8825, TMC2209 có tản nhiệt và quạt8,2–45 V; TMC 4,75–29 VNEMA 17 thân dài 48–60 mm
1,5 – 3,5 ATB6600, DM5429–42 V (TB6600); 20–50 V (DM542)NEMA 17 lớn, NEMA 23 trên CNC mini
3,5 – 5,6 ADM556 và tương đương20–50 VNEMA 23 thân dài, NEMA 24

Nguyên tắc chọn: dòng định mức liên tục của driver nên lớn hơn dòng đặt khoảng 20–30 %. Một module nhỏ in "2 A" thực tế chỉ giữ ổn định quanh 1–1,5 A khi không có quạt, nên NEMA 17 loại 1,7 A cắm vào A4988 sẽ phải chạy non dòng hoặc làm driver quá nhiệt. Cách tính chi tiết nguồn bao nhiêu vôn, bao nhiêu ampe cho từng size motor có trong bài động cơ bước 2 pha.

Chọn điện áp nguồn ở mức thực hành

  • NEMA 17 với A4988, DRV8825, TMC2209: dùng 12 V cho máy nhỏ, 24 V khi cần tốc độ cao hơn và ít mất bước hơn.
  • NEMA 23 với TB6600, DM542: 24 V là mức khởi đầu, 36 V khi cần chạy nhanh.
  • Không dùng nguồn sát giới hạn tối đa của driver: lúc motor hãm, điện áp hồi về có thể đẩy nguồn vượt ngưỡng; giữ khoảng dư ít nhất 10–15 %.

Khi bài toán chỉ cần quay liên tục ở một tốc độ, không cần dừng đúng vị trí (băng tải nhỏ, máy trộn, quay rang), một động cơ giảm tốc mini kèm bộ điều tốc thường bền và đơn giản hơn hệ step. Ngược lại, khi cần vừa nhanh vừa chính xác và có phản hồi vị trí, nên cân nhắc motor servo thay vì cố tăng điện áp cho step.

4. Sơ đồ đấu động cơ bước 4 dây với từng loại driver

Mọi driver lưỡng cực đều có bốn cọc ra motor chia thành hai kênh. Tên in trên board khác nhau nhưng quy tắc chỉ có một: hai dây cùng cuộn vào cùng một kênh. Bảng quy đổi tên cọc:

DriverKênh cuộn AKênh cuộn BChân tín hiệu chính
A49881A, 1B2A, 2BSTEP, DIR, EN, MS1–MS3, RST, SLP
DRV8825A1, A2B1, B2STEP, DIR, EN, M0–M2, RST, SLP, FLT
TMC2209 (module)A1, A2 (hoặc 1A, 1B)B1, B2 (hoặc 2A, 2B)STEP, DIR, EN, MS1, MS2, PDN/UART
TB6600, DM542A+, A−B+, B−PUL±, DIR±, ENA±
L298NOUT1, OUT2OUT3, OUT4IN1–IN4, ENA, ENB

a. A4988 và DRV8825 trên CNC Shield V3

CNC Shield V3 cắm chồng lên Arduino Uno là cách nhanh nhất để chạy 1–4 motor 4 dây bằng GRBL hoặc code tự viết. Các chân Arduino đã được nối cố định:

Trục trên shieldChân STEPChân DIRChân EN (chung)
XD2D5D8
YD3D6D8
ZD4D7D8
A (nhân bản)Theo jumper chọn X/Y/Z hoặc D12Theo jumper chọn X/Y/Z hoặc D13D8

Trình tự lắp

  • Cắm driver vào khe sao cho chân EN của module trùng chữ EN in trên shield. A4988 và DRV8825 có biến trở nằm ở hai phía ngược nhau, vì vậy căn theo chân EN chứ không căn theo vị trí biến trở.
  • Motor cắm vào cụm bốn chân cạnh khe driver, thứ tự chân trên shield là 2B, 2A, 1A, 1B: một cặp cuộn ở hai chân ngoài cùng bên này, cặp còn lại ở hai chân bên kia.
  • Nguồn motor 12–24 V đưa vào cọc vít xanh, đúng cực tính. Nguồn này không nuôi Arduino; Arduino vẫn cần cáp USB hoặc jack nguồn riêng.
  • Chân D8 (EN) phải ở mức thấp thì driver mới cấp dòng. GRBL tự làm việc này; khi viết code riêng phải tự đặt D8 xuống LOW.

Jumper vi bước dưới mỗi driver

MS1/M0MS2/M1MS3/M2A4988DRV8825
Không cắmKhông cắmKhông cắmBước đủBước đủ
CắmKhông cắmKhông cắm1/21/2
Không cắmCắmKhông cắm1/41/4
CắmCắmKhông cắm1/81/8
CắmCắmCắm1/161/32

Khi chạy thử lần đầu, nên cắm cả ba jumper (1/16 với A4988, 1/32 với DRV8825) để motor êm, nhưng nhớ nhân số xung tương ứng trong code.

Đấu A4988, DRV8825 rời trên breadboard

Khi không dùng shield, đấu như sau: VMOT và GND nguồn motor (kèm tụ 100 µF sát chân), VDD và GND nối 5 V hoặc 3,3 V của vi điều khiển (DRV8825 không có chân VDD vì tự lấy nguồn logic từ VMOT), STEP và DIR vào hai chân số bất kỳ, RST nối thẳng với SLP để driver luôn thức, EN để trống hoặc nối chân điều khiển. Mass nguồn motor và mass vi điều khiển phải nối chung.

b. TMC2209 dạng module cắm

TMC2209 có cùng kiểu chân với A4988 nên cắm được vào CNC Shield và các board máy in 3D, nhưng có ba khác biệt cần nhớ khi điều khiển động cơ bước 4 dây:

  • Chỉ có hai chân chọn vi bước MS1, MS2: để cả hai ở mức thấp là 1/8; MS1 cao là 1/32; MS2 cao là 1/64; cả hai cao là 1/16. Driver tự nội suy lên 256 vi bước bên trong nên motor vẫn rất êm ở 1/8 hoặc 1/16.
  • Vị trí jumper thứ ba trên CNC Shield trùng chân PDN/UART của TMC2209; để trống vị trí này trừ khi tài liệu module ghi rõ cách dùng.
  • Nguồn motor tối đa khoảng 29 V; không cắm TMC2209 vào máy đang chạy nguồn 36 V như với DRV8825.

Ở chế độ chạy độc lập, dòng đặt bằng biến trở; khi đã cấu hình qua UART thì giá trị dòng trong phần mềm mới có hiệu lực.

c. TB6600 dạng hộp

Driver hộp TB6600 cách ly tín hiệu bằng opto, hợp với NEMA 17 lớn và NEMA 23. Đấu motor 4 dây: cặp cuộn thứ nhất vào A+, A−, cặp thứ hai vào B+, B−; nguồn DC vào VCC, GND.

Cọc TB6600Nối với Arduino (chung cathode)Nối với PLC ngõ ra NPN (chung anode)
PUL+Chân STEP của Arduino+24 V qua điện trở 2 kΩ hoặc nguồn 5 V
PUL−GND ArduinoNgõ ra xung của PLC
DIR+Chân DIR của Arduino+24 V qua điện trở 2 kΩ hoặc nguồn 5 V
DIR−GND ArduinoNgõ ra chiều của PLC
ENA+ / ENA−Để trống (motor luôn được cấp dòng)Để trống hoặc nối ngõ ra cho phép

Bảng công tắc DIP, cách đặt dòng thật so với nhãn và bảng sự cố riêng của module này nằm ở bài mạch điều khiển động cơ bước TB6600.

d. DM542 và driver số tương đương

DM542 cũng dùng cọc PUL±, DIR±, ENA±, A±, B± nên đấu motor 4 dây giống hệt TB6600, nhưng có vài điểm khác: dải nguồn 20–50 V DC (không chạy ở 12 V), dòng đỉnh đặt được tới khoảng 4,2 A, và có chức năng tự giảm dòng khi đứng yên chọn bằng công tắc. Bảng dòng trên vỏ DM542 thường có hai cột Peak và RMS; motor ghi 2,8 A trên tem thì chọn theo cột RMS gần nhất. Ngõ vào tín hiệu thường thiết kế cho 5 V; một số bản có công tắc hoặc chân riêng cho 24 V, nếu không có thì phải mắc điện trở nối tiếp như với TB6600.

e. L298N

L298N là cầu H kép không có bộ giới hạn dòng, phù hợp với motor 4 dây điện trở cao (từ khoảng 10 Ω trở lên) như motor PM tháo máy in, máy quét. Đấu như hình dưới: một cặp cuộn vào OUT1–OUT2, cặp còn lại vào OUT3–OUT4; IN1–IN4 nối bốn chân số của Arduino; giữ jumper ENA, ENB để hai kênh luôn hoạt động.

Điều khiển động cơ bước 4 dây bằng module L298N: hai cặp dây motor đấu vào OUT1–OUT2 và OUT3–OUT4

Vì L298N không hạn dòng, dòng chạy qua cuộn xấp xỉ bằng (điện áp nguồn − sụt áp của IC) chia cho điện trở cuộn. Cấp 12 V cho một NEMA 17 điện trở 1,5 Ω là cách nhanh nhất để làm nóng cả motor lẫn IC. Cách tính nguồn và giới hạn của IC này được viết riêng ở bài điều khiển động cơ bước dùng L298.

5. Đặt giới hạn dòng trước khi cho motor chạy

Giới hạn dòng là bước hay bị bỏ qua nhất khi điều khiển động cơ bước 4 dây bằng module nhỏ. Biến trở trên module xuất xưởng ở vị trí bất kỳ; để nguyên có thể làm motor yếu, mất bước, hoặc ngược lại làm motor và driver nóng tới mức hỏng.

Cách đo Vref

  • Cấp nguồn cho driver (với DRV8825 phải có nguồn VMOT vì logic lấy từ đây), chưa cần cắm motor, không phát xung.
  • Que đen đồng hồ vào GND, que đỏ chạm vào thân kim loại của biến trở; dùng tua vít nhựa hoặc tua vít cách điện để xoay.
  • Đọc điện áp, tính ra dòng theo công thức của từng module ở bảng dưới, chỉnh tới giá trị mong muốn.
ModuleCông thứcVí dụ cho motor 1,5 A (đặt khoảng 1,2–1,3 A)
A4988, điện trở cảm biến R100 (0,1 Ω)Dòng = Vref × 1,25Vref khoảng 1,0 V
A4988, điện trở R050 (0,05 Ω)Dòng = Vref × 2,5Vref khoảng 0,5 V
A4988, điện trở R068 (0,068 Ω)Dòng = Vref ÷ 0,544Vref khoảng 0,68 V
DRV8825 (R100)Dòng = Vref × 2Vref khoảng 0,62 V
TMC2209 kiểu BTT (chế độ độc lập)Dòng RMS ≈ Vref × 0,71Vref khoảng 1,4 V cho 1,0 A RMS
TB6600, DM542Chọn bằng công tắc DIPChọn nấc gần dưới dòng tem

Điện trở cảm biến là hai linh kiện dán nhỏ cạnh chip, trên đó in R100, R050 hoặc R068; nhìn đúng ký hiệu trước khi áp công thức, vì các module cùng tên có thể dùng điện trở khác nhau. Với DRV8825 ở chế độ bước đủ, dòng thực tế chỉ khoảng 71 % giá trị đã đặt, nên đừng nâng Vref lên để bù khi đo dòng thấy thiếu ở chế độ này.

Đặt bao nhiêu là hợp lý

  • Bắt đầu ở khoảng 70–80 % dòng tem; tăng dần nếu motor mất bước, giảm nếu motor quá nóng.
  • Vỏ motor nóng tới 50–70 °C khi chạy liên tục là bình thường với motor hybrid; không đặt tay được lâu không có nghĩa là quá nhiệt.
  • Driver nhỏ nóng tới mức tự ngắt từng đợt (motor dừng rồi chạy lại) thì giảm dòng hoặc thêm quạt.

6. Code Arduino tối thiểu để chạy động cơ bước 4 dây

Mục tiêu của code chạy thử không phải là tối ưu, mà là kiểm tra đấu dây đúng: motor quay một vòng theo chiều thuận, dừng, rồi quay một vòng theo chiều ngược. Không cần thư viện cho driver STEP/DIR.

Chương trình thử với A4988/DRV8825/TMC2209 trên CNC Shield trục X

Dòng lệnhÝ nghĩa
const int STEP_PIN = 2, DIR_PIN = 5, EN_PIN = 8;Chân trục X trên CNC Shield
pinMode(STEP_PIN, OUTPUT); pinMode(DIR_PIN, OUTPUT); pinMode(EN_PIN, OUTPUT);Khai báo ngõ ra trong setup()
digitalWrite(EN_PIN, LOW);Cho phép driver cấp dòng
digitalWrite(DIR_PIN, HIGH);Chọn chiều quay thuận
for (int i = 0; i < 200 * VI_BUOC; i++) { digitalWrite(STEP_PIN, HIGH); delayMicroseconds(1000); digitalWrite(STEP_PIN, LOW); delayMicroseconds(1000); }Phát đủ số xung cho một vòng
delay(1000); rồi đặt DIR_PIN = LOW và lặp lại vòng forDừng 1 giây, quay ngược một vòng

Với thời gian 1.000 µs mức cao và 1.000 µs mức thấp, driver nhận 500 xung/giây: ở bước đủ motor 1,8° quay 150 vòng/phút, ở 1/16 chỉ khoảng 9 vòng/phút. Tốc độ thấp như vậy giúp motor khởi động chắc chắn mà không cần gia tốc; code này cũng dùng được cho TB6600, DM542 chỉ cần đổi số chân.

Chương trình thử với L298N (4 chân)

  • Khai báo thư viện có sẵn: #include <Stepper.h>.
  • Tạo đối tượng: Stepper motor(200, 8, 9, 10, 11); với 200 là số bước/vòng, 8–11 là chân nối IN1–IN4.
  • Trong setup(): motor.setSpeed(30); đặt tốc độ 30 vòng/phút.
  • Trong loop(): motor.step(200); delay(1000); motor.step(-200); delay(1000);.

Nếu motor chỉ rung qua lại với L298N, đổi thứ tự hai chân giữa trong khai báo (8, 10, 9, 11) trước khi nghi ngờ phần cứng: thứ tự kích cuộn trong thư viện có thể không khớp với thứ tự dây bạn đã đấu.

Khi chuyển sang GRBL hoặc firmware máy in

Sau khi motor đã quay đúng bằng code thử, chuyển sang firmware và đặt số bước trên mỗi milimét: bước/mm = 200 × hệ số vi bước ÷ bước ren vít me (mm/vòng). Ví dụ vít me T8 bước 8 mm, vi bước 1/16: 200 × 16 ÷ 8 = 400 bước/mm, nhập vào $100 (trục X) trong GRBL. Với dây đai GT2 20 răng: 200 × 16 ÷ 40 = 80 bước/mm. Lập trình có gia tốc, nhiều motor cùng lúc và các thư viện nâng cao đã trình bày ở bài điều khiển lưỡng cực, không lặp lại ở đây.

7. Checklist chạy động cơ bước 4 dây lần đầu

Đi theo đúng thứ tự dưới đây sẽ loại được gần như toàn bộ rủi ro cháy driver trong lần cấp điện đầu tiên.

Video dưới đây ghi lại một lần đấu điện và cho động cơ bước chạy thực tế, có thể dùng để đối chiếu tiếng chạy và chuyển động của motor khi làm theo checklist.

Trước khi cấp điện

  • Đã đo và xác định đúng hai cặp cuộn, hai cuộn có điện trở gần bằng nhau, không cuộn nào chạm vỏ.
  • Driver cắm đúng chiều (chân EN trùng nhãn EN), không lệch một hàng chân.
  • Nguồn motor đúng cực tính, nằm trong dải của driver, có tụ lọc gần driver nếu dây nguồn dài.
  • Mass của nguồn motor, driver và vi điều khiển đã nối chung (với driver opto thì nối theo kiểu chung anode hoặc chung cathode).
  • Các đầu dây motor siết chặt vào cọc vít hoặc giắc cắm khít; không có sợi đồng thừa chạm sang cọc bên cạnh.

Lần cấp điện đầu tiên

  • Cấp nguồn khi chưa nạp code chạy; đo và chỉnh Vref hoặc đặt DIP dòng.
  • Tắt nguồn, cắm motor, bật lại: trục phải bị giữ cứng (có mô-men giữ) khi EN đang cho phép. Trục còn quay nhẹ bằng tay nghĩa là driver chưa được bật hoặc dòng đặt quá thấp.
  • Nạp code thử ở tốc độ thấp, quan sát motor quay đủ một vòng, dừng, quay ngược đủ một vòng.

Sau khi chạy được

  • Chạy liên tục 10–15 phút, sờ thử vỏ motor và tản nhiệt driver; ghi nhận nhiệt độ ổn định.
  • Nếu chiều quay ngược với mong muốn, tắt nguồn rồi đảo hai dây của một cuộn, hoặc đổi chiều trong phần mềm.
  • Tăng tốc độ dần đến khi motor bắt đầu mất bước, rồi dùng khoảng 60–70 % tốc độ đó làm tốc độ làm việc.

Cảnh báo

  • Không cắm hoặc rút dây motor khi driver đang có điện; điện áp cảm ứng khi hở mạch đột ngột phá cầu H chỉ trong tích tắc.
  • Không chạm tua vít kim loại vào chân linh kiện khi chỉnh biến trở lúc đang có điện.

8. Bảng lỗi do đấu sai và cách khoanh vùng hỏng hóc

Khi điều khiển động cơ bước 4 dây không như mong muốn, phần lớn có thể đoán đúng nguyên nhân chỉ từ cách motor phản ứng. Bảng dưới liệt kê các kiểu đấu sai cụ thể và triệu chứng tương ứng.

Kiểu đấu saiTriệu chứngCách xử lý
Lẫn cặp: một dây cuộn A và một dây cuộn B vào cùng một kênhMotor rung, kêu rè rè, lắc qua lại tại chỗ hoặc quay giật cục không đềuTắt nguồn, đo lại, đưa đúng hai dây cùng cuộn vào một kênh
Đảo đầu một cuộn (A+ đổi chỗ A−)Motor quay ngược chiều, mọi thứ khác bình thườngKhông hại; giữ nguyên và đổi chiều trong phần mềm nếu muốn
Đảo đầu cả hai cuộnChiều quay không đổiKhông cần sửa
Đổi nguyên cuộn A sang kênh B và ngược lạiMotor quay ngược chiềuKhông hại
Một dây hở mạch hoặc tiếp xúc chập chờnQuay yếu, giật, chỉ chạy được ở tốc thấp, thỉnh thoảng lắc qua lại; driver có thể chết nếu dây tuột lúc đang chạyKiểm tra cọc vít, giắc, đo thông mạch khi lắc dây
Hai cuộn chập nhau hoặc chạm vỏDriver báo lỗi, ngắt bảo vệ, cháy chip hoặc đèn ALARM sángĐo cách điện từng dây ra vỏ; thay motor hoặc sửa dây
Thiếu mass chung giữa vi điều khiển và driverMotor không phản ứng hoặc tự chạy lung tung khi chạm tay vào dâyNối GND chung
EN ở mức cho phép sai (để HIGH với A4988/DRV8825)Motor mềm trục, không quay dù có xungKéo EN xuống LOW hoặc bỏ trống
Dòng đặt quá thấpMotor yếu, mất bước khi có tải, tiếng kêu đều đặnTăng Vref từng nấc nhỏ
Dòng đặt quá caoMotor và driver nóng nhanh, driver tự ngắt từng đợtHạ dòng về 70–100 % dòng tem

Khoanh vùng: hỏng motor hay hỏng driver

  • Rút motor (khi đã tắt nguồn), đo hai cuộn: điện trở bằng nhau và không chạm vỏ thì motor gần như chắc chắn còn tốt về điện.
  • Cấp nguồn, không phát xung: trục phải bị giữ cứng. Không giữ là lỗi tầng công suất, nguồn hoặc chân EN; giữ được mà không quay khi có xung thì lỗi ở phía tín hiệu STEP/DIR.

9. Đi dây, nối dài và lắp motor 4 dây vào máy

Chọn dây motor

Dòng phaTiết diện dây đề nghịChiều dài thường dùngGhi chú
Đến 1,5 A0,3 – 0,5 mm²Đến khoảng 2 mCáp 4 lõi mềm, dùng cho NEMA 17
1,5 – 3 A0,5 – 0,75 mm²Đến khoảng 5 mNên dùng cáp có lưới chống nhiễu
3 – 5 A0,75 – 1 mm²Đến khoảng 5 mBấm cos, siết cọc chắc
  • Mỗi cặp cuộn nên đi trong một cặp dây xoắn để giảm nhiễu phát ra; lưới chống nhiễu chỉ nối mass ở một đầu phía driver.
  • Đi dây motor tách khỏi dây tín hiệu STEP/DIR và dây công tắc hành trình; chạy chung một bó là nguyên nhân hay gặp của mất bước ngẫu nhiên.
  • Ở phần dây chuyển động (xích nhựa trên máy CNC), dùng cáp chịu uốn; dây cứng gãy ngầm sau nhiều lần gập, gây hở mạch chập chờn.

Lắp cơ khí

Khớp nối giữa trục motor và vít me phải đồng tâm; lệch tâm làm motor nặng tải theo chu kỳ, nghe tiếng kêu theo nhịp mỗi vòng và dễ mất bước dù đấu điện hoàn toàn đúng. Siết vít khóa trục lên mặt vát (D-cut) của trục, không siết lên phần tròn.

10. Câu hỏi thường gặp về điều khiển động cơ bước 4 dây

  • Đấu cả hai cuộn ngược đầu thì motor có quay ngược chiều không? Không. Đảo đầu cả hai cuộn tương đương lệch pha 180° điện trong cả hai kênh, motor vẫn quay theo chiều cũ. Chỉ khi đảo đầu đúng một cuộn, hoặc đổi chỗ nguyên cặp cuộn A sang kênh B, chiều quay mới đổi.
  • Nạp code xong, motor trên CNC Shield vẫn mềm trục, quay tay được dễ dàng là do đâu? Thường do chân D8 (EN) chưa được kéo xuống mức thấp, vì code tự viết không khai báo chân này như GRBL. Nếu EN đã đúng, kiểm tra nguồn motor ở cọc vít xanh đã có điện chưa và biến trở có đang ở vị trí gần 0 không.
  • Có cần cấp nguồn riêng cho Arduino khi đã cấp 12 V vào CNC Shield không? Có. Nguồn ở cọc vít của CNC Shield chỉ đi tới chân VMOT của các driver, không nối vào mạch nguồn Arduino. Arduino vẫn cần cáp USB hoặc nguồn qua jack DC riêng.
  • A4988 và DRV8825 có cắm thay cho nhau trên cùng một khe được không? Được, vì hai module cùng sơ đồ chân. Cần lưu ý ba điểm: căn chiều theo chân EN vì biến trở nằm ở hai phía khác nhau, cắm đủ ba jumper thì DRV8825 chạy 1/32 chứ không phải 1/16, và công thức tính dòng từ Vref khác nhau nên phải đặt lại dòng.
  • TMC2209 cắm vào CNC Shield V3 cần chỉnh gì khác so với A4988? Chỉ dùng hai jumper đầu để chọn vi bước theo bảng riêng của TMC2209, để trống vị trí jumper thứ ba, giữ nguồn motor dưới khoảng 29 V và đặt lại Vref theo công thức của module. Số bước/mm trong firmware phải đổi theo hệ số vi bước mới.
  • Có cần nối mass Arduino với mass nguồn motor khi dùng A4988 rời không? Cần. Tín hiệu STEP và DIR được so với GND của driver; thiếu mass chung, mức logic trôi nổi khiến motor không quay hoặc tự nhảy bước. Riêng driver có opto như TB6600, DM542 thì nối theo sơ đồ chung anode hoặc chung cathode thay vì nối thẳng mass.
  • Hai cặp dây đo được điện trở chênh nhau nhiều thì còn dùng được không? Chênh dưới khoảng 10 % là bình thường do sai số đo và dây dẫn. Chênh lớn hơn, nhất là một cuộn thấp hẳn, thường là chập vòng dây: motor sẽ chạy rung, yếu ở một nửa chu kỳ và nóng không đều; nên thay motor thay vì cố chỉnh dòng.
  • Board máy in có giắc 4 chân nhưng motor mới có giắc 6 chân thì nối thế nào? Dùng cáp 6 chân sang 4 chân, nhưng không tin vào màu dây của cáp. Cắm cáp vào motor, đo điện trở ở đầu 4 chân để xác định hai cặp, rồi sắp lại thứ tự chân nếu cần sao cho mỗi cặp nằm đúng một kênh của board.
  • Nối dài dây motor 4 dây nên dùng dây tiết diện bao nhiêu? Với NEMA 17 dòng đến 1,5 A, dây 0,3–0,5 mm² là đủ cho vài mét; NEMA 23 dòng 2–3 A nên dùng 0,5–0,75 mm² có lưới chống nhiễu. Dây quá nhỏ gây sụt áp, làm motor yếu ở tốc độ cao và nóng dây.
  • Làm sao biết motor 4 dây hỏng hay driver hỏng khi máy không chạy? Đổi motor sang một kênh driver đang hoạt động tốt. Nếu lỗi đi theo motor thì kiểm tra motor và dây; nếu motor đó chạy bình thường ở kênh mới thì driver hoặc khe cắm cũ có vấn đề.
  • Motor 4 dây có quay được khi cấp thẳng nguồn một chiều mà không có driver không? Không quay liên tục được. Cấp nguồn vào một cuộn chỉ làm trục khóa ở một vị trí; muốn quay phải đảo chiều dòng luân phiên trong hai cuộn theo trình tự, mà việc này cần mạch cầu H hoặc driver.
  • Chạy thử với code đơn giản thì quay tốt, nhưng tăng tốc độ thì motor kêu rồi đứng, có phải đấu sai dây không? Không phải. Đấu sai dây làm motor không quay được ngay cả ở tốc độ thấp. Đứng máy khi tăng tốc là do khởi động thẳng ở tốc độ cao không có gia tốc, nguồn điện áp thấp hoặc dòng đặt thiếu; thêm đoạn tăng tốc dần trong code hoặc nâng điện áp nguồn trong giới hạn driver.
7.574 reviews

Tin tức liên quan

Mô Tơ Điện 1 Pha, 3 Pha 220V/380V: Bảng Giá Theo kW

Mô Tơ Điện 1 Pha, 3 Pha 220V/380V: Bảng Giá Theo kW

06 thg 11 2026 13:03

Mô tơ điện 3 pha 380V 4 cực giá 920.000 – 17.440.000 đ (0.37 – 30kW); mô tơ 1 pha 220V YL, YC giá 1.070.000 – 5.840.000 đ (0.37 – 3.7kW). Kèm cách chọn 1 pha hay 3 pha, số cực theo máy.
Đọc tiếp
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