Giới thiệu Module điều khiển A4988
Module điều khiển A4988 là driver đ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 A4988 hỗ trợ nhiều chế độ hoạt động của động cơ bước lưỡng cực như: Full, 1/2, 1/4, 1/8 và 1/16.
Chức năng các chân Module A4988
- EN : Cho phép động cơ bước quay
- MS1, MS2, MS3 : Lựa chọn tỉ số Full, 1/2, 1/4, 1/8 và 1/16.
- RST : Reset động cơ.
- SLP : Chế độ SLEEP nghỉ.
- STEP : điều khiển quay động cơ bước.
- DIR : Lựa chọn quay thuận nghịch.
- GND : Cấp nguồn 0V.
- VCC : Cấp nguồn 12V.
- 1B, 1A : Ngõ ra cuộn 1 kích động cơ bước
- 2A, 2B : Ngõ ra cuộn 2 kích động cơ bước
- GND : Cấp nguồn 0V.
- VMOT : Cấp nguồn cho động cơ
Thông số kỹ thuật Module điều khiển A4988
- Điện áp hoạt động : 5V
- Điện áp động cơ : 12V – 35V
- Dòng điện đỉnh : 2A
- Công suất hoạt động : Max 70W
- Chuẩn truyền : I/O
- Nhiệt độ hoạt động : -40°C – 150°C
- Có 5 chế độ : Full bước, 1/2 bước, 1/4 bước, 1/8 bước, 1/16 bước
- Số chân : 16
- Loại : Module
- Dòng ra : điều chỉnh bằng biến trở
- Tự động ngắt điện khi quá nhiệt.
- Kích thước : 50mm*36mm*14.4mm
Cách sử dụng
- Lựa chọn chế độ full hay 1/2 hay 1/4… sẽ được thông qua 3 pin MS1 MS2 MS3. Mình thường nối thẳng 3 pin 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 pin này tức là mode full step.
- Bật tắt động cơ thì thông qua pin ENABLE, mức LOW là bật module, mức HIGH là tắt module
- Điều khiển chiều quay của động cơ thông qua pin DIR
- Điều khiển bước của động cơ thông qua pin STEP, mỗi xung là tương ứng với 1 bước (hoặc vi bước)
- Hai chân Sleep với Reset luôn nối với nhau.
Chương trình Test
Nguyên lý kết nối
Chương trình
// Define pin connections & motor's steps per revolution const int dirPin = 2; const int stepPin = 3; const int stepsPerRevolution = 200; void setup() { // Declare pins as Outputs pinMode(stepPin, OUTPUT); pinMode(dirPin, OUTPUT); } void loop() { // Set motor direction clockwise digitalWrite(dirPin, HIGH); // Spin motor slowly for(int x = 0; x < stepsPerRevolution; x++) { digitalWrite(stepPin, HIGH); delayMicroseconds(2000); digitalWrite(stepPin, LOW); delayMicroseconds(2000); } delay(1000); // Wait a second // Set motor direction counterclockwise digitalWrite(dirPin, LOW); // Spin motor quickly for(int x = 0; x < stepsPerRevolution; x++) { digitalWrite(stepPin, HIGH); delayMicroseconds(1000); digitalWrite(stepPin, LOW); delayMicroseconds(1000); } delay(1000); // Wait a second }
Liên hệ làm mạch
- Phone: 0967.551.477
- Zalo: 0967.551.477
- Email: dientunhattung@gmail.com
- Chi tiết : Nhận làm mạch và hướng dẫn đồ án sinh viên
Tham khảo chương trình mẫu và thông tin linh kiện chi tiết tại:
Đánh giá
Chưa có đánh giá nào.