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

Mạch điều khiển động cơ bước TB6600: bảng DIP, cách đấu tín hiệu và xử lý sự cố

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 14:50

Mạch điều khiển động cơ bước TB6600 là module driver cho động cơ bước 2 pha lưỡng cực, nhận nguồn 9–42 VDC, đặt dòng pha từ 0,5 đến 3,5 A bằng công tắc DIP và chia vi bước tới 1/32. Module có ba cặp tín hiệu cách ly quang PUL, DIR, ENA nên nối được với Arduino, ESP32, PLC, card Mach3 cổng LPT hoặc bo GRBL. Đây là lựa chọn phổ biến cho motor NEMA 17 và NEMA 23 trong máy CNC mini, máy khắc laser, bàn trượt, máy cắt decal và các cơ cấu định vị tự chế.

Phần lớn sự cố khi dùng TB6600 không nằm ở module mà ở khâu ghép nối: đấu sai kiểu chung anode hay chung cathode, cấp 24 V vào ngõ vào quang không có điện trở, đặt dòng vượt khả năng thật của chip, hoặc xung quá hẹp so với optocoupler.

1. Mạch điều khiển động cơ bước TB6600 là gì, bên trong dùng chip nào

Tên "TB6600" vốn là mã IC driver động cơ bước của Toshiba (TB6600HG, vỏ cắm xuyên lỗ 25 chân, dòng đỉnh tới khoảng 4,5–5 A, chia tối đa 1/16 bước). Module vỏ nhôm đen, cọc đấu xanh bán trên thị trường mượn đúng cái tên ấy, nhưng đa số bản sản xuất gần đây đã chuyển sang chip TB67S109AFTG – IC dán bề mặt dạng QFN 48 chân nằm dưới tấm tản nhiệt. Vì vậy cùng mang tên TB6600, hai module có thể khác nhau về chip, giới hạn dòng và hành vi bảo vệ.

Cách nhận biết chip trong module

  • Bảng DIP in trên vỏ có mục 32 (6400 xung/vòng): gần như chắc chắn là TB67S109AFTG, vì TB6600HG chỉ chia tới 1/16.
  • Mở vỏ thấy IC cắm xuyên lỗ, chân thò ra, bắt vít thẳng vào tản nhiệt: TB6600HG. Thấy IC vuông nhỏ dán trên mạch: TB67S109AFTG.

Thông số cốt lõi của chip TB67S109AFTG (đa số module hiện nay)

Thông sốGiá trị theo datasheetÝ nghĩa khi dùng module
Điện áp motor10–47 V làm việc, tối đa tuyệt đối 50 VModule ghi 9–42 V; dùng 24–36 V là an toàn
Dòng raTối đa tuyệt đối 4,0 A; khuyến nghị làm việc tới 3,0 AMức 3,5 A trên DIP chỉ chạy được khi tản nhiệt rất tốt
Vi bướcFull, 1/2 (A, B), 1/4, 1/8, 1/16, 1/32Tương ứng 7 kiểu trên bảng DIP
Tần số xung CLKTối đa 100 kHzOptocoupler của module thường là giới hạn thật, thấp hơn nhiều
Bảo vệ quá nhiệtNgắt khoảng 160 °C (145–175 °C)Motor mất lực, chip nguội thì chạy lại
Bảo vệ quá dòngNgưỡng khoảng 4,1–5,7 A, kiểu chốtNgắt và giữ trạng thái ngắt đến khi tắt nguồn bật lại
Điện trở MOSFETKhoảng 0,49 Ω (cao + thấp)Ở 3 A, mỗi cầu tỏa vài watt nhiệt

Chi tiết quan trọng nhất trong bảng là cơ chế bảo vệ quá dòng kiểu chốt (latch): khi dây motor chạm nhau hoặc chạm vỏ, chip khóa đầu ra và không tự phục hồi, kể cả khi đã gỡ lỗi. Người dùng thường tưởng module chết, trong khi chỉ cần tắt nguồn chờ vài giây rồi bật lại.

Mạch điều khiển động cơ bước TB6600 nối Arduino Due và motor NEMA 17, tín hiệu PUL DIR ENA và nguồn 24V DC

2. Sơ đồ chân và các cọc đấu của module TB6600

Dãy "Signal" gồm 6 cọc tín hiệu, dãy "High Voltage" gồm 6 cọc cho motor và nguồn. Đèn ALARM đỏ báo lỗi quá dòng, quá nhiệt hoặc nguồn bất thường.

CọcChức năngGhi chú đấu nối
PUL+ / PUL−Xung bước (STEP/CLK)Mỗi xung motor đi một vi bước
DIR+ / DIR−Chiều quayĐổi mức logic để đảo chiều
ENA+ / ENA−Cho phép/ngắt motorCó dòng qua opto thì motor thả lỏng; để trống là luôn chạy
A+ / A−Cuộn pha AHai đầu của cùng một cuộn dây
B+ / B−Cuộn pha BHai đầu của cuộn còn lại
VCC / GNDNguồn DC 9–42 VĐúng cực tính; không dùng nguồn xoay chiều

Ba ngõ vào tín hiệu thực chất là ba đèn LED bên trong optocoupler, mỗi LED có sẵn điện trở nối tiếp tính cho mức 5 V. Hiểu điều này sẽ giải thích hầu hết các quy tắc đấu dây ở mục sau: opto cần dòng khoảng 8–15 mA chạy qua LED để bật chắc chắn, và cực nào nối chung thì cực còn lại nhận tín hiệu.

Đấu motor vào A+, A−, B+, B−

Motor 4 dây chỉ cần tìm đúng hai cặp cuộn: đo điện trở, hai dây thông nhau (vài ohm) là một cuộn, đưa vào A+/A−; cặp còn lại vào B+/B−. Đấu sai cặp là nguyên nhân số một của motor rung mà không quay. Muốn đảo chiều quay mà không sửa chương trình, chỉ cần đổi chỗ A+ với A−. Motor 6 dây và 8 dây phải đấu lại thành 4 đầu ra kiểu lưỡng cực (nửa cuộn, nối tiếp hoặc song song) – cách đấu và hệ quả về dòng đã trình bày ở bài động cơ bước lưỡng cực.

3. Bảng DIP TB6600: đặt vi bước và dòng pha

Sáu công tắc DIP trên vỏ chia làm hai nhóm: SW1–SW3 chọn vi bước, SW4–SW6 chọn dòng. Luôn tắt nguồn trước khi gạt DIP; phần lớn module chỉ đọc trạng thái công tắc khi khởi động, gạt lúc đang chạy có thể không có tác dụng hoặc gây giật motor.

a. Bảng vi bước SW1–SW3

Vi bướcXung/vòng (motor 1,8°)SW1SW2SW3
1 (full)200ONONOFF
2/A400ONOFFON
2/B400OFFONON
4800ONOFFOFF
81600OFFONOFF
163200OFFOFFON
326400OFFOFFOFF

Với motor 0,9°, nhân đôi số xung/vòng trong bảng. Tổ hợp ON-ON-ON không dùng (trên nhiều bản in là NC hoặc chế độ chờ).

Chọn vi bước bao nhiêu là hợp lý

  • Máy CNC mini, laser, bàn trượt vít me: 1/8 hoặc 1/16 là cân bằng tốt giữa độ êm và số xung cần phát.
  • Vi điều khiển phát xung yếu (Arduino Uno chạy nhiều trục, PLC chỉ có ngõ ra 10–20 kHz): giảm xuống 1/4 hoặc 1/8 để đủ tốc độ.
  • Vi bước 1/32 làm motor êm hơn nhưng không làm máy chính xác hơn tương ứng, vì tải và ma sát đủ làm trục lệch vài vi bước.

b. Bảng dòng SW4–SW6

Dòng làm việc (A)Dòng đỉnh in trên vỏ (A)SW4SW5SW6
0,50,7ONONON
1,01,2ONOFFON
1,51,7ONONOFF
2,02,2ONOFFOFF
2,52,7OFFONON
2,82,9OFFOFFON
3,03,2OFFONOFF
3,54,0OFFOFFOFF

Chọn theo cột "dòng làm việc", lấy mức bằng hoặc thấp hơn một nấc so với dòng định mức trên tem motor. Ví dụ motor NEMA 17 ghi 1,7 A/pha: đặt 1,5 A; motor NEMA 23 ghi 2,8 A: đặt 2,5 hoặc 2,8 A.

4. Dòng thật so với nhãn 4 A và nguồn cấp 9–42 V

Nhãn "4.0A" trên module là dòng đỉnh ở nấc cao nhất, không phải dòng liên tục chạy được trong mọi điều kiện. Chip TB67S109AFTG được khuyến nghị làm việc tới khoảng 3 A, và đó là với bo mạch tản nhiệt tốt. Module giá rẻ dùng miếng đệm tản nhiệt mỏng, keo kém, nên trong thực tế:

  • Đến 2,5 A: chạy liên tục ổn định, tản nhiệt ấm đến nóng tay.
  • 2,8–3,0 A: chạy được nếu có quạt hoặc lắp trong tủ thoáng; chạy liên tục nhiều giờ không quạt dễ chạm ngưỡng ngắt nhiệt.
  • 3,5 A: chỉ nên dùng ngắn hạn. Nếu motor cần liên tục 3,5–4 A trở lên, nên chuyển sang driver cỡ lớn hơn như DM542, DM556 – cách ghép xem bài động cơ bước 2 pha.

Chọn điện áp nguồn

Điện áp nguồn quyết định mô-men ở tốc độ cao, không phải ở tốc độ thấp. Motor có điện cảm cuộn dây lớn cần áp cao để dòng kịp đảo chiều khi quay nhanh. Với TB6600:

Điện áp nguồnPhù hợpLưu ý
12 VNEMA 17 chạy chậm, thử nghiệmMô-men tụt nhanh trên vài trăm vòng/phút
24 VPhổ biến nhất cho NEMA 17 và NEMA 23Nguồn tổ ong dễ kiếm, dư biên an toàn
36 VNEMA 23 cần tốc độ cao hơnVẫn cách xa giới hạn 42 V của module
42 V trở lênKhông nênMotor hãm gấp sinh điện áp ngược cộng dồn, dễ vượt giới hạn chip

Dòng nguồn không cần bằng tổng dòng pha. Driver băm dòng nên dòng lấy từ nguồn nhỏ hơn dòng pha, ước lượng an toàn bằng khoảng 2/3 tổng dòng đặt của các driver. Ba trục NEMA 23 đặt 2,5 A dùng chung một nguồn 24 V khoảng 6–10 A là đủ, còn dư để chịu dòng khởi động.

Cảnh báo về nguồn

  • Không cắm/rút dây motor khi đang có nguồn: hồ quang ở cọc đấu có thể phá cầu MOSFET ngay lập tức.
  • Đấu ngược cực VCC/GND có thể làm hỏng module dù quảng cáo có chống ngược cực.

5. Đấu tín hiệu PUL, DIR, ENA: chung anode và chung cathode

Vì mỗi ngõ vào là LED của optocoupler, có hai cách đấu hợp lệ. Chọn cách nào phụ thuộc vào bộ điều khiển "đẩy ra" điện áp (source/PNP) hay "kéo xuống" mass (sink/NPN).

Kiểu đấuCực nối chungCực nhận tín hiệuDùng cho
Chung anodePUL+, DIR+, ENA+ nối +5 V (hoặc +12/24 V qua điện trở)PUL−, DIR−, ENA− nối chân điều khiểnPLC ngõ ra NPN, breakout board Mach3, ngõ ra open-collector
Chung cathodePUL−, DIR−, ENA− nối GND bộ điều khiểnPUL+, DIR+, ENA+ nối chân điều khiểnArduino, ESP32, STM32, PLC ngõ ra PNP

Hai cách đều chạy được với Arduino, nhưng logic đảo ngược nhau: ở chung anode, chân Arduino xuống mức LOW thì LED sáng. Với tín hiệu xung, điều này gần như không ảnh hưởng; với ENA và DIR thì chiều quay và trạng thái cho phép sẽ ngược.

Điện trở hạn dòng cho tín hiệu 12 V và 24 V

Module bản phổ thông tính sẵn điện trở cho mức 5 V. Đưa 12 V hoặc 24 V thẳng vào sẽ làm dòng qua LED vượt quá mức cho phép, opto yếu dần rồi chết. Cần mắc thêm điện trở nối tiếp ở mỗi ngõ vào:

Điện áp tín hiệuĐiện trở thêm ngoàiCông suất điện trởDòng qua LED ước tính
3,3 VKhông thêm–Khoảng 6–7 mA, sát ngưỡng
5 VKhông thêm–Khoảng 10–13 mA
12 V1 kΩ0,25 WKhoảng 8–9 mA
24 V2 kΩ – 2,2 kΩ0,5 WKhoảng 9–10 mA

Một số module đời mới in "Signal 3.3–24V" và tự hạn dòng bên trong; khi đó không cần điện trở ngoài. Nếu nhãn không ghi rõ, cứ coi như module chỉ nhận 5 V và mắc điện trở theo bảng trên.

Tín hiệu 3,3 V từ ESP32, STM32, Raspberry Pi

Ở 3,3 V, dòng qua LED opto chỉ còn khoảng 6–7 mA, opto bật chậm và chập chờn, dẫn tới mất xung ở tốc độ cao hoặc motor chỉ quay một chiều. Có ba cách xử lý chắc chắn: đấu chung anode với +5 V và dùng chân 3,3 V để kéo xuống qua transistor NPN (2N2222, BC547) hoặc một IC đệm như 74HCT245, ULN2003; dùng module chuyển mức logic loại đẩy kéo; hoặc chọn driver có ngõ vào ghi rõ chấp nhận 3,3 V.

Yêu cầu thời gian xung

  • Độ rộng xung PUL nên từ 5 µs trở lên; optocoupler phổ thông trong module chậm hơn nhiều so với chip, xung 1–2 µs rất dễ bị bỏ sót.
  • Tín hiệu DIR nên đổi trước cạnh xung đầu tiên ít nhất 5 µs; đổi chiều đúng lúc phát xung sẽ làm máy lệch một vài bước mỗi lần đảo chiều.

6. Tần số xung tối đa và tốc độ quay đạt được

Chip TB67S109AFTG nhận xung tới 100 kHz, nhưng giới hạn thực tế của module là optocoupler. Các bản dùng opto chậm (loại PC817, 4N25) làm méo xung khi vượt khoảng 15–20 kHz; bản dùng opto tốc độ cao (6N137, TLP2361) đi được cao hơn. Muốn chắc chắn, giữ tần số làm việc dưới 20 kHz.

Công thức tính tốc độ: vòng/phút = tần số xung (Hz) × 60 ÷ số xung mỗi vòng.

Vi bướcXung/vòngỞ 10 kHzỞ 20 kHz
1/4800750 vòng/phút1.500 vòng/phút
1/81600375 vòng/phút750 vòng/phút
1/163200187 vòng/phút375 vòng/phút
1/32640094 vòng/phút187 vòng/phút

Bảng cho thấy vì sao đặt 1/32 thường làm máy "chạy chậm không lên": không phải motor yếu mà bộ điều khiển không phát đủ xung. Ở chiều ngược lại, motor NEMA 23 với nguồn 24 V hiếm khi giữ được mô-men hữu ích trên khoảng 600–800 vòng/phút, nên 1/8 với 20 kHz đã chạm giới hạn của motor trước khi chạm giới hạn của driver. Khi cần tốc độ cao hơn kèm tải lớn, giải pháp nằm ở nguồn áp cao hơn hoặc chuyển sang motor servo, không nằm ở việc tăng xung.

Dù tần số trong giới hạn, motor vẫn không thể nhảy thẳng từ đứng yên lên tốc độ cao. Luôn có đoạn tăng tốc (gia tốc) trong phần mềm; motor chỉ khởi động trực tiếp được ở vài chục đến vài trăm vòng/phút tùy tải. Các kiểu biên dạng gia tốc hình thang, S-curve và thư viện tạo xung được phân tích ở bài điều khiển động cơ bước lưỡng cực.

7. Nối TB6600 với Arduino, PLC, Mach3 và GRBL

Khi đấu chung cathode, luôn dùng chung mass phía tín hiệu; phía nguồn động lực của driver vẫn được cách ly qua opto.

a. Arduino và vi điều khiển 5 V

Cách đấu đơn giản nhất là chung cathode: PUL− và DIR− nối GND Arduino, PUL+ vào chân 3, DIR+ vào chân 2, ENA để trống. Bảng dưới tóm tắt chương trình chạy qua lại bằng thư viện AccelStepper:

Dòng lệnhTác dụng
AccelStepper m(1, 3, 2);Kiểu 1 = driver STEP/DIR; chân xung 3, chân chiều 2
m.setMaxSpeed(4000);Tốc độ tối đa 4000 xung/giây
m.setAcceleration(2000);Gia tốc 2000 xung/giây²
m.setMinPulseWidth(5);Độ rộng xung 5 µs cho opto kịp đáp ứng
m.moveTo(3200); và m.run(); trong loopĐi tới vị trí 3200 xung (1 vòng ở 1/16), không chặn chương trình

Lệnh setMinPulseWidth thường bị bỏ qua trong các ví dụ trên mạng; thiếu nó, xung mặc định quá hẹp và TB6600 bắt xung không đều ở tốc độ cao. AccelStepper trên Arduino Uno chỉ phát được khoảng 4–5 kHz; cần cao hơn thì dùng FastAccelStepper.

b. PLC ngõ ra transistor NPN và PNP

PLC thường dùng mức 24 V, nên bắt buộc có điện trở 2–2,2 kΩ ở mỗi ngõ PUL và DIR (trừ khi module ghi rõ nhận 24 V).

Loại ngõ ra PLCVí dụ thường gặpCách đấu
NPN (sink)Mitsubishi FX, Delta DVP, nhiều PLC Trung Quốc+24 V → điện trở 2 kΩ → PUL+; PUL− → Y0. Tương tự DIR+/DIR− với Y1
PNP (source)Siemens S7-1200 bản DC/DC/DCQ0.0 → điện trở 2 kΩ → PUL+; PUL− → 0 V. Tương tự DIR với Q0.1

Chỉ ngõ ra phát xung tốc độ cao của PLC (thường Y0, Y1 hoặc Q0.0, Q0.1) mới đủ nhanh để phát xung cho driver; ngõ ra relay hoàn toàn không dùng được. Cách lập trình lệnh phát xung, định vị và về gốc trên PLC được hướng dẫn chi tiết ở bài điều khiển động cơ bước bằng PLC.

c. Mach3 qua cổng LPT và breakout board

Card breakout cổng máy in (LPT) cấp 5 V cho từng trục, nên đấu chung anode: cọc 5 V của breakout nối PUL+, DIR+; chân STEP và DIR của trục nối PUL−, DIR−. Trong Mach3, mục Ports & Pins khai báo số chân theo card, bật Active Low cho Step nếu motor chạy giật hoặc sai bước, đặt Step Pulse và Dir Pulse ở mức 5 µs. Kernel speed mặc định 25 kHz là phù hợp với TB6600; tăng lên 45 kHz hay 100 kHz chỉ có ích khi máy tính đủ mạnh và driver nhận được xung đó. Board LPT 3–4 trục tích hợp sẵn driver, thường gặp với chip TB6560, có những hạn chế riêng được phân tích ở bài mạch điều khiển động cơ bước TB6560.

d. GRBL trên Arduino và CNC Shield

Từ CNC Shield V3, lấy STEP, DIR và GND của từng trục ở hàng chân cắm driver nhỏ (tháo module A4988 ra), đấu chung cathode: STEP → PUL+, DIR → DIR+, GND → PUL− và DIR−. Trong GRBL, đặt $0 = 10 (độ rộng xung 10 µs) thay vì 3–5 µs để opto không bỏ xung. Nếu trục chạy ngược, dùng $3 để đảo chiều thay vì đổi dây. Tham số $100–$102 (bước/mm) phải tính lại theo vi bước đã gạt trên DIP: ví dụ vít me bước 8 mm, motor 1,8°, vi bước 1/8 thì 1600 ÷ 8 = 200 bước/mm.

8. Điều khiển TB6600 không cần vi điều khiển

Ứng dụng chỉ cần motor quay liên tục và chỉnh tốc độ bằng tay – băng tải nhỏ, máy quấn dây, máy cuốn màng, máy trộn mẫu – không cần lập trình. Một module phát xung (thường có biến trở xoay, công tắc đổi chiều và nút dừng) nối thẳng vào PUL, DIR, ENA của TB6600 là đủ. Khi chọn module phát xung, cần để ý:

  • Dải tần ra của module phải phù hợp với vi bước đã đặt: module phát tới 10 kHz với vi bước 1/8 chỉ cho tối đa khoảng 375 vòng/phút.
  • Mức điện áp ngõ ra của module phát xung (5 V hay 12–24 V) quyết định có cần thêm điện trở hay không, theo bảng ở mục 5.
  • Module không có gia tốc; vặn biến trở từ từ khi khởi động, vặn nhanh motor sẽ trượt bước và kêu.

Mạch điều khiển động cơ bước TB6600 ghép module phát xung có biến trở chỉnh tốc độ và motor bước NEMA 17

Nếu nhu cầu chỉ là quay liên tục, chỉnh tốc độ, không cần định vị góc, thì một động cơ giảm tốc mini đi kèm bộ điều tốc thường đơn giản, êm và tiết kiệm điện hơn một bộ step chạy liên tục.

9. Motor nào phù hợp với TB6600

TB6600 chỉ điều khiển motor bước 2 pha lưỡng cực (hoặc motor 6/8 dây đã đấu lại thành lưỡng cực). Bảng sau giúp ghép nhanh motor với module dựa trên dòng pha:

MotorDòng pha thường gặpMức dòng nên đặtĐánh giá
NEMA 17 (42 mm) thân 34–48 mm1,2–2,0 A1,0–2,0 ARất phù hợp, driver dư sức
NEMA 23 (57 mm) thân 56–76 mm2,0–3,0 A2,0–2,8 APhù hợp, nên có quạt khi chạy liên tục
NEMA 23 thân dài 100 mm trở lên3,0–4,2 A–Sát hoặc vượt giới hạn, nên dùng driver lớn hơn
NEMA 34 (86 mm)4–6 A–Không phù hợp
Motor bước có hộp số size 42/57Như motor nềnTheo motor nềnPhù hợp; tính tốc độ theo trục ra

Với motor NEMA 17 dòng thấp (0,4–1,0 A, điện trở cuộn cao), TB6600 vẫn chạy được ở nấc 0,5 hoặc 1,0 A, nhưng nấc dòng thô làm khó đặt chính xác; driver nhỏ chỉnh bằng biến trở hợp hơn. Thông số cụ thể từng chiều dài thân NEMA 17 xem ở bài động cơ bước NEMA 17. Khi gắn động cơ bước có hộp số, nhớ rằng tốc độ trục ra bằng tốc độ motor chia tỉ số truyền, nên tần số xung cần phát cao hơn nhiều so với motor trục trơn để đạt cùng tốc độ đầu ra.

10. Nhiệt độ, tản nhiệt và lắp đặt trong tủ

Module được thiết kế làm việc ở nhiệt độ môi trường −10 đến 45 °C. Trong tủ điện kín đặt ngoài trời nắng hay cạnh biến tần, nhiệt độ trong tủ thường vượt mức này, và TB6600 là linh kiện ngắt nhiệt đầu tiên.

Lắp đặt để driver chạy mát

  • Lắp module đứng, các lá tản nhiệt dựng theo chiều dọc để không khí nóng thoát lên trên; không gắn nằm ép sát đáy tủ.
  • Các module cách nhau ít nhất 2–3 cm; quạt 12 V hoặc 24 V cỡ 60–80 mm thổi dọc lá tản nhiệt hạ nhiệt rõ rệt.
  • Nếu tản nhiệt chỉ ấm mà driver vẫn ngắt, nhiều khả năng miếng đệm giữa chip và vỏ nhôm tiếp xúc kém; thay bằng keo tản nhiệt hoặc đệm tản nhiệt tốt hơn giúp truyền nhiệt sang vỏ.

Chống nhiễu khi dây dài

Dây tín hiệu nên dùng cáp bọc chống nhiễu, đi tách khỏi dây motor, dây biến tần và spindle. Nhiễu trên đường PUL là nguyên nhân phổ biến của hiện tượng trục tự trôi vài bước mỗi lần spindle khởi động.

11. Bảng xử lý sự cố mạch điều khiển động cơ bước TB6600

Hiện tượngNguyên nhân thường gặpCách xử lý
Motor rung, kêu nhưng không quayĐấu sai cặp cuộn; tần số khởi động quá cao; dòng đặt quá thấpĐo lại cặp dây; thêm gia tốc, giảm tốc độ khởi động; tăng dòng một nấc
Motor không giữ lực, quay tay nhẹENA đang được kích hoạt; nguồn chưa vào; DIP dòng ở 0,5 ARút dây ENA thử; kiểm tra đèn PWR; đặt lại DIP
Chỉ quay một chiềuDIR không đủ dòng (tín hiệu 3,3 V); đấu nhầm chung anode/cathode; DIR đổi trùng lúc phát xungThêm transistor đệm hoặc đấu 5 V; kiểm tra lại sơ đồ; trễ DIR trước xung ít nhất 5 µs
Đèn ALARM đỏ, motor mất lựcChập dây motor hoặc chạm vỏ; quá dòng; quá nhiệtTắt nguồn, kiểm tra dây motor bằng đồng hồ, bật lại; giảm dòng; thêm quạt
Chạy một lúc thì dừng, bật lại nguồn chạy tiếpNgắt nhiệt hoặc bảo vệ quá dòng kiểu chốtGiảm dòng, cải thiện tản nhiệt, kiểm tra dây motor lỏng chập chờn
Mất bước ngẫu nhiên, sai kích thướcXung quá hẹp; nhiễu; tốc độ hoặc gia tốc vượt khả năng motorTăng độ rộng xung lên 5–10 µs; dùng cáp chống nhiễu; giảm gia tốc
Motor kêu rít, rung mạnh ở tốc độ thấpChạy full bước gây cộng hưởngChuyển sang 1/8 hoặc 1/16
Module nóng, motor nóng dù tải nhẹDòng đặt cao hơn tem motorHạ dòng xuống bằng hoặc dưới dòng định mức
Opto hỏng sau vài ngày chạy với PLCCấp 24 V không có điện trở hạn dòngThay module, lắp điện trở 2–2,2 kΩ ở mỗi ngõ

Khi nghi module hỏng, cách thử nhanh là tháo hết dây tín hiệu, chỉ cấp nguồn và motor: motor phải bị giữ cứng (có mô-men giữ). Không giữ lực nghĩa là phần công suất hoặc nguồn có vấn đề; giữ lực mà không quay khi có xung thì lỗi nằm ở phía tín hiệu.

12. TB6600 so với các driver khác và khi nào nên đổi

DriverDòng tối đa thực dụngNguồnƯu điểm so với TB6600Hạn chế
TB6560Khoảng 2,5–3 A10–35 VCó sẵn board LPT nhiều trụcChia vi bước ít hơn, xung chậm, dễ hỏng chip
A4988 / DRV88251–1,5 A (có quạt tới khoảng 2 A)8–35 V / 8,2–45 VNhỏ gọn, cắm thẳng lên boKhông có opto, không đủ dòng cho NEMA 23
TMC2209Khoảng 2 A RMS4,75–29 VCực êm, cấu hình UARTDòng thấp, không dành cho NEMA 23 lớn
DM542 / DM5564,2 A / 5,6 A đỉnh20–50 VOpto nhanh, chống cộng hưởng, êm hơnGiá cao hơn
Step vòng kínTheo motor24–48 VKhông mất bước, báo lỗiĐắt hơn, cần motor có encoder

Nên đổi khỏi TB6600 khi motor cần liên tục trên 3 A, khi máy đòi hỏi tốc độ xung trên 20 kHz một cách ổn định, hoặc khi máy kêu cộng hưởng mà vi bước không xử lý được. Máy không được phép mất bước nên chuyển sang step vòng kín hoặc servo. Tổng quan các nhóm motor bước, từ loại mini tới công nghiệp, có ở trang động cơ bước.

13. Câu hỏi thường gặp về mạch điều khiển động cơ bước TB6600

  • Module TB6600 trên vỏ ghi 4 A, có chạy motor 4 A liên tục được không? Không nên. 4 A là dòng đỉnh ở nấc cao nhất, trong khi chip TB67S109AFTG được khuyến nghị làm việc tới khoảng 3 A. Motor cần liên tục 3,5–4 A sẽ làm driver nóng và ngắt nhiệt; chọn driver như DM542 hoặc DM556 cho mức dòng đó.
  • Làm sao biết module TB6600 của tôi dùng chip TB6600HG hay TB67S109AFTG? Nhìn bảng DIP: có chế độ 32 (6400 xung/vòng) là TB67S109AFTG, vì TB6600HG chỉ chia tới 1/16. Mở vỏ sẽ thấy rõ hơn: TB6600HG là IC cắm xuyên lỗ bắt vít vào tản nhiệt, TB67S109AFTG là IC vuông dán bề mặt.
  • TB6600 có cần nối chân ENA không? Không bắt buộc. Để trống ENA thì driver luôn cấp dòng cho motor. Khi có dòng chạy qua opto ENA, motor sẽ thả lỏng và bỏ qua xung; chỉ nối ENA khi muốn chủ động ngắt motor, ví dụ để quay tay trục máy hoặc giảm nhiệt khi dừng lâu.
  • Cấp tín hiệu 24 V từ PLC vào TB6600 có cần điện trở không? Cần, với module ghi tín hiệu 5 V. Mắc điện trở 2–2,2 kΩ, 0,5 W nối tiếp ở mỗi ngõ PUL, DIR (và ENA nếu dùng). Thiếu điện trở, opto chịu dòng quá mức và hỏng sau một thời gian ngắn.
  • ESP32 hoặc Raspberry Pi 3,3 V nối thẳng vào TB6600 được không? Thường chạy được ở tốc độ thấp nhưng không ổn định, hay mất xung hoặc chỉ quay một chiều vì dòng qua opto quá nhỏ. Nên đệm bằng transistor NPN hoặc IC đệm 5 V và đấu kiểu chung anode với nguồn 5 V.
  • Đặt dòng TB6600 thế nào cho motor ghi 1,7 A? Chọn nấc 1,5 A (SW4 ON, SW5 ON, SW6 OFF). Nếu motor thiếu lực ở tải thật mới nâng lên nấc 2,0 A và theo dõi nhiệt độ motor, không đặt vượt tem quá một nấc.
  • TB6600 nhận xung tối đa bao nhiêu kHz? Chip bên trong nhận tới 100 kHz, nhưng optocoupler của đa số module chỉ bắt xung ổn định tới khoảng 15–20 kHz. Muốn chạy nhanh hơn, giảm vi bước thay vì tăng tần số, và giữ độ rộng xung từ 5 µs trở lên.
  • Vì sao đèn ALARM đỏ sáng và motor mất lực ngay khi chạy? Thường do dây motor chập nhau hoặc chạm vỏ, cọc đấu lỏng, hoặc dòng đặt quá cao. Chip có bảo vệ quá dòng kiểu chốt nên phải tắt nguồn rồi bật lại mới hết lỗi, sau khi đã kiểm tra dây motor.
  • Dùng TB6600 với CNC Shield GRBL cần chỉnh gì? Lấy STEP, DIR, GND từ chân cắm driver trên shield và đấu chung cathode. Đặt $0 = 10 µs cho độ rộng xung, tính lại $100–$102 theo vi bước đã gạt và dùng $3 nếu trục chạy ngược.
  • Chạy TB6600 với nguồn 12 V có được không? Được với motor NEMA 17 và tốc độ thấp. Ở 12 V, mô-men giảm nhanh khi tăng tốc nên máy dễ mất bước; 24 V là mức cân bằng nhất cho NEMA 17 và NEMA 23.
  • Gạt DIP lúc đang có điện có làm hỏng TB6600 không? Thường không làm hỏng ngay, nhưng nhiều module chỉ đọc DIP khi khởi động nên thay đổi không có tác dụng, và chuyển nấc dòng đột ngột có thể làm motor giật. Luôn tắt nguồn, gạt DIP rồi bật lại.
  • Một chân xung có điều khiển được hai module TB6600 cùng lúc (ví dụ trục Y kép) không? Được với vi điều khiển 5 V: nối song song ngõ PUL và DIR của hai module, mỗi opto lấy khoảng 10 mA nên một chân Arduino vẫn chịu được. Với tín hiệu 3,3 V hoặc khi ghép từ ba module trở lên, nên đệm bằng transistor để mỗi opto đủ dòng.
4.523 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