A4988 là mạch điều khiển động cơ bước cực kỳ nhỏ gọn, hỗ trợ nhiều chế độ làm việc, điều chỉnh được dòng ra cho động cơ, tự động ngắt điện khi quá nóng. Mạch điều khiển động cơ bước A4988 hỗ trợ nhiều chế độ hoạt động như Full, 1/2, 1/4, 1/8 và 1/16. Cùng tìm hiểu chi tiết về A4988 trong bài viết sau.
Thông số kỹ thuật của A4988
- Điện áp nguồn cấp tối thiểu: 8 V
- Điện áp cấp cực đại: 35 V
- Dòng cấp liên tục cho mỗi pha khi không có tản nhiệt, làm mát: 1A
- Dòng cấp liên tục cho mỗi pha khi có tản nhiệt, làm mát: 2A
- Điện áp logic 1 tối thiểu: 3V
- Điện áp logic 1 tối đa: 5.5V
- Độ phân giải (chế độ điều khiển bước): full, 1/2, 1/4, 1/8, và 1/16
- Tính năng tự động ngắt điện khi quá nhiệt
- Kích thước mạch: 15.24 x 20.32 (cm)
Sơ đồ kết nối chân cho mạch A4988
Dưới đây là sơ đồ kết nối các chân của mạch điều khiển động cơ bước A4988.
Cách sử dụng A4988
Thông qua 3 chân MS1, MS2, MS3 bạn sẽ lựa chọn các chế độ full hay 1/2 hay 1/4…. Bạn có thể nối thẳng 3 chân này với công tắc bit 3p để dễ thiết lập từ trên phần cứng. Lưu ý là nếu thả nổi 3 chân này tức là mode full step.
Chân ENABLE sẽ bật tắt động cơ, mức LOW là bật module, mức HIGH là tắt module
Chân DIR điều khiển chiều quay của động cơ
Chân STEP điều khiển bước của động cơ, mỗi xung là tương ứng với 1 bước (hoặc vi bước)
Hai chân Reset và Sleep luôn nối với nhau.
MS1 | MS2 | MS3 | Bước |
Low | Low | Low | Full Step |
High | Low | Low | 1/2 Step |
Low | High | Low | 1/4 Step |
High | Low | High | 1/8 Step |
High | High | High | 1/16 Step |
Kết nối giữa một vi điều khiển nói chung với A4988
Kết nối giữa A4899 với Board Arduino
Tham khảo datasheet: https://dientusangtaovn.com/wp-content/uploads/2023/04/A4988.pdf
CODE điều khiển mạch A4988 tham khảo
const int stepPin = 3;
const int dirPin = 4;
void setup() {
// Sets the two pins as Outputs
pinMode(stepPin,OUTPUT);
pinMode(dirPin,OUTPUT);
}
void loop() {
digitalWrite(dirPin,HIGH); // Enables the motor to move in a particular direction
// Makes 200 pulses for making one full cycle rotation
for(int x = 0; x < 800; x++) {
digitalWrite(stepPin,HIGH);
delayMicroseconds(500);
digitalWrite(stepPin,LOW);
delayMicroseconds(50);
}
delay(1000); // One second delay
digitalWrite(dirPin,LOW); //Changes the rotations direction
// Makes 400 pulses for making two full cycle rotation
for(int x = 0; x < 800; x++) {
digitalWrite(stepPin,HIGH);
delayMicroseconds(500);
digitalWrite(stepPin,LOW);
delayMicroseconds(50);
}
delay(1000);
}
Trên đây là một số thông tin cơ bản về mạch điều khiển động cơ bước A4988. Mong rằng bài viết sẽ giúp bạn có được những kiến thức bổ ích về mạch điều khiển động cơ.