Đỗ Hữu Toàn gửi vào
- 92305 lượt xem
I. Giới thiệu
Hôm nay, mình sẽ hướng dẫn các bạn băm xung để điều khiển tốc độ động cơ thông qua module L298...Mình thấy trên cộng đồng có 1 bạn viết về module L298 nhưng chưa nói rõ về cách điều khiển tốc độ động cơ với ENA và ENB. Cách này sẽ ổn định hơn và dùng module L298 với hiệu suất cao hơn.
II. Chuẩn bị
- 1 x Arduino UNO
- 1 x Module L298
- 1 x Động cơ DC
- Dây cắm breadboard
III. Kết nối
Trước tiên các bạn gỡ 2 jump ở hai chân ENA, ENB của module L298 ra nhé!!! 2 chân này được thiết kế để điều khiển tốc độ động cơ đó. Sau đó các bạn mắc như sau:
III. Lập trình
Để điều khiển tốc độ động cơ....bạn cần băm xung PWM vào chân EN của module. Sau đây là code mẫu :
//Khai báo chân tín hiệu motor A int enA = 8; int in1 = 7; int in2 = 6; //Khai báo chân tín hiệu cho motor B int in3 = 5; int in4 = 4; int enB = 3; int i; void setup() { pinMode(enA, OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(enB,OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); } void chaymotor() { for(i=0;i<=255;i++){ digitalWrite(in3, HIGH); digitalWrite(in1, HIGH); digitalWrite(in4, LOW); digitalWrite(in2, LOW); analogWrite(enB, i); analogWrite(enA, i); delay(100); }// Tăng tốc động cơ từ Min >> Max for(i=255;i>=0;i--){ digitalWrite(in3, HIGH); digitalWrite(in1, HIGH); digitalWrite(in4, LOW); digitalWrite(in2, LOW); analogWrite(enB, i); analogWrite(enA, i); delay(100); }// Giảm tốc từ Max >> Min } void loop() { chaymotor(); delay(1000); }
IV. Lời kết
Vậy là các bạn đã có thể điều khiển tốc độ động cơ rất đơn giản rồi đó!!! Chúc các bạn thành công!!!