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ố
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.
Nội dung
- 1. Mạch điều khiển động cơ bước TB6600 là gì, bên trong dùng chip nào
- 2. Sơ đồ chân và các cọc đấu của module TB6600
- 3. Bảng DIP TB6600: đặt vi bước và dòng pha
- 4. Dòng thật so với nhãn 4 A và nguồn cấp 9–42 V
- 5. Đấu tín hiệu PUL, DIR, ENA: chung anode và chung cathode
- 6. Tần số xung tối đa và tốc độ quay đạt được
- 7. Nối TB6600 với Arduino, PLC, Mach3 và GRBL
- 8. Điều khiển TB6600 không cần vi điều khiển
- 9. Motor nào phù hợp với TB6600
- 10. Nhiệt độ, tản nhiệt và lắp đặt trong tủ
- 11. Bảng xử lý sự cố mạch điều khiển động cơ bước TB6600
- 12. TB6600 so với các driver khác và khi nào nên đổi
- 13. Câu hỏi thường gặp về mạch điều khiển động cơ bước TB6600
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 motor | 10–47 V làm việc, tối đa tuyệt đối 50 V | Module ghi 9–42 V; dùng 24–36 V là an toàn |
| Dòng ra | Tối đa tuyệt đối 4,0 A; khuyến nghị làm việc tới 3,0 A | Mức 3,5 A trên DIP chỉ chạy được khi tản nhiệt rất tốt |
| Vi bước | Full, 1/2 (A, B), 1/4, 1/8, 1/16, 1/32 | Tương ứng 7 kiểu trên bảng DIP |
| Tần số xung CLK | Tối đa 100 kHz | Optocoupler của module thường là giới hạn thật, thấp hơn nhiều |
| Bảo vệ quá nhiệt | Ngắ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òng | Ngưỡng khoảng 4,1–5,7 A, kiểu chốt | Ngắt và giữ trạng thái ngắt đến khi tắt nguồn bật lại |
| Điện trở MOSFET | Khoả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.

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ọc | Chức năng | Ghi 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 motor | Có dòng qua opto thì motor thả lỏng; để trống là luôn chạy |
| A+ / A− | Cuộn pha A | Hai đầu của cùng một cuộn dây |
| B+ / B− | Cuộn pha B | Hai đầu của cuộn còn lại |
| VCC / GND | Nguồ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ước | Xung/vòng (motor 1,8°) | SW1 | SW2 | SW3 |
| 1 (full) | 200 | ON | ON | OFF |
| 2/A | 400 | ON | OFF | ON |
| 2/B | 400 | OFF | ON | ON |
| 4 | 800 | ON | OFF | OFF |
| 8 | 1600 | OFF | ON | OFF |
| 16 | 3200 | OFF | OFF | ON |
| 32 | 6400 | OFF | OFF | OFF |
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) | SW4 | SW5 | SW6 |
| 0,5 | 0,7 | ON | ON | ON |
| 1,0 | 1,2 | ON | OFF | ON |
| 1,5 | 1,7 | ON | ON | OFF |
| 2,0 | 2,2 | ON | OFF | OFF |
| 2,5 | 2,7 | OFF | ON | ON |
| 2,8 | 2,9 | OFF | OFF | ON |
| 3,0 | 3,2 | OFF | ON | OFF |
| 3,5 | 4,0 | OFF | OFF | OFF |
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ồn | Phù hợp | Lưu ý |
| 12 V | NEMA 17 chạy chậm, thử nghiệm | Mô-men tụt nhanh trên vài trăm vòng/phút |
| 24 V | Phổ biến nhất cho NEMA 17 và NEMA 23 | Nguồn tổ ong dễ kiếm, dư biên an toàn |
| 36 V | NEMA 23 cần tốc độ cao hơn | Vẫn cách xa giới hạn 42 V của module |
| 42 V trở lên | Không nên | Motor 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 đấu | Cực nối chung | Cực nhận tín hiệu | Dùng cho |
| Chung anode | PUL+, 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ển | PLC ngõ ra NPN, breakout board Mach3, ngõ ra open-collector |
| Chung cathode | PUL−, DIR−, ENA− nối GND bộ điều khiển | PUL+, DIR+, ENA+ nối chân điều khiển | Arduino, 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ài | Công suất điện trở | Dòng qua LED ước tính |
| 3,3 V | Không thêm | – | Khoảng 6–7 mA, sát ngưỡng |
| 5 V | Không thêm | – | Khoảng 10–13 mA |
| 12 V | 1 kΩ | 0,25 W | Khoảng 8–9 mA |
| 24 V | 2 kΩ – 2,2 kΩ | 0,5 W | Khoả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ước | Xung/vòng | Ở 10 kHz | Ở 20 kHz |
| 1/4 | 800 | 750 vòng/phút | 1.500 vòng/phút |
| 1/8 | 1600 | 375 vòng/phút | 750 vòng/phút |
| 1/16 | 3200 | 187 vòng/phút | 375 vòng/phút |
| 1/32 | 6400 | 94 vòng/phút | 187 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ệnh | Tá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 PLC | Ví dụ thường gặp | Cá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/DC | Q0.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.

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:
| Motor | Dòng pha thường gặp | Mức dòng nên đặt | Đánh giá |
| NEMA 17 (42 mm) thân 34–48 mm | 1,2–2,0 A | 1,0–2,0 A | Rất phù hợp, driver dư sức |
| NEMA 23 (57 mm) thân 56–76 mm | 2,0–3,0 A | 2,0–2,8 A | Phù hợp, nên có quạt khi chạy liên tục |
| NEMA 23 thân dài 100 mm trở lên | 3,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/57 | Như motor nền | Theo motor nền | Phù 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ượng | Nguyên nhân thường gặp | Cá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 A | Rút dây ENA thử; kiểm tra đèn PWR; đặt lại DIP |
| Chỉ quay một chiều | DIR 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 xung | Thê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ực | Chập dây motor hoặc chạm vỏ; quá dòng; quá nhiệt | Tắ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ếp | Ngắt nhiệt hoặc bảo vệ quá dòng kiểu chốt | Giả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ước | Xung quá hẹp; nhiễu; tốc độ hoặc gia tốc vượt khả năng motor | Tă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ấp | Chạy full bước gây cộng hưởng | Chuyể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 motor | Hạ 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 PLC | Cấp 24 V không có điện trở hạn dòng | Thay 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
| Driver | Dòng tối đa thực dụng | Nguồn | Ưu điểm so với TB6600 | Hạn chế |
| TB6560 | Khoảng 2,5–3 A | 10–35 V | Có sẵn board LPT nhiều trục | Chia vi bước ít hơn, xung chậm, dễ hỏng chip |
| A4988 / DRV8825 | 1–1,5 A (có quạt tới khoảng 2 A) | 8–35 V / 8,2–45 V | Nhỏ gọn, cắm thẳng lên bo | Không có opto, không đủ dòng cho NEMA 23 |
| TMC2209 | Khoảng 2 A RMS | 4,75–29 V | Cực êm, cấu hình UART | Dòng thấp, không dành cho NEMA 23 lớn |
| DM542 / DM556 | 4,2 A / 5,6 A đỉnh | 20–50 V | Opto nhanh, chống cộng hưởng, êm hơn | Giá cao hơn |
| Step vòng kín | Theo motor | 24–48 V | Khô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.






