Hướng dẫn điều khiển động cơ DC (chiều quay và tốc độ) sử dụng mạch điều khiển động cơ DC L298N
(1) x Arduino Uno R3
(1) x Mạch Điều Khiển Động Cơ DC L298
(1) x Động cơ DC 3-6V
(3) x Dây cắm đực - đực
(3) x Dây cắm đực - cái
Động cơ điện một chiều DC sử dụng dòng điện một chiều. Đổi chiều quay của động cơ bằng cách đảo cực điện áp cấp vào 2 đầu dây của động cơ.
Tốc độ quay của một động cơ DC tỷ lệ với điện áp đặt vào nó
Để có thể điều khiển hoàn toàn động cơ DC, chúng ta phải điều khiển tốc độ và chiều quay của nó. Điều này có thể đạt được bằng cách kết hợp hai kỹ thuật này.
PWM - Để kiểm soát tốc độ
H-Bridge - Để điều khiển hướng quay
Chiều quay của động cơ DC có thể được điều khiển bằng cách thay đổi cực tính của điện áp đầu vào của nó. Một kỹ thuật phổ biến để làm điều này là sử dụng H-Bridge.
Một mạch cầu H chứa bốn công tắc với động cơ ở trung tâm tạo thành một sự sắp xếp giống như H.
Việc đóng đồng thời hai công tắc cụ thể sẽ đảo ngược cực tính của điện áp đặt vào động cơ. Điều này làm thay đổi hướng quay của động cơ.
Tốc độ của động cơ DC có thể được điều khiển bằng cách thay đổi điện áp đầu vào của nó. Một kỹ thuật phổ biến để làm điều này là sử dụng PWM (Điều chế độ rộng xung)
PWM là một kỹ thuật trong đó giá trị trung bình của điện áp đầu ra được điều chỉnh bằng cách gửi một loạt các xung BẬT-TẮT. Điện áp trung bình tỷ lệ với độ rộng của các xung được gọi là chu kỳ Duty Cycle. Chu kỳ làm việc càng cao, điện áp trung bình đặt vào động cơ càng lớn.
Trong code Arduino, ta sử dụng hàm analogWrite() để tạo xung PWM có Duty cycle khác nhau.
IC L298N gồm 2 mạch cầu H nên có khả năng điều khiển 2 motor
Nguồn cấp
Mô-đun trình điều khiển động cơ L298N được cấp nguồn thông qua các đầu nối vít 3 chân 3,5mm. Nó bao gồm các chân để cấp nguồn động cơ (Vs từ 5V-35V), cấp nguồn logic 5V (Vss) và GND chung.
Nếu gắn 5V jumper thì nguồn cấp motor Vs (phải dưới 12V) sẽ tạo nguồn logic 5V và chân Vss có 5V output có thể dùng để cấp cho Arduino
Nếu tháo 5V jumper, 2 nguồn cấp cho motor và nguồn logic là độc lập
Điện áp đầu ra cấp cho motor có độ giảm điện áp 2V. Khi cấp nguồn 12V thì điện áp ra còn 10V
Output Pin
4 chân output cấp cho 2 động cơ: motor A (OUT1, OU2), motor B (OUT3, OUT4)
Dòng ra cho motor lên đến 2A (tùy thuộc vào nguồn cấp)
Control Pins
Motor A điều khiển hướng quay bởi 2 pin IN1, IN2 và tốc độ bởi pin ENA (tương tự IN3, IN4, ENB cho motor B)
Cấp xung logic HIGH/LOW vào chân IN1, IN2 sẽ làm thay đổi chiều quay motor A theo bảng sau
Cấp xung PWM vào chân ENA để điều khiển tốc độ motor A (ENB cho motor B)
Cấp xung HIGH vào EN, motor sẽ đạt tốc độ cao nhất, LOW vào EN thì motor dừng
Kết nối cảm biến L298N với mạch Arduino và motor
Motor 3V dùng nguồn 5V adaptor (hoặc nguồn 12V với PWM 25%)
Motor 12V dùng nguồn 12V adaptor
Lưu ý cần nối GND của nguồn và Arduino
L298N -- Arduino
GND GND
Vcc 5V
EnA 9
In1 8
In2 7
L298N Motor
OUT1 A+
OUT2 A-
Đoạn code này điều khiển chiều quay và tốc độ của motor DC
Tham khảo:
https://lastminuteengineers.com/l298n-dc-stepper-driver-arduino-tutorial/