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

Điều khiển động cơ bước 5V: chọn motor, driver, nguồn USB, pin và logic 3,3 V

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:51

Điều khiển động cơ bước 5V là cách chạy motor bước chỉ bằng một nguồn 5 V – cổng USB, sạc điện thoại, sạc dự phòng, bộ pin – thay cho nguồn 12–24 V quen thuộc của máy in 3D hay CNC. Cách này dùng cho thiết bị nhỏ, chạy pin hoặc cắm USB: kim đồng hồ đo, rèm cửa mini, máy cho cá ăn, bàn xoay chụp ảnh sản phẩm, cơ cấu lấy nét ống kính, đồ chơi khoa học, đồ án sinh viên dùng Arduino, ESP32, Raspberry Pi Pico.

Khó khăn nằm ở chỗ phần lớn driver phổ thông không khởi động được ở 5 V, phần lớn motor size lớn không cho lực ở 5 V, và cổng USB hay sạc dự phòng không hành xử như một nguồn phòng thí nghiệm. Nội dung dưới đây đi thẳng vào ba câu hỏi: motor nào chạy được 5 V, driver nào làm việc ở 5 V với logic 3,3 V, và cấp nguồn thế nào để vi điều khiển không tự khởi động lại khi motor quay.

1. Điều khiển động cơ bước 5V khác gì so với chạy ở 12–24 V?

Động cơ bước tạo mô-men theo dòng điện qua cuộn dây, không theo điện áp. Điện áp nguồn chỉ quyết định dòng điện lên nhanh đến mức nào mỗi khi driver đảo pha. Nguồn càng cao so với điện áp định mức của cuộn dây, dòng càng kịp đạt mức đặt ở tần số bước cao, motor giữ được lực khi quay nhanh. Khi chỉ có 5 V, khoảng dư này rất nhỏ hoặc bằng không, kéo theo mấy hệ quả:

  • Tốc độ tối đa thấp: mô-men tụt sớm khi tăng tần số bước, nhất là với motor có điện cảm lớn.
  • Kén driver: chỉ dùng được driver có ngưỡng điện áp nguồn tối thiểu dưới 5 V, kể cả khi nguồn bị sụt.
  • Kén motor: motor phải có điện áp định mức cuộn dây (dòng × điện trở) thấp hơn hẳn 5 V, hoặc bằng khoảng 5 V nếu là loại thiết kế để cắm thẳng 5 V.
  • Nguồn chung với vi điều khiển: motor và board thường dùng cùng một đường 5 V, nên mọi xung dòng của motor đều đi thẳng vào nguồn của bộ xử lý.

Với động cơ bước ở 5 V, chọn motor – driver – nguồn thực chất là bài toán giới hạn điện áp và dòng.

2. Loại động cơ bước 5V nào chạy được thật sự?

Không phải motor nào ghi "5V" hay cắm vào 5 V mà quay là phù hợp. Các nhóm dưới đây là những loại chạy ổn định ở 5 V trong thực tế.

a. Motor bước có hộp số 28BYJ-48 bản 5 V

Đây là loại phổ biến nhất, cuộn dây thiết kế cho 5 V, chạy thẳng qua mạch ULN2003 mà không cần giới hạn dòng. Thông số thật, màu dây, số bước mỗi vòng và cách lập trình đã có đầy đủ ở bài động cơ bước 5 dây 28BYJ-48. Ở góc độ cấp nguồn 5 V, chỉ cần nhớ: một motor ăn khoảng 0,2–0,4 A khi hai pha cùng dẫn, nên một cổng USB 2.0 chỉ nuôi nổi một motor cùng board điều khiển.

b. Motor bước micro 15 mm, 20 mm (15BY, 20BY) trong ổ quang, máy ảnh

Motor nam châm vĩnh cửu đường kính 15–20 mm, thường 4 dây lưỡng cực, góc bước 18° (20 bước mỗi vòng), nhiều mẫu gắn sẵn trục vít me để kéo đầu đọc ổ DVD, cụm lấy nét, cụm zoom. Điện áp danh định phổ biến 3–5 V, có loại ghi rõ 5 V lưỡng cực. Đặc điểm cần lưu ý:

  • Là motor lưỡng cực nên không dùng ULN2003 được; cần cầu H như DRV8833, TB6612FNG hoặc driver STEP/DIR điện áp thấp.
  • Mô-men rất nhỏ, chỉ đủ đẩy cụm nhẹ trên vít me; lực chủ yếu đến từ bước ren vít me chứ không phải từ motor.
  • Tháo từ ổ đĩa cũ thì thường không có tem; đo điện trở cuộn dây rồi bắt đầu chạy ở dòng thấp, tăng dần cho tới khi đủ lực mà vỏ chỉ ấm.

c. Motor bước siêu nhỏ 6–10 mm có vít me

Loại 6 mm, 8 mm, 10 mm dùng trong ống kính máy ảnh, camera an ninh, thiết bị y tế cầm tay, khóa điện tử. Điện áp làm việc thường 3–5 V, dòng vài chục đến hơn trăm mA. Với loại này, driver kiểu STSPIN220 (nguồn từ 1,8 V) hay DRV8834 (từ 2,5 V) có giới hạn dòng là an toàn nhất, vì cuộn dây nhỏ, cháy rất nhanh nếu cấp áp trực tiếp không kiểm soát. Nhóm motor thân vuông cỡ nhỏ hơn NEMA 17 có trong bài động cơ bước mini.

d. Motor đồng hồ đo X27.168, VID28 (motor kim)

Motor kim của đồng hồ táp-lô ô tô: điện áp 5 V, điện trở mỗi cuộn khoảng 260 Ω, dòng chỉ khoảng 20 mA, có hộp số bên trong, góc quét kim giới hạn khoảng 315°. Đây gần như là loại duy nhất có thể lái trực tiếp bằng chân vi điều khiển 5 V mà không cần driver, vì dòng mỗi cuộn nằm trong khả năng của chân GPIO. Dù vậy, nên thêm diode dập hoặc dùng IC đệm (ULN2803, IC driver chuyên cho motor kim) khi làm sản phẩm chạy lâu dài.

e. Motor NEMA 17 và motor thân vuông ở 5 V

Motor NEMA 17 điện áp định mức thấp (cuộn 1–2 Ω, dòng 1,5–2 A) về kỹ thuật vẫn quay được ở 5 V với driver giới hạn dòng như DRV8834 hoặc TMC2208, nhưng chỉ ở tốc độ thấp và lực giảm rõ khi tăng tốc. Motor tháo máy có tem ghi dòng 1 A, điện trở vài ôm như ở ảnh dưới đây cũng nằm trong trường hợp này: nhân điện trở với dòng tem ra điện áp cuộn dây, nếu con số đó vượt khoảng 3–3,5 V thì 5 V không đủ để đạt dòng định mức ở tốc độ đáng kể. Với các motor này, nguồn 12–24 V cùng driver thông thường mới cho kết quả như mong đợi; xem thêm bài động cơ bước NEMA 17.

Động cơ bước thân vuông tháo máy, tem ghi DC 1A 1,8 độ, cần kiểm tra điện áp cuộn dây trước khi điều khiển động cơ bước 5V

Bảng tóm tắt khả năng chạy 5 V

Loại motorChạy 5 VDriver phù hợpGhi chú
28BYJ-48 bản 5 V (đơn cực)Tốt, đúng định mứcULN2003, mảng MOSFETMỗi motor 0,2–0,4 A
Micro 15–20 mm lưỡng cựcTốtDRV8833, TB6612FNG, DRV8834Không dùng ULN2003
Micro 6–10 mm vít meTốtSTSPIN220, DRV8834Bắt buộc giới hạn dòng
X27.168 / VID28TốtChân GPIO hoặc IC đệmKhoảng 20 mA mỗi cuộn
NEMA 17 cuộn 1–2 ΩChạy chậm, lực giảmDRV8834, TMC2208Muốn nhanh dùng 12–24 V
NEMA 17 cuộn 20–30 Ω (12 V)Rất yếuKhông khuyến nghịDòng không đủ

3. Driver động cơ bước 5V: chọn IC theo điện áp nguồn tối thiểu

Lỗi phổ biến nhất khi tự làm mạch 5 V là cắm A4988 hay DRV8825 vào nguồn 5 V rồi thấy motor không nhúc nhích. Không phải mạch hỏng: hai IC này có mạch khóa điện áp thấp, không cho tầng công suất hoạt động khi nguồn motor dưới khoảng 8 V. Bảng dưới đây xếp các IC theo dải nguồn motor.

IC driverDải nguồn motorDòng mỗi pha (liên tục)Giao tiếp
STSPIN2201,8–10 V~1,1 ASTEP/DIR, tới 1/256 bước
DRV88342,5–10,8 V~1,5 ASTEP/DIR, tới 1/32 bước
DRV88332,7–10,8 V~1,5 A (2 cầu H)4 chân IN, có thể băm dòng bằng điện trở sense
TB6612FNG2,5–13,5 V~1,2 A, đỉnh 3,2 A4 chân IN + 2 PWM, không hạn dòng
ULN2003Tới ~50 V~0,5 A mỗi kênh4 chân IN, chỉ cho motor đơn cực
TMC2208 / TMC2209Từ 4,75 V~1,2–1,4 A RMS (module)STEP/DIR, UART
A49888–35 V~1 A không tản nhiệtKhông chạy ở 5 V
DRV88258,2–45 V~1,5 A có tản nhiệtKhông chạy ở 5 V

DRV8833 – cầu H kép cho motor lưỡng cực nhỏ

DRV8833 chứa hai cầu H MOSFET, mỗi cầu điều khiển một cuộn dây. Vi điều khiển bật/tắt 4 chân IN theo trình tự bước, giống như lái 4 transistor. Ưu điểm: sụt áp MOSFET rất thấp, chạy tốt từ 1 cell pin Li-ion (3–4,2 V) đến nguồn 5 V, có chân nSLEEP đưa IC về dòng tiêu thụ cỡ vài µA. Nhiều module bán sẵn nối thẳng chân sense xuống GND, tức là không có giới hạn dòng; khi đó motor phải có điện trở cuộn dây đủ lớn để tự giới hạn dòng ở 5 V. Muốn băm dòng, hàn điện trở sense vào chân AISEN/BISEN theo datasheet.

TB6612FNG – thay thế L298N ở điện áp thấp

TB6612FNG cũng là cầu H kép MOSFET, cần hai nguồn: VM cho motor (2,5–13,5 V) và VCC cho logic (2,7–5,5 V, nối 3,3 V hoặc 5 V tùy board). Chân STBY phải kéo lên mức cao thì IC mới chạy – nhiều người quên chân này và tưởng module hỏng. Không có giới hạn dòng, nên dùng cho motor lưỡng cực 5 V có điện trở cuộn phù hợp. So với L298N, TB6612FNG gần như không sụt áp, trong khi L298N mất 2–4 V trên transistor lưỡng cực, ở nguồn 5 V motor chỉ còn khoảng 1–3 V (chi tiết ở bài điều khiển động cơ bước dùng L298).

DRV8834 và STSPIN220 – STEP/DIR ở điện áp thấp

Hai IC này giữ cách điều khiển STEP/DIR quen thuộc của máy in 3D, có chỉnh dòng bằng biến trở và vi bước, nhưng hoạt động từ dưới 3 V. Đây là lựa chọn hợp lý khi cần vi bước, chạy êm và giới hạn dòng an toàn ở nguồn 5 V hoặc pin.

TMC2208 / TMC2209 ở 5 V

Ngưỡng tối thiểu 4,75 V nghĩa là nguồn 5 V chỉ dư 0,25 V. Một sợi cáp USB mảnh hay sạc dự phòng yếu làm nguồn tụt xuống 4,6–4,7 V là driver ngắt. Chỉ nên dùng TMC ở 5 V khi nguồn ổn định, dây ngắn, và chấp nhận rằng StealthChop ở nguồn thấp không giữ được lực ở tốc độ cao. Cách cấu hình StealthChop, SpreadCycle và UART đã có ở bài điều khiển động cơ bước lưỡng cực.

ULN2003 – chỉ cho motor đơn cực

ULN2003 chỉ kéo dây pha xuống đất, nên chỉ dùng cho motor đơn cực có dây chung, điển hình là 28BYJ-48. Phần cấu tạo IC, sụt áp Darlington, cách ghép kênh và thay bằng mảng MOSFET có ở bài điều khiển động cơ bước bằng ULN2003.

4. Logic 3,3 V với driver động cơ bước 5V

ESP32, ESP8266, Raspberry Pi, Raspberry Pi Pico, STM32 đều xuất mức logic 3,3 V, trong khi nguồn motor là 5 V. Câu hỏi là chân vào của driver có nhận 3,3 V là mức cao không.

DriverNhận logic 3,3 VĐiều kiện cần nhớ
ULN2003ĐượcMức vào ~2,4–3 V mới bão hòa ở dòng 200–300 mA; với motor nặng, 3,3 V sát ngưỡng
DRV8833ĐượcChân IN chịu được 5 V, mức cao từ khoảng 2 V
TB6612FNGĐượcCấp VCC = 3,3 V từ board, không cấp VCC 5 V khi logic là 3,3 V
DRV8834, STSPIN220ĐượcLogic nhận từ khoảng 1,6–2,5 V trở lên
TMC2208/2209ĐượcChân VIO nối 3,3 V của board
A4988 (để so sánh)Logic đượcNhưng nguồn motor vẫn phải ≥ 8 V

Raspberry Pi cần thêm chú ý

  • Chân GPIO của Raspberry Pi không chịu 5 V; module nào có điện trở kéo lên 5 V ở chân tín hiệu (ví dụ chân báo lỗi) phải chuyển mức hoặc bỏ điện trở kéo lên.
  • Chân 5V trên header Pi lấy thẳng từ nguồn cấp cho Pi; motor kéo dòng ở đây là kéo vào chính nguồn nuôi CPU, dễ gặp cảnh báo thiếu áp và treo thẻ nhớ.

Hai điểm đấu luôn phải đúng

  • GND của board điều khiển, GND của driver và âm nguồn motor phải nối chung.
  • Chân EN/STBY/nSLEEP phải ở trạng thái cho phép chạy, nếu để hở có module mặc định tắt.

5. Cấp nguồn 5 V từ cổng USB, sạc điện thoại, sạc dự phòng

Mỗi nguồn 5 V có giới hạn dòng khác nhau. Lấy motor từ nguồn yếu là nguyên nhân của phần lớn lỗi "chạy được một lúc rồi đứng", "cắm máy tính thì chạy, cắm sạc thì không".

Nguồn 5 VDòng cấp đượcLưu ý khi chạy động cơ bước
Cổng USB 2.0 máy tính500 mATrừ dòng của board, chỉ còn khoảng 300–400 mA cho motor
Cổng USB 3.x máy tính900 mAMột số máy tự ngắt cổng khi quá dòng, phải rút cắm lại
Sạc USB-A thường1–2,4 AChất lượng sạc rẻ rất khác nhau, áp có thể tụt khi tải nặng
Sạc USB-C (không thương lượng PD)1,5–3 A ở 5 VCần cáp và bo có điện trở nhận diện đúng mới được cấp điện
Sạc dự phòng1–3 ATự ngắt khi dòng tải quá nhỏ, thường dưới khoảng 50–100 mA
Nguồn tổ ong 5 V2–10 AỔn định nhất cho nhiều motor, cần chỉnh áp đúng 5,0–5,2 V

Arduino Uno, Nano cắm USB

Board Arduino có cầu chì tự phục hồi khoảng 500 mA trên đường USB. Lấy chân 5V của board nuôi một 28BYJ-48 qua ULN2003 thì được; nuôi hai motor chạy đồng thời là sát giới hạn, cầu chì nóng lên và tăng điện trở, áp ở chân 5V tụt dần, motor yếu đi sau vài phút.

Cáp USB cũng có điện trở

Cáp sạc mảnh, dài 1–2 m có điện trở vòng (dây dương cộng dây âm) khoảng 0,2–0,5 Ω. Ở dòng 0,5 A, áp mất trên dây đã 0,1–0,25 V, chưa tính tiếp xúc ở đầu cắm. Với driver có ngưỡng 4,75 V như TMC2208, chỉ chừng ấy đã đủ gây ngắt chập chờn. Dùng cáp ngắn, lõi to, hoặc đưa nguồn motor qua cầu đấu riêng thay vì đi qua board.

Sạc dự phòng tự tắt

Sạc dự phòng được thiết kế để sạc điện thoại; khi dòng tải nhỏ hơn mức ngưỡng trong một khoảng thời gian (thường vài chục giây), nó cho rằng điện thoại đã đầy và ngắt. Thiết bị dùng motor bước chạy ngắt quãng, đứng yên lâu với cuộn dây đã ngắt điện, sẽ bị mất nguồn hoàn toàn. Cách xử lý:

  • Chọn loại sạc dự phòng có chế độ dòng thấp (thường kích hoạt bằng nhấn giữ hoặc nhấn đúp nút nguồn).
  • Thêm tải giả nhỏ theo chu kỳ: một điện trở được đóng bằng transistor vài trăm mili giây mỗi chục giây.
  • Dùng mạch nguồn pin riêng thay cho sạc dự phòng khi thiết bị chạy lâu dài.

6. Sụt áp làm reset vi điều khiển khi motor chạy

Hiện tượng: motor vừa bắt đầu quay hoặc vừa đổi chiều thì board khởi động lại, đèn trên board chớp, ESP32 in ra dòng thông báo "Brownout detector was triggered" trên Serial Monitor, hoặc Arduino chạy lại từ đầu hàm setup.

Vì sao xảy ra

  • Lúc cuộn dây vừa được cấp điện, dòng tăng vọt; nguồn yếu, dây dài làm đường 5 V tụt sâu trong vài mili giây.
  • Board ESP32 phổ biến dùng ổn áp tuyến tính loại AMS1117 để hạ 5 V xuống 3,3 V; ổn áp này cần đầu vào cao hơn đầu ra khoảng 1–1,2 V, nên 5 V chỉ cần tụt dưới khoảng 4,3–4,4 V là đường 3,3 V bắt đầu tụt theo.
  • Khi WiFi phát, ESP32 cũng kéo xung dòng vài trăm mA; trùng thời điểm với motor đổi pha là đủ để mạch phát hiện thiếu áp kích hoạt.

Cách xử lý theo thứ tự hiệu quả

Biện phápTác dụngGhi chú
Tách nguồn motor và nguồn board, chỉ nối chung GNDLoại bỏ gần như hoàn toànCách chắc chắn nhất
Tụ hóa 470–1.000 µF sát chân nguồn driverBù xung dòng ngắnChọn tụ 10 V trở lên, đúng cực tính
Tăng tốc có gia tốc, không bật tất cả motor cùng lúcGiảm đỉnh dòngLệch thời điểm khởi động vài chục ms
Cáp nguồn ngắn, lõi toGiảm sụt áp trên dâyTránh cáp sạc mảnh dài
Ổn áp LDO sụt áp thấp hoặc buck-boost cho 3,3 VGiữ 3,3 V khi 5 V tụtÁp dụng khi phải dùng chung nguồn
  • Không tắt mạch phát hiện thiếu áp của ESP32 để "chữa" lỗi reset; vi điều khiển chạy ở áp thiếu có thể ghi hỏng bộ nhớ flash.
  • Không cắm thêm motor vào chân 3,3 V của board; ổn áp nhỏ trên board chỉ đủ cho chính vi điều khiển.
  • Diode nối tiếp trên đường nguồn board giúp ngăn dòng ngược từ motor nhưng làm mất thêm 0,3–0,7 V; với nguồn 5 V cần tính lại ngưỡng.

7. Điều khiển động cơ bước 5V bằng pin

Chạy pin đặt ra hai câu hỏi: điện áp pin thay đổi theo mức xả có còn trong dải của driver không, và pin chạy được bao lâu.

Chọn cấu hình pin

Cấu hìnhĐiện áp khi đầy → cạnDriver hợpGhi chú
4 pin AA kiềm~6,4 V → ~4 VULN2003, DRV8833, TB6612FNGĐầu chu kỳ hơi cao cho motor 5 V, cuối chu kỳ yếu
4 pin AA sạc NiMH~5,6 V → ~4,4 VULN2003, DRV8833Gần 5 V nhất trong suốt chu kỳ xả
1 cell Li-ion 186504,2 V → ~3 VDRV8833, DRV8834, STSPIN220Motor 5 V chạy được nhưng lực giảm; có thể thêm mạch tăng áp
1 cell Li-ion + mạch tăng áp 5 V5 V ổn địnhMọi driver điện áp thấpHiệu suất tăng áp khoảng 85–90 %
2 cell Li-ion nối tiếp8,4 V → ~6 VDRV8834, DRV8833 có hạn dòngKhông dùng cho ULN2003 với motor 5 V

Ước tính thời gian chạy

Công thức gần đúng: thời gian (giờ) = dung lượng pin (Wh) × hiệu suất mạch ÷ công suất motor trung bình (W). Ví dụ một cell 18650 2.000 mAh có khoảng 7,4 Wh; qua mạch tăng áp hiệu suất 85 % còn khoảng 6,3 Wh. Một motor 5 V giữ hai pha liên tục ăn khoảng 0,3 A × 5 V = 1,5 W, nên chỉ chạy được khoảng 4 giờ nếu cuộn dây có điện suốt. Nếu motor chỉ quay 2 phút mỗi giờ và ngắt pha khi đứng, công suất trung bình còn khoảng 0,05 W, thời gian kéo dài lên nhiều ngày; lúc đó dòng ngủ của vi điều khiển và mạch tăng áp mới là yếu tố quyết định.

8. Tiết kiệm điện: ngắt pha khi động cơ đứng yên

Động cơ bước tiêu thụ điện cả khi đứng yên nếu cuộn dây còn được cấp dòng để giữ vị trí. Với thiết bị chạy pin hoặc cắm USB, đây là phần điện năng lãng phí lớn nhất.

Khi nào được phép ngắt hoàn toàn

  • Motor có hộp số tỉ số lớn hoặc trục vít me ren nhỏ: ma sát tự giữ tải, ngắt pha không bị trôi.
  • Motor nam châm vĩnh cửu có mô-men giữ khi không cấp điện (detent) đủ lớn so với tải, ví dụ kim đồng hồ, cụm lấy nét nhẹ.
  • Cơ cấu có phanh, chốt hoặc vị trí cuối hành trình tự tựa.

Khi nào không nên ngắt

  • Trục đứng có tải treo, tải nặng có thể tự kéo trục quay ngược.
  • Motor không hộp số kéo dây đai: khi ngắt, rotor nhảy về vị trí bước nguyên gần nhất, lệch tới nửa bước đến một bước.

Cách ngắt theo từng loại driver

DriverCách ngắt / giảm dòngDòng còn lại
ULN2003Kéo cả 4 chân IN xuống mức thấpGần như bằng 0
DRV8833Kéo nSLEEP xuống thấpVài µA
TB6612FNGKéo STBY xuống thấpRất nhỏ
DRV8834, STSPIN220Chân SLEEP/STBY hoặc ENABLEVài µA ở chế độ ngủ
TMC2208/2209Chân EN, hoặc giảm dòng giữ (IHOLD) qua UARTGiảm tùy mức đặt

Gợi ý lập trình ngắn

  • Với thư viện AccelStepper: sau khi distanceToGo() bằng 0, gọi disableOutputs(); trước lần chạy kế tiếp gọi enableOutputs().
  • Với thư viện Stepper: thư viện không có hàm ngắt, phải tự ghi mức thấp cho 4 chân điều khiển sau mỗi lần quay.
  • Khi bật lại pha, đặt lại đúng bước cuối cùng thay vì bước bất kỳ, để rotor không giật nửa bước.

9. Sơ đồ đấu điều khiển động cơ bước 5V thường gặp

Cấu hình 5 V đơn giản nhất cho người mới là 28BYJ-48 cắm module ULN2003 như ảnh dưới; cách đấu bộ này có trong bài về motor 5 dây. Hai bảng sau dành cho motor lưỡng cực, loại không dùng được ULN2003.

Bộ điều khiển động cơ bước 5V gồm motor 28BYJ-48 và module ULN2003, jumper nguồn 5–12V

Cấu hình 1: motor lưỡng cực micro + DRV8833 + Arduino

Chân DRV8833Nối tớiGhi chú
VM5 VThêm tụ 100–470 µF sát chân
AIN1, AIN22 chân số ArduinoĐiều khiển cuộn A
BIN1, BIN22 chân số ArduinoĐiều khiển cuộn B
AOUT1, AOUT2Hai đầu cuộn AĐo thông mạch để biết cặp dây
BOUT1, BOUT2Hai đầu cuộn BĐảo một cặp để đổi chiều
nSLEEPChân số hoặc kéo lênMức thấp để ngủ, tiết kiệm điện
GNDGND chung 

Với cấu hình này, thư viện Stepper khai báo 4 chân theo thứ tự AIN1, AIN2, BIN1, BIN2; AccelStepper dùng kiểu FULL4WIRE với cùng thứ tự chân.

Cấu hình 2: driver STEP/DIR điện áp thấp (DRV8834) + vi điều khiển 3,3 V

Chân DRV8834Nối tớiGhi chú
VMOT, GND5 V và GNDTụ hóa ≥ 47 µF sát chân
STEPGPIO phát xungMỗi xung một bước hoặc vi bước
DIRGPIOMức cao/thấp chọn chiều
SLEEPGPIO hoặc kéo lênMức thấp để ngủ
M0, M1Kéo lên, kéo xuống hoặc để hởChọn vi bước theo bảng datasheet
A1, A2, B1, B2Hai cuộn motorCặp cùng cuộn đo thông mạch

Với AccelStepper, khai báo kiểu DRIVER với hai chân STEP và DIR. Trước khi cắm motor, chỉnh biến trở giới hạn dòng ở mức thấp, sau đó tăng dần.

10. Lỗi hay gặp khi điều khiển động cơ bước 5V

Hiện tượngNguyên nhân thường gặpCách xử lý
TB6612FNG không chạy dù đúng sơ đồChân STBY để hở hoặc nối đấtKéo STBY lên mức cao
Motor 5 V lưỡng cực rất nóng với DRV8833Không có giới hạn dòng, cuộn điện trở thấpHàn điện trở sense hoặc dùng DRV8834
Chạy chậm thì được, tăng tốc là trượt bướcNguồn 5 V không đủ khoảng dư so với điện áp cuộnGiảm tốc, thêm gia tốc hoặc tăng nguồn
Motor 28BYJ-48 bản 12 V cấp 5 V quay yếuDòng chỉ còn khoảng 40 % định mứcDùng bản 5 V hoặc nguồn 12 V
Motor giật một cái khi bật nguồnChân điều khiển trôi lúc khởi độngThêm điện trở kéo xuống, bật nguồn motor sau

Khi nào nên rời khỏi 5 V

  • Cần mô-men lớn, tốc độ cao hoặc dùng motor NEMA 17 trở lên: chuyển sang nguồn 12–24 V và driver như A4988, TMC2209, hoặc module công suất lớn hơn như mạch điều khiển động cơ bước TB6600.
  • Chỉ cần quay chậm liên tục, không cần định vị theo bước, chạy ắc quy: một motor 12V một chiều có hộp số đơn giản và khỏe hơn.
  • Cần chạy liên tục nhiều giờ với tải lớn ở điện lưới: một động cơ giảm tốc mini phù hợp hơn hẳn động cơ bước 5 V.

11. Câu hỏi thường gặp về điều khiển động cơ bước 5V

  • A4988 có chạy được với nguồn 5 V không? Không. A4988 cần nguồn motor tối thiểu khoảng 8 V; dưới ngưỡng này mạch khóa điện áp thấp giữ tầng công suất ở trạng thái tắt nên motor không nhận dòng. Chân logic VDD của A4988 nhận 3,3–5 V được, nhưng đó là nguồn logic, không phải nguồn motor. DRV8825 cũng vậy với ngưỡng khoảng 8,2 V, giảm dòng đặt không giúp IC khởi động. Muốn dùng STEP/DIR ở 5 V, chọn DRV8834 hoặc STSPIN220.
  • Có thể lấy nguồn 5 V trực tiếp từ cổng USB máy tính để chạy động cơ bước không? Được với một motor nhỏ như 28BYJ-48 bản 5 V hoặc motor micro, tổng dòng cả board dưới khoảng 400–450 mA với cổng USB 2.0. Nhiều motor chạy đồng thời sẽ làm máy tính ngắt cổng hoặc cầu chì trên board nóng và tụt áp. An toàn nhất là dùng nguồn 5 V riêng cho motor và nối chung GND.
  • Sạc điện thoại 5V 2A có nuôi được bao nhiêu motor 28BYJ-48? Về dòng, sạc 2 A thật đủ cho khoảng 3–4 motor chạy đồng thời cùng một board ESP32, nếu chừa khoảng 30 % dự phòng. Thực tế nhiều sạc giá rẻ tụt áp khi tải lớn, nên đo áp ở đầu module khi tất cả motor chạy; dưới 4,7 V là nguồn đang quá tải.
  • ESP32 hay khởi động lại mỗi khi động cơ bước quay là do đâu? Gần như luôn do sụt áp đường 5 V làm ổn áp 3,3 V trên board không giữ được áp, kích hoạt mạch phát hiện thiếu áp. Tách nguồn motor khỏi nguồn board, đặt tụ hóa 470–1.000 µF sát driver và tăng tốc motor dần thay vì khởi động đột ngột.
  • Raspberry Pi Pico có điều khiển trực tiếp được driver động cơ bước 5V không? Được, chân GPIO 3,3 V của Pico kích được ULN2003, DRV8833, TB6612FNG và các driver STEP/DIR điện áp thấp. Motor cấp từ chân VBUS khi cắm USB hoặc nguồn 5 V ngoài, không lấy từ chân 3V3. Bộ PIO của Pico phát xung bước rất đều, phù hợp cho cơ cấu cần chạy êm.
  • Motor bước tháo từ ổ DVD có chạy được với nguồn 5 V không? Chạy được, đây là motor nam châm vĩnh cửu lưỡng cực điện áp thấp, thường 18° mỗi bước kèm trục vít me. Dùng DRV8833 hoặc DRV8834, bắt đầu ở dòng thấp và tăng dần. Không dùng ULN2003 vì motor chỉ có 4 dây, không có dây chung.
  • Động cơ bước 5V chạy bằng 1 cell pin Li-ion 3,7 V được không? Được với driver hoạt động dưới 4 V như DRV8833, DRV8834, STSPIN220; lực giảm khoảng tương ứng với tỉ lệ điện áp so với 5 V. Nếu cần đủ lực, thêm mạch tăng áp lên 5 V. ULN2003 vẫn đóng cắt được ở 3,7 V nhưng sụt áp Darlington làm motor 5 V còn rất yếu.
  • Vì sao motor chạy bằng sạc dự phòng một lúc thì cả mạch tắt? Sạc dự phòng tự ngắt khi dòng tải dưới ngưỡng, thường khoảng 50–100 mA trong vài chục giây, xảy ra khi motor đứng và đã ngắt pha. Dùng sạc có chế độ dòng thấp, thêm tải giả theo chu kỳ, hoặc chuyển sang nguồn pin có mạch bảo vệ riêng.
  • Có cần chuyển mức logic khi dùng vi điều khiển 3,3 V với driver chạy nguồn 5 V không? Với ULN2003, DRV8833, TB6612FNG (VCC 3,3 V), DRV8834, STSPIN220, TMC2208 thì không cần, vì các IC này nhận 3,3 V là mức cao. Chỉ cần chuyển mức theo chiều ngược lại: tín hiệu từ module đi về chân GPIO của Raspberry Pi hay ESP32 mà có điện trở kéo lên 5 V.
  • Có thể điều khiển động cơ bước 5V trực tiếp từ chân Arduino không qua driver không? Chỉ với motor kim đồng hồ X27.168, VID28 dòng khoảng 20 mA mỗi cuộn. Motor khác như 28BYJ-48 hay motor micro ăn 100–400 mA, vượt xa giới hạn chân GPIO khoảng 20–40 mA, sẽ làm hỏng vi điều khiển.
  • Ngắt điện cuộn dây khi động cơ bước 5V đứng yên có làm mất vị trí không? Với motor có hộp số tỉ số lớn hoặc vít me ren nhỏ thì hầu như không, vì ma sát tự giữ tải. Với motor không hộp số, rotor có thể nhảy về bước nguyên gần nhất khi ngắt, lệch tới một bước; khi bật lại pha phải cấp đúng bước cuối cùng. Tải treo trục đứng thì không nên ngắt.
  • Dùng TMC2209 ở 5 V có chạy êm như ở 24 V không? Ở tốc độ thấp vẫn êm, nhưng nguồn 5 V chỉ cao hơn ngưỡng tối thiểu 4,75 V một chút nên dễ ngắt khi nguồn tụt, và lực giảm nhanh khi tăng tốc. TMC2209 ở 5 V chỉ hợp lý cho cơ cấu nhẹ, chậm, nguồn ổn định và dây ngắn.
4.747 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