Bài 13: Điều khiển StepMotor
Bài 13: Điều khiển StepMotor
Bài 13: Điều khiển StepMotor
Bài 13: Điều khiển StepMotor
Bài 13: Điều khiển StepMotor
Bài 13: Điều khiển StepMotor
Tài liệu
Bài 13: Điều khiển StepMotor
Yêu cầu: Điều khiển step motor chạy đúng góc
Linh kiện sử dụng
- Arduino
- driver A4988
- Step motor size 42 1.8 Step
Bản vẽ mạch

Có thể sử dụng nguồn 5V từ arduino
Lắp thêm tụ 47uF trước nguồn 24V để lọc nhiễu, tăng độ chính xác cho step motor
Bạn có thể chạy Step Motor ở chế độ vi bước để tăng Moment cho Motor cũng như chạy mượt hơn nhưng motor sẽ khá nóng nên cần tản nhiệt cho motor
Bảng cài chế độ vi bước
| MS1 | MS2 | MS3 | RESOLUTION |
| LOW | LOW | LOW | 1 |
| HIGH | LOW | LOW | 1/2 |
| LOW | HIGH | LOW | 1/4 |
| HIGH | HIGH | LOW | 1/8 |
| HIGH | HIGH | HIGH | 1/16 |
Chương trình điều khiển
int StepPin = 3; //chân step
int DirPin = 4; //chân Dir
float AngleStep = 1.8; //góc của motor di được sau 1 bước
float MutiStep = 1; // chế độ vi bước
float Number = 0; //nhập số vòng
int PPR = 0; // Số xung trên vòng
int NumberStep = 0; //số lượng xung
void stepmotor() // Chương trình con cho step motor
{
PPR = 360.0/(AngleStep*MutiStep); //tính số xung trên 1 vòng
NumberStep = PPR*Number; // tính số lượng xung đủ để chạy number vòng
for(int x = 0; x < NumberStep; x++)
{
digitalWrite(3,HIGH);
delay(100); // chờ
digitalWrite(3,LOW);
delay(100); // chờ
}
}
void setup() {
// put your setup code here, to run once:
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(4,HIGH);
stepmotor();
}
File code mình sẽ để ở bên dưới
Nếu bạn có nhu cầu điều khiển nhiều Step Motor hơn có thể sử dụng modul CNC shield V3 để điều khiển





Video hướng dẫn


