Hôm nay cùng tìm hiểu driver điều khiển động cơ bước A4988 một chút để xem nó ứng dụng điều khiển động cơ cùng với Arduino như thế nào nhé





– Động cơ bước là loại động cơ mà chúng ta hoàn toàn có thể quy đình góc quay của nó (mình sẽ có một bài chi tiết nói về động cơ bước sau nhé
) và A4988 hoàn toàn có thể làm được việc đó chỉ với 2 chân dù động cơ bước có nhiều chân điều khiển tới đâu (cái này cũng có một phần là đúng
) trong đó


1 chân để điều khiển số bước còn 1 chân để điều khiển hướng.
– Nghe điều này có vẻ kì diệu nhưng mà muốn động cơ hoạt động ổn định thì vẫn cần đầy đủ các chân của driver nhé
(không nó làm nhiều chân để làm gì anh em).





















Ở trong mỗi chân đều có nội trở kéo xuống LOW, mà thông thường chúng ta cứ Full step mà chơi cho nên chúng ta không kết nối gì thì động cơ sẽ hoạt động với chê độ bước đủ.




+ Khi tín hiệu đầu vào HIGH thì sẽ điều khiển động cơ theo chiều kim đồng hồ
+ Khi tín hiệu đầu vào LOW thì sẽ điều khiển động cơ ngược chiều kim đồng hồ







Chúng ta phải chuẩn bị sơ sơ vài thứ:


+ Độ phân giải (độ/step)
+ Điện áp sử dụng (tất nhiên trong trường hợp này đừng lớn hơn 35V nhé

+ Dòng sử dụng
+ Đường kính trục động cơ (nếu trong trường hợp với máy in 3D với CNC thì chọn sao cho phù hợp với vít me và dây đai)
+ Nhiều dự án mình cũng phải quan tâm đến khối lượng (kg) nhưng có lẽ cái này đối với anh em cũng không quan trọng lắm
+ Mua đồ cũ hay mới (hãy mua đồ phù hợp với túi tiền của anh em nhé
)








+ Bài này mình nói ngoài lề hơi nhiều có lẽ đây là lần cuối anh em có thể bỏ qua cũng được: Trên module A4988 có thêm một con biến trở để thay đổi giới hạn định mức của động cơ, trong trường hợp này chúng ta sử dụng đồng hồ điện để đo áp qua cuộn dây của động cơ bước, từ đó ta sẽ điều chỉnh biến trở trên module A4988 để chỉnh lại sao cho áp đó đúng với datasheet của động cơ.

Chân nguồn VMOT vào nguồn 12V
Chân VDD vào chân 5V của Arduino
Chân 1A & 1B và 2A & 2B đấu vào 4 chân đầu ra của 2 cuộn dây
Chân DIR – chân 2 của Arduino
Chân STEP – chân 3 của Arduino
Chân RST của A4988 – chân SLP của A4988 giữ cho mạch hoạt động.



// Việt hóa by Linh kiện nông nghiệp NBN
const int dirPin = 2; // setup chân DIR
const int stepPin = 3; // setup chân STEP
const int stepsPerRevolution = 200; // thiết lập giá trị phân giải cho bước
void setup()
{
pinMode(stepPin, OUTPUT); // khai báo chân đầu ra
pinMode(dirPin, OUTPUT);
}
void loop()
{
// Set động cơ quay theo chiều kim đồng hồ
digitalWrite(dirPin, HIGH);
// Động cơ quay chậm khi xung nhỏ
for(int x = 0; x < stepsPerRevolution; x++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin, LOW);
delayMicroseconds(2000);
}
delay(1000); // Delay
// Set động cơ quay ngược chiều kim đồng hồ
digitalWrite(dirPin, LOW);
// Cho động cơ quay nhanh hơn để test
for(int x = 0; x < stepsPerRevolution; x++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(1000);
digitalWrite(stepPin, LOW);
delayMicroseconds(1000);
}
delay(1000); // Delay
}