Băm xung - Điều khiển tốc độ động cơ bằng L298 với cách tiếp cận khác - Sử dụng 2 chân ENA và ENB

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ị

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!!!

lên
29 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Shortcut01 – Truyền thông số giữa hai module RF 315Mhz

Đây là loạt bài vắn tắt chia sẻ kinh nghiệm giúp các bạn có thể sử dụng các mudule cũng như tiếp cận code một cách ngắn gọn và dễ hiểu hơn smiley.

Mục đích bài viết: Hướng dẫn cách truyền các truyền và nhận giá trị từ cảm biến hoặc một biến số thay đổi giữa hai mạch 315Mhz (433Mhz) cool

lên
16 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Chạy đa nhiệm trên Arduino với FreeRTOS

Khi chúng ta làm 1 project lớn, bạn sẽ phải viết chương trình thực hiện nhiều chức năng. Và khi đó, bạn sẽ gặp nhiều vấn đề phức tạp : làm như thế nào để chương trình hoạt động ổn định khi kết hợp nhổi nhét nhiều đoạn code đơn giản thành 1 khối thống nhất?. Ở bài viết này, chúng ta cùng đi giải quyết vấn đề trên. Trên Arduino.vn cũng đã có nhiều bài viết về xử lý bất đồng bộ rất hay. Các bạn có thể xem tại đây. Vậy mục đích viết bài của mình hôm nay là gì? Hôm nay mình sẽ giới thiệu một thư viện đa nhiệm mới khác, đó chính là FreeRTOS

lên
14 thành viên đã đánh giá bài viết này hữu ích.

Cài đặt Microsoft Visual C#

Ở loạt bài giao tiếp giữa Arduino của mình, mình có hướng dẫn các bạn cách lập trình phần mềm thông qua công cụ Microsoft Visual C#. Nhưng có nhiều bạn gặp khó khăn trong quá trình cài đặt công cụ, hoặc cho rằng nó quá mất thời gian....Vì vậy, mình làm bài viết này để hướng dẫn lại các bạn cách cài đặt Microsoft Visual C# một cách dễ dàng và cách sử dụng nó.

lên
26 thành viên đã đánh giá bài viết này hữu ích.