Điều khiển góc quay động cơ bước: công thức số xung, độ chính xác và chia độ
Điều khiển góc quay động cơ bước là việc quy đổi góc cần quay thành một số xung chính xác rồi gửi số xung đó vào driver: mỗi xung làm trục quay đúng một bước (hoặc một vi bước), nên số xung = góc cần quay ÷ góc ứng với một xung. Với động cơ hybrid 1,8° chạy bước đủ, quay 90° cần 50 xung; đặt vi bước 1/16 thì cần 800 xung; thêm hộp số 10:1 ở trục ra thì cần 8.000 xung.
Phần khó không nằm ở phép chia mà ở ba chỗ người lắp đặt hay vấp: góc chia không ra số xung nguyên nên sai số làm tròn cộng dồn sau nhiều vòng; tưởng vi bước 1/256 là quay chính xác tới 0,007°; và trục bị lệch khỏi góc lệnh khi có tải, khi tắt driver hoặc khi đổi chiều qua hộp số có khe hở. Một động cơ bước 1,8° tốt chỉ có sai số góc bước khoảng ±0,05–0,09° và sai số này không cộng dồn, nhưng mô-men tải 50% mô-men giữ đã đủ đẩy trục lệch khoảng 0,6°.
Nội dung
- 1. Nguyên lý điều khiển góc quay động cơ bước
- 2. Góc bước của các loại động cơ bước thông dụng
- 3. Công thức tính số xung theo góc quay
- 4. Chọn vi bước và tỉ số truyền để góc chia hết
- 5. Độ phân giải lệnh và độ chính xác góc thực tế
- 6. Mô-men giữ, mô-men định vị và việc giữ góc khi dừng
- 7. Dùng hộp số và puly để chia góc chính xác hơn
- 8. Tránh sai số làm tròn tích lũy khi chia góc lẻ
- 9. Ví dụ tính trọn một bàn xoay chia độ bằng động cơ bước
- 10. Sai lệch góc quay thường gặp và cách xử lý
- 11. Câu hỏi thường gặp về điều khiển góc quay động cơ bước
1. Nguyên lý điều khiển góc quay động cơ bước
Mỗi lần driver nhận một xung ở chân STEP (PUL), nó chuyển dòng điện trong các cuộn dây sang trạng thái kế tiếp và kéo rotor quay đúng một góc cố định. Vì vậy tổng số xung quyết định góc quay, mức logic chân DIR quyết định chiều quay. Tần số xung chỉ quyết định quay nhanh hay chậm (thuộc về điều khiển tốc độ động cơ bước), không ảnh hưởng tới góc cuối cùng nếu động cơ không mất bước.
Điểm quan trọng nhất của điều khiển góc bằng động cơ bước là tính chất vòng hở: bộ điều khiển "tin" rằng trục đã quay đúng số bước được lệnh, không có cảm biến nào báo lại. Góc thực tế đúng bằng góc lệnh chỉ khi đủ ba điều kiện: số xung tính đúng, mô-men động cơ luôn lớn hơn mô-men tải để không trượt bước, và có một mốc góc 0 rõ ràng để bắt đầu đếm. Cách tạo mốc 0 bằng công tắc hành trình hay cảm biến được trình bày trong bài điều khiển vị trí động cơ bước.

- Mỗi xung STEP làm trục quay một bước hoặc một vi bước; đếm đủ số xung là trục dừng đúng góc cần quay.
2. Góc bước của các loại động cơ bước thông dụng
Góc bước (step angle) là góc trục quay được sau một xung khi driver chạy bước đủ (full step).
| Loại động cơ | Góc bước | Số bước/vòng | Ghi chú khi điều khiển góc |
| Hybrid 2 pha tiêu chuẩn (NEMA 17, 23, 34) | 1,8° | 200 | Phổ biến nhất, sai số góc bước thường ±5% bước |
| Hybrid 2 pha độ phân giải cao | 0,9° | 400 | Gấp đôi số bước/vòng, mô-men giữ thường thấp hơn bản 1,8° cùng cỡ |
| Hybrid 5 pha | 0,72° | 500 | Cần driver 5 pha riêng, rung nhỏ, chia góc mịn ngay ở bước đủ |
| Nam châm vĩnh cửu (vỏ lon, can-stack) | 7,5° hoặc 15° | 48 hoặc 24 | Rẻ, mô-men nhỏ, sai số góc bước lớn hơn loại hybrid |
| 28BYJ-48 có hộp số liền | ≈0,176° ở trục ra (bước đủ) | ≈2038 | Tỉ số hộp số không nguyên, khe hở lớn |
Trường hợp 28BYJ-48
Động cơ này có tỉ số hộp số thực khoảng 63,68:1 chứ không phải 64:1, nên một vòng trục ra ở chế độ bước đủ cần khoảng 2.037,9 bước chứ không phải 2.048 như nhiều đoạn code mẫu vẫn dùng. Dùng 2.048 thì mỗi vòng trục quay dư khoảng 1,8°, sau 20 vòng đã lệch hơn 35°. Cách nối dây và các chế độ chạy của loại này có trong bài điều khiển động cơ bước 5 dây.
3. Công thức tính số xung theo góc quay
Công thức tổng quát để đổi góc quay ở trục ra thành số xung:
N = (θ ÷ α) × m × i
Trong đó:
- N: số xung cần phát.
- θ: góc cần quay ở trục ra (độ).
- α: góc bước của động cơ (độ), ví dụ 1,8°.
- m: hệ số vi bước đặt trên driver, ví dụ 16 khi chọn 1/16; chạy bước đủ thì m = 1, nửa bước thì m = 2.
- i: tỉ số truyền giữa trục động cơ và trục ra; quay trực tiếp thì i = 1, hộp số 10:1 thì i = 10, puly 20 răng kéo puly 60 răng thì i = 60/20 = 3.
Hai đại lượng suy ra từ công thức trên dùng rất thường xuyên:
- Số xung/vòng trục ra: P = (360 ÷ α) × m × i.
- Góc ứng với một xung (độ phân giải lệnh): Δθ = 360 ÷ P.
| Cấu hình | Số xung/vòng (P) | Góc mỗi xung | Xung để quay 90° | Xung/độ |
| 1,8°, bước đủ, trực tiếp | 200 | 1,8° | 50 | 0,556 |
| 1,8°, vi bước 1/8, trực tiếp | 1.600 | 0,225° | 400 | 4,444 |
| 1,8°, vi bước 1/16, trực tiếp | 3.200 | 0,1125° | 800 | 8,889 |
| 0,9°, vi bước 1/16, trực tiếp | 6.400 | 0,05625° | 1.600 | 17,778 |
| 1,8°, vi bước 1/16, puly 20:90 (i = 4,5) | 14.400 | 0,025° | 3.600 | 40 |
| 1,8°, vi bước 1/8, hộp số 90:1 | 144.000 | 0,0025° | 36.000 | 400 |
- Góc mỗi xung chỉ là độ phân giải của lệnh, không phải độ chính xác góc mà trục đạt được (xem mục 5).
- Đổi hệ số vi bước trên driver mà quên sửa trong chương trình thì mọi góc sẽ sai theo đúng tỉ lệ đó, ví dụ lệnh 90° thành 45° hoặc 180°.
- Với hộp số, chiều quay trục ra có thể ngược chiều trục động cơ (hộp trục vít bánh vít, cặp bánh răng một cấp), cần đảo DIR trong chương trình nếu cần.
Lỗi chia số nguyên trong chương trình
Lỗi kinh điển khi lập trình là tính số xung/độ bằng phép chia số nguyên. Ví dụ động cơ 400 bước/vòng qua tỉ số 6:1 có 2.400 xung/vòng, tức 6,667 xung/độ; nếu biến được khai báo kiểu số nguyên thì kết quả bị cắt còn 6, và lệnh quay 360° chỉ phát 2.160 xung, trục dừng ở khoảng 324°. Cách tránh là luôn nhân trước rồi mới chia: N = θ × P ÷ 360, thực hiện trên số nguyên đủ lớn (32 bit) hoặc số thực rồi làm tròn ở bước cuối cùng. Cách viết đoạn mã tương ứng trên các thư viện phổ biến có trong bài điều khiển động cơ bước bằng Arduino.
4. Chọn vi bước và tỉ số truyền để góc chia hết
Điều kiện để mỗi độ là một số xung nguyên
Số xung/vòng P phải chia hết cho 360. Vì 360 = 2³ × 3² × 5, còn động cơ 1,8° với vi bước lũy thừa của 2 cho P dạng 200 × 2ⁿ (chỉ chứa thừa số 2 và 5), nên luôn thiếu thừa số 9. Muốn có số xung/độ nguyên, thừa số 9 phải đến từ tỉ số truyền: puly 20:90 (4,5), 20:180 (9), bàn xoay trục vít 72:1 hoặc 90:1 đều đáp ứng. Hộp số trục vít NMRV với dãy tỉ số tiêu chuẩn (5 đến 100) không có tỉ số nào chứa thừa số 9, nên khi dùng cần xử lý làm tròn theo mục 8.
Điều kiện để chia đều D trạm
Muốn bàn xoay chia D vị trí bằng nhau mà mỗi bước là số xung nguyên, P phải chia hết cho D. Chia 2, 4, 5, 8, 10 trạm thì hầu như cấu hình nào cũng đạt. Chia 3, 6, 9, 12 trạm cần thừa số 3 trong tỉ số truyền. Chia 7 trạm cần thừa số 7, ví dụ puly 20:140: với vi bước 1/8, P = 200 × 8 × 7 = 11.200, mỗi trạm đúng 1.600 xung.
| Yêu cầu | Cấu hình gợi ý | Số xung/vòng | Kết quả |
| Mỗi độ là số xung nguyên | 1,8°, 1/16, puly 20:90 | 14.400 | 40 xung/độ |
| Chia 6 trạm (60°) | 1,8°, 1/8, puly 20:60 | 4.800 | 800 xung/trạm |
| Chia 7 trạm | 1,8°, 1/8, puly 20:140 | 11.200 | 1.600 xung/trạm |
| Chia 12 trạm (30°) | 1,8°, 1/8, bàn xoay 90:1 | 144.000 | 12.000 xung/trạm |
| Chia 0,1° cho mỗi xung | Driver đặt 3.600 xung/vòng, trực tiếp | 3.600 | 10 xung/độ |
- Nhiều driver công nghiệp đặt độ phân giải theo "xung/vòng" bằng công tắc DIP (ví dụ 400, 800, 1.000, 1.600, 2.000, 3.200, 4.000, 5.000...) thay vì theo phân số vi bước; tra bảng DIP của đúng model driver trước khi tính.
- Mức 3.600 xung/vòng chỉ đặt được trên driver cho phép cài số xung/vòng tùy ý bằng phần mềm.
5. Độ phân giải lệnh và độ chính xác góc thực tế
Độ phân giải là góc nhỏ nhất có thể ra lệnh; độ chính xác là trục thực sự dừng cách góc lệnh bao xa. Nhầm lẫn hai con số này là nguồn gốc của phần lớn kỳ vọng sai khi điều khiển góc quay động cơ bước.
a. Sai số góc bước của động cơ
Do sai lệch gia công răng rotor, stator và chênh lệch nhỏ giữa các cuộn dây, mỗi vị trí bước đủ của động cơ hybrid lệch một chút so với lý thuyết. Động cơ 1,8° thông dụng có sai số góc bước khoảng ±5% bước (±0,09°); loại chất lượng cao đạt khoảng ±3 phút góc (±0,05°) khi không tải.
Sai số này có hai tính chất đáng mừng:
- Không cộng dồn: sau một vòng, trục quay về đúng vị trí cũ; sai số chỉ là độ lệch của từng vị trí so với vị trí lý tưởng.
- Lặp lại: cùng vị trí, cùng tải, trục dừng gần như đúng chỗ cũ, nên độ lặp lại tốt hơn độ chính xác tuyệt đối.
b. Vi bước tăng độ phân giải, không tăng độ chính xác
Vi bước chia mỗi bước đủ thành nhiều nấc nhỏ bằng cách điều chỉnh tỉ lệ dòng hai pha theo dạng sin. Trên lý thuyết, vi bước 1/16 cho góc 0,1125° mỗi xung. Thực tế rotor không dừng đều ở từng nấc vì mô-men từ không phải sin hoàn hảo, bảng dòng của driver có sai số và mô-men định vị kéo rotor về các vị trí bước đủ. Đo trên động cơ NEMA 17 thông dụng ở 1/16, khi không tải sai lệch đã vào khoảng ±1–2 vi bước, tùy driver.
Lý do sâu hơn là mô-men "tăng thêm" giữa hai vi bước liên tiếp rất nhỏ. Khi dịch một vi bước, mô-men kéo rotor tới nấc mới chỉ bằng sin(90° ÷ m) lần mô-men giữ:
| Hệ số vi bước | Góc mỗi vi bước (động cơ 1,8°) | Mô-men tăng thêm mỗi vi bước |
| 1/2 | 0,9° | 70,7% |
| 1/4 | 0,45° | 38,3% |
| 1/8 | 0,225° | 19,5% |
| 1/16 | 0,1125° | 9,8% |
| 1/32 | 0,056° | 4,9% |
| 1/256 | 0,007° | 0,6% |
- Nếu mô-men ma sát hoặc tải lớn hơn mô-men tăng thêm, rotor sẽ đứng yên qua vài xung rồi nhảy một lượt, góc thực đi theo kiểu bậc thang.
- Vi bước cao vẫn rất có ích để quay êm và giảm rung, nhưng không nên dùng nó làm căn cứ cho độ chính xác góc.
- Quy tắc thực dụng: chọn góc mỗi xung nhỏ hơn khoảng 1/5 độ chính xác cần đạt, phần chính xác còn lại phải đến từ cơ khí (hộp số, puly).
c. Lệch góc do tải khi trục đang giữ
Khi đứng yên có dòng, động cơ giữ trục như một lò xo xoắn: tải càng lớn, trục càng bị xoay lệch khỏi vị trí lệnh cho đến khi mô-men từ cân bằng mô-men tải. Với động cơ hybrid 2 pha, mô-men giữ biến thiên gần dạng sin theo góc lệch với chu kỳ 4 bước đủ, nên góc lệch tĩnh tính được theo công thức:
Góc lệch ≈ (2α ÷ π) × arcsin(T_tải ÷ T_giữ)
Với động cơ 1,8°, hệ số 2α/π ≈ 1,146°:
| Tải so với mô-men giữ | Góc lệch ở trục động cơ | Bằng bao nhiêu vi bước 1/16 |
| 10% | 0,115° | ≈1 |
| 30% | 0,349° | ≈3 |
| 50% | 0,600° | ≈5 |
| 70% | 0,889° | ≈8 |
- Lệch do tải là lệch đàn hồi: bỏ tải thì trục trở lại vị trí lệnh, không mất bước.
- Khi mô-men tải vượt mô-men giữ, rotor trượt sang vị trí cân bằng kế tiếp, cách vị trí cũ đúng bội số 4 bước đủ (7,2° với động cơ 1,8°); đây là mất bước và không tự phục hồi.
Khi yêu cầu góc chặt mà tải lại thay đổi liên tục, động cơ bước vòng hở bắt đầu chạm giới hạn. Lúc đó motor servo với encoder và vòng điều khiển vị trí sẽ tự bù lệch do tải, giữ góc ổn định hơn nhiều.
6. Mô-men giữ, mô-men định vị và việc giữ góc khi dừng
Hai khái niệm cần phân biệt:
- Mô-men giữ (holding torque): mô-men lớn nhất động cơ chống lại khi đang có dòng định mức và đứng yên.
- Mô-men định vị (detent torque): mô-men nhỏ do nam châm rotor tự hút vào răng stator khi không có dòng, thường chỉ khoảng 5–10% mô-men giữ. Cảm giác "lục cục" khi xoay trục bằng tay lúc không cấp điện chính là mô-men này.
Giảm dòng khi đứng yên
Phần lớn driver có chế độ tự giảm dòng khi không có xung (thường còn khoảng 50% sau vài trăm mili giây) để động cơ đỡ nóng. Mô-men giữ giảm gần theo tỉ lệ dòng, nên cùng một tải, góc lệch đàn hồi tăng lên rõ: tải 30% mô-men giữ định mức sẽ thành 60% mô-men giữ còn lại, góc lệch từ 0,35° tăng lên khoảng 0,74°.
Tắt ENABLE hoặc mất điện
Khi driver ngừng cấp dòng, chỉ còn mô-men định vị giữ trục. Nếu trục đang dừng giữa hai vị trí bước đủ (do chạy vi bước), rotor sẽ tự trượt về vị trí bước đủ gần nhất, lệch tối đa nửa bước (0,9° với động cơ 1,8°). Nếu tải lớn hơn mô-men định vị, trục bị xoay tự do và góc mất hẳn. Do đó:
- Cơ cấu cần giữ góc khi tắt dòng nên dừng ở vị trí bước đủ (số vi bước là bội của hệ số vi bước).
- Tải có trọng lực tác dụng cần phanh điện từ, hoặc truyền qua hộp trục vít có khả năng tự hãm.
- Sau mất điện, bộ điều khiển không còn biết góc thật của trục, phải xác lập lại mốc 0 trước khi chạy tiếp.
Trục giật khi bật nguồn hoặc reset driver
Khi driver vi bước khởi động hoặc bị reset, bộ đếm pha bên trong quay về trạng thái mặc định, trong khi rotor có thể đang nằm ở một vị trí khác trong chu kỳ 4 bước đủ. Ngay khi có dòng, rotor bị kéo về vị trí ứng với trạng thái mặc định, có thể giật tới ±2 bước đủ (±3,6° với động cơ 1,8°). Hệ quả là chỉ những góc cách nhau bội số 4 bước đủ mới giữ nguyên qua mỗi lần reset. Muốn tránh giật, không dùng chân RESET hoặc ngắt nguồn logic của driver giữa các lần quay; cách bố trí các chân SLEEP, RESET, ENABLE trên module phổ biến có trong bài điều khiển động cơ bước bằng A4988.
7. Dùng hộp số và puly để chia góc chính xác hơn
Bộ truyền giảm tốc giữa động cơ và trục ra nâng độ chính xác góc hiệu quả hơn nhiều so với tăng vi bước. Với tỉ số i:
- Độ phân giải lệnh nhỏ đi i lần.
- Sai số góc bước của động cơ ở trục ra nhỏ đi i lần: ±0,09° qua hộp số 10:1 chỉ còn ±0,009°.
- Lệch do tải giảm còn mạnh hơn: mô-men tải về tới trục động cơ đã nhỏ đi khoảng i lần, góc lệch ở trục động cơ lại bị chia tiếp cho i khi ra trục, nên với tải nhỏ, lệch góc ở trục ra giảm xấp xỉ theo bình phương tỉ số truyền.
Ví dụ so sánh
Mâm có mô-men cản 3 N·m. Dùng động cơ mô-men giữ 0,5 N·m qua hộp số 10:1 hiệu suất khoảng 90%, mô-men tải về trục động cơ khoảng 0,33 N·m (67% mô-men giữ), trục động cơ lệch khoảng 0,84°, nhưng ở trục ra chỉ còn khoảng 0,084°.
Khe hở hộp số: sai số không được chia nhỏ
Khe hở (backlash) nằm ngay ở trục ra nên tỉ số truyền không làm nó nhỏ đi. Hộp số hành tinh thông dụng có khe hở khoảng 10–30 phút góc (0,17–0,5°), loại chính xác dưới 5 phút góc. Hộp trục vít bánh vít có khe hở lớn hơn và tăng dần theo độ mòn. Trong ví dụ trên, chỉ riêng khe hở 15 phút góc (0,25°) đã lớn gấp ba lần lệch do tải. Vì vậy:
- Nếu cơ cấu chỉ quay một chiều (bàn xoay chia độ, cấp liệu), khe hở hầu như không ảnh hưởng tới góc dừng vì răng luôn tì một phía.
- Nếu cơ cấu đảo chiều liên tục, cần hộp số khe hở nhỏ, hoặc luôn tiếp cận góc đích từ cùng một chiều; kỹ thuật bù khe hở bằng phần mềm thuộc về điều khiển vị trí động cơ bước.
Puly đai răng hợp khi cần tỉ số "đẹp" để chia hết và tải nhẹ; hộp giảm tốc hành tinh hợp khi cần cứng, gọn, đồng trục; hộp trục vít bánh vít hợp khi cần tự hãm giữ góc lúc mất điện; còn nếu cơ cấu chỉ cần quay tới vài vị trí cố định và có cảm biến dừng, một động cơ giảm tốc mini kèm công tắc vị trí đôi khi đơn giản và bền hơn cả hệ động cơ bước.
Video sau giới thiệu hộp số hành tinh lắp cho động cơ bước và motor servo, loại hộp số có độ rơ nhỏ thường dùng khi cần tăng mô-men mà vẫn giữ độ chính xác góc.
8. Tránh sai số làm tròn tích lũy khi chia góc lẻ
Khi góc cần quay không ứng với số xung nguyên, ta buộc phải làm tròn. Sai số làm tròn chỉ tối đa nửa xung; vấn đề là cách làm tròn có thể khiến nó cộng dồn.
Ví dụ bàn xoay 7 trạm
Hệ có 144.000 xung/vòng (động cơ 1,8°, 1/8, bàn xoay 90:1), cần chia 7 trạm. Mỗi trạm lý thuyết là 144.000 ÷ 7 = 20.571,43 xung.
- Cách sai (lệnh tương đối): mỗi lần chuyển trạm phát 20.571 xung. Mỗi trạm hụt 0,43 xung, mỗi vòng hụt 3 xung (0,0075°). Nghe rất nhỏ, nhưng máy chạy liên tục 1.000 vòng thì hụt 3.000 xung, tức 7,5°, đủ làm phôi lệch khỏi đồ gá.
- Cách đúng (lệnh tuyệt đối): tính vị trí đích của trạm thứ k từ mốc 0, rồi mới làm tròn: đích(k) = làm tròn(k × 144.000 ÷ 7). Số xung giữa hai trạm sẽ tự xen kẽ 20.571 và 20.572; sau trạm thứ 7, đích đúng bằng 144.000, sai số không bao giờ vượt nửa xung (0,00125°).
Hai việc nên làm thêm
- Khi trục quay hết một vòng đủ, trừ bộ đếm đi đúng P xung để con số không phình mãi; đây là thao tác đổi gốc trong phần mềm, không cần quay về cảm biến.
- Nếu được, chọn tỉ số truyền sao cho P chia hết cho số trạm (mục 4); khi đó mọi lệnh đều là số nguyên và vấn đề biến mất.
Giới hạn của kiểu số thực trên vi điều khiển
Kiểu float 32 bit chỉ biểu diễn chính xác số nguyên tới khoảng 16,7 triệu; hệ 288.000 xung/vòng chạy liên tục 60 vòng đã vượt ngưỡng này và bộ đếm bắt đầu "nuốt" xung. Biến vị trí nên dùng số nguyên 32 hoặc 64 bit, và làm tròn bằng số nguyên: đích(k) = (k × P + D ÷ 2) ÷ D, với D là số trạm.
9. Ví dụ tính trọn một bàn xoay chia độ bằng động cơ bước
Bài toán: mâm gá đường kính 300 mm, cần chia 12 vị trí (mỗi vị trí 30°), độ chính xác yêu cầu ±0,05° ở mép mâm, mâm chỉ quay một chiều, mô-men cản ước tính 2 N·m.
Bước 1: chọn cấu hình truyền động
Động cơ trực tiếp không đạt vì riêng sai số góc bước đã ±0,09°. Chọn bàn xoay trục vít 90:1 với động cơ 1,8°, driver đặt 1/8: P = 200 × 8 × 90 = 144.000 xung/vòng, mỗi trạm 30° đúng 12.000 xung, không có sai số làm tròn.
Bước 2: kiểm tra từng thành phần sai số ở trục ra
| Thành phần | Ở trục động cơ | Ở trục ra (÷90) | Đánh giá |
| Độ phân giải lệnh | 0,225° | 0,0025° | Nhỏ hơn 1/20 yêu cầu |
| Sai số góc bước | ±0,09° | ±0,001° | Không đáng kể |
| Lệch do tải (2 N·m, hiệu suất trục vít ~50%) | ≈0,044 N·m về động cơ | Rất nhỏ | Động cơ mô-men giữ 0,4 N·m chỉ chịu ~11% tải |
| Khe hở bàn xoay | Không chia nhỏ | Theo nhà sản xuất | Quay một chiều nên răng luôn tì một phía |
Bước 3: kiểm tra chu kỳ thực tế
Đánh dấu vạch trên mép mâm, chạy 12 trạm × 50 vòng không tải, rồi có tải, đo lại độ lệch vạch so với vị trí ban đầu. Lệch đều mỗi vòng là lỗi số xung/vòng hoặc tỉ số truyền; lệch đúng bội số 7,2° ÷ 90 = 0,08° là động cơ đã mất bước.

- Bàn xoay chia độ, khớp robot nhỏ và cơ cấu xoay camera là những ứng dụng điển hình của điều khiển góc quay động cơ bước.
10. Sai lệch góc quay thường gặp và cách xử lý
| Hiện tượng | Nguyên nhân thường gặp | Cách xử lý |
| Góc sai theo một tỉ lệ cố định (90° thành 45° hoặc 180°) | Hệ số vi bước trên driver khác với số dùng trong chương trình | Đối chiếu bảng DIP của driver, sửa P trong chương trình |
| Lệnh 360° chỉ quay khoảng 324° hoặc góc thiếu đều | Phép chia số nguyên cắt mất phần thập phân | Nhân trước chia sau, làm tròn ở bước cuối |
| Lệch dần sau nhiều vòng, mỗi vòng một lượng nhỏ như nhau | Làm tròn từng lệnh tương đối; tỉ số hộp số thực không đúng số danh định | Ra lệnh theo vị trí tuyệt đối; đo lại tỉ số truyền thật |
| Lệch đột ngột đúng bội số 7,2° (động cơ 1,8°) | Mất bước do tải vượt mô-men | Tăng mô-men dư, thêm hộp số, kiểm tra kẹt cơ khí |
| Lệch khi đổi chiều, cùng một góc đi tới và đi lui khác nhau | Khe hở hộp số hoặc độ đàn hồi dây đai | Tiếp cận từ một chiều, dùng hộp số khe hở nhỏ |
- Luôn kiểm tra không tải trước, có tải sau, để tách lỗi tính toán khỏi lỗi cơ khí.
- Đánh dấu vạch trên trục ra và chạy nhiều chu kỳ để thấy rõ sai lệch.
11. Câu hỏi thường gặp về điều khiển góc quay động cơ bước
- Muốn quay chính xác 1 độ thì cần bao nhiêu xung? Lấy số xung/vòng trục ra chia cho 360. Động cơ 1,8° chạy bước đủ cần 0,556 xung cho 1°, tức không quay đúng 1° được; đặt vi bước 1/16 thì cần 8,89 xung, vẫn phải làm tròn. Muốn đúng tuyệt đối mỗi độ, chọn tỉ số truyền có thừa số 9, ví dụ puly 20:90 với vi bước 1/16 cho đúng 40 xung/độ.
- Vi bước 1/256 có giúp động cơ quay chính xác tới 0,007° không? Không. 1/256 chỉ là độ phân giải lệnh; mô-men tăng thêm mỗi vi bước khi đó chỉ khoảng 0,6% mô-men giữ, nhỏ hơn cả ma sát ổ bi, nên rotor thường không nhích theo từng vi bước. Độ chính xác thực tế vẫn bị giới hạn bởi sai số góc bước (khoảng ±0,05–0,09° với động cơ 1,8°) và lệch do tải.
- Động cơ 0,9° có chính xác hơn động cơ 1,8° vi bước 1/2 không? Cùng độ phân giải 400 xung/vòng, nhưng động cơ 0,9° có các vị trí dừng là bước đủ thật, được giữ bằng cấu trúc răng nên ổn định hơn vị trí nửa bước của động cơ 1,8°. Đổi lại, động cơ 0,9° cùng cỡ thường có mô-men giữ thấp hơn một chút.
- Tại sao góc quay lệch dần sau mỗi vòng dù đã tính đúng số xung? Thường do ra lệnh tương đối đã làm tròn, mỗi lần hụt một phần xung, hoặc do tỉ số hộp số thực không đúng số danh định (điển hình là 28BYJ-48 với tỉ số khoảng 63,68:1). Ra lệnh theo vị trí tuyệt đối và đo lại số xung/vòng thật sẽ khắc phục được.
- Có cách nào biết số xung/vòng thật của cơ cấu khi không rõ tỉ số truyền? Đánh dấu vạch trên trục ra, cho chạy một số xung lớn, ví dụ đúng 10 vòng theo tính toán, rồi đo góc dư hoặc thiếu. Tổng số xung chia số vòng thực tế cho ra P chính xác hơn đo một vòng.
- Mô-men định vị có giữ được góc khi tắt driver không? Chỉ với tải rất nhẹ. Khi tắt dòng, rotor trượt về vị trí bước đủ gần nhất (lệch tối đa nửa bước) và chỉ được giữ bằng khoảng 5–10% mô-men giữ. Tải có trọng lực tác dụng cần phanh hoặc hộp trục vít tự hãm.
- Vì sao trục giật một chút mỗi lần bật nguồn? Khi khởi động, driver đặt dòng hai pha ở trạng thái mặc định, rotor bị kéo về vị trí tương ứng trong chu kỳ 4 bước đủ, có thể lệch tới ±2 bước đủ. Vì vậy không nên reset hay ngắt nguồn driver giữa các lần quay.
- Nên dùng hộp số hay puly để chia độ cho bàn xoay? Puly đai răng thuận tiện khi cần tỉ số "đẹp" (4,5, 7, 9) để mỗi trạm là số xung nguyên và khe hở gần như bằng 0, phù hợp mâm nhẹ. Bàn xoay trục vít 72:1 hoặc 90:1 cứng hơn, tự hãm được, hợp gia công cơ khí quay một chiều. Hộp số hành tinh khe hở nhỏ hợp khi phải đảo chiều liên tục.
- Khe hở hộp số 20 phút góc ảnh hưởng thế nào tới góc quay? 20 phút góc bằng 0,33°, được cộng thẳng vào trục ra mỗi khi đảo chiều, không bị tỉ số truyền chia nhỏ. Nếu cơ cấu quay một chiều thì gần như không ảnh hưởng; nếu quay hai chiều với yêu cầu ±0,1° thì hộp số đó không đạt.
- Quay góc lẻ như 51,43° có chính xác được không? Được, nếu tính đích theo vị trí tuyệt đối và làm tròn tới xung gần nhất; sai số tối đa là nửa xung. Với hệ 3.200 xung/vòng, nửa xung là khoảng 0,056°; qua hộp số 10:1 chỉ còn 0,0056°.






