Mạch Điều Khiển Động Cơ Bằng Ic L298 — Article, Dùng Module Điều Khiển Động Cơ L298N

-

Trong bài viết này, họ sẽ học tập cách tiếp xúc module tinh chỉnh động cơ L298 cùng với Arduino Uno. Chúng ta cũng có thể đang nghĩ tại sao chúng ta cần module L298N để tinh chỉnh động cơ. Câu vấn đáp rất đơn giản, board Arduino hoặc các chân IO của một vi điều khiển không tồn tại đủ kĩ năng điều khiển chiếc điện/điện áp để điều khiển động cơ. Để tinh chỉnh động cơ con quay theo cả hai chiều (theo chiều kim đồng hồ đeo tay và trái hướng kim đồng hồ), bọn họ cần sử dụng mạch ước H. Module L298N là một trong mạch tích hợp nguyên khối với nhì mạch mong H. Nó hoàn toàn có thể được thực hiện để hòn đảo chiều con quay của bộ động cơ theo cả nhì chiều cùng điều khiển tốc độ của đụng cơ bởi kỹ thuật điều cơ chế rộng xung PWM (Pulse Width Modulation).

Bạn đang xem: Điều khiển động cơ bằng ic l298 — article


Nội dung bài bác viết

Module tinh chỉnh và điều khiển động cơ L298Chương trình

Linh kiện cần thiết

STTTên linh kiệnSố lượng
1Arduino Uno1
2Module điều khiển động cơ L298N1
3Pin 9V1
4Động cơ DC 12V2
5Dây cắm

Module tinh chỉnh động cơ L298

Module tinh chỉnh động cơ L298 là bộ điều khiển sử dụng mạch ước H để thuận lợi điều khiển chiều xoay và tốc độ của về tối đa 2 bộ động cơ DC.

Module này dễ sử dụng, chi phí thấp, dễ dàng lắp đặt. Module L298N được sử dụng để sản xuất xe điều khiển, xe dò đường, các thiết bị thực hiện động cơ DC hoặc hộp động cơ bước … áp dụng kết phù hợp với vi điều khiển.

UK_IJzbo
FDd
Ompikj
AX5INYyo-Vdn" alt="*">

Thông số kỹ thuật

IC chính: L298N Điện áp điều khiển: +5 V ~ +35 VDòng tối đa cho từng cầu H: 2AĐiện áp biểu hiện điều khiển: +5 V ~ +7 VDòng bộc lộ điều khiển: 0 ~ 36m
ACông suất hao phí: 20W (khi nhiệt độ t = 75℃)Nhiệt độ làm việc: -25 ℃ ~ +130 ℃

Chức năng của những chân

XFGNntzuuz
W_MCya
Ss1VQs" alt="*">

Bốn chân INPUT: IN1, IN2, IN3, IN4 được nối theo lần lượt với các chân 5, 7, 10, 12 của IC L298N. Đây là các chân nhận biểu đạt điều khiển.

Bốn chân OUTUT: OUT1, OUT2, OUT3, OUT4 (tương ứng với những chân INPUT) được nối với những chân 2, 3, 13, 14 của IC L298N. Các chân này sẽ được nối với hộp động cơ DC hoặc hộp động cơ bước.

Hai chân được cho phép ENA cùng ENB dùng để làm điều khiển mạch ước H vào IC L298N. Trường hợp ở mức ngắn gọn xúc tích “1” (nối với nguồn 5V) cho phép mạch cầu H hoạt động, nếu như ở mức xúc tích và ngắn gọn “0” thì mạch cầu H ko hoạt động. Các chân này cũng khá được dùng nhằm điều khiển tốc độ của động cơ.

+ khi ENA = 0: Động cơ không quay với đa số đầu vào.+ khi ENA = 1:+ IN1 = 1; IN2 = 0: Động cơ quay thuận.+ IN1 = 0; IN2 = 1: Động cơ xoay nghịch.+ IN1 = IN2: Động cơ ngừng ngay lập tức.

Với ENB tương tự như với IN3, IN4.

Sơ đồ mạch điện

M6Jn
M902ai
Wt
OEQw
MZrgw
GZ" alt="*">

Như sẽ đề cập nghỉ ngơi trên module L298N gồm có hai ngõ ra. Từng ngõ ra được liên kết với một bộ động cơ DC. Rất dương của sạc pin được liên kết với nguồn vào nguồn của module L298N và rất âm được liên kết với GND. Chân 5V của module tinh chỉnh và điều khiển động cơ L298 được liên kết với chân Vin của Arduino để cấp nguồn cho board Arduino. Chân input đầu vào 1 với input 2 dùng để điều khiển chiều quay của bộ động cơ 1 thứu tự nối với những chân 8 và 7 của Arduino. Chân input đầu vào 3 với input 4 dùng để điều khiển chiều tảo của cồn cơ 2 lần lượt nối với những chân 5 với chân 4 của Arduino. Chân Enable A với Enable B được kết nối với chân 9 với chân 3 của Arduino. Các chân này được dùng để làm điều khiển vận tốc của động cơ dùng nghệ thuật điều chính sách rộng xung PWM.

Chương trình

// liên kết động cơ A int en
A = 9;int in1 = 8;int in2 = 7;// kết nối động cơ B int en
B = 3;int in3 = 5;int in4 = 4;

void setup() // thiết lập lập các chân điều khiển động cơ là OUTPUTpin
Mode(en
A, OUTPUT);pin
Mode(en
B, OUTPUT);pin
Mode(in1, OUTPUT);pin
Mode(in2, OUTPUT);pin
Mode(in3, OUTPUT);pin
Mode(in4, OUTPUT);

// Tắt 2 hộp động cơ – tâm lý ban đầudigital
Write(in1, LOW);digital
Write(in2, LOW);digital
Write(in3, LOW);digital
Write(in4, LOW);

void loop() direction
Control();delay(1000);speed
Control();delay(1000);

// Hàm này dùng làm điều khiển chiều cù của đụng cơvoid direction
Control() // cho những động cơ quay vận tốc tối đaanalog
Write(en
A, 255);analog
Write(en
B, 255);

// chất nhận được động cơ A và B quaydigital
Write(in1, HIGH);digital
Write(in2, LOW);digital
Write(in3, HIGH);digital
Write(in4, LOW);delay(2000);

// chuyển đổi chiều con quay của động cơdigital
Write(in1, LOW);digital
Write(in2, HIGH);digital
Write(in3, LOW);digital
Write(in4, HIGH);delay(2000);

// Tắt 2 cồn cơdigital
Write(in1, LOW);digital
Write(in2, LOW);digital
Write(in3, LOW);digital
Write(in4, LOW);

// Hàm này dùng làm điều khiển tốc độ của động cơvoid speed
Control() // chất nhận được động cơ quaydigital
Write(in1, LOW);digital
Write(in2, HIGH);digital
Write(in3, LOW);digital
Write(in4, HIGH);

// tăng speed từ 0 đến vận tốc tối đafor (int i = 0; i analog
Write(en
A, i);analog
Write(en
B, i);delay(20);

// Giảm vận tốc từ vận tốc tối nhiều về 0for (int i = 255; i >= 0; –i) analog
Write(en
A, i);analog
Write(en
B, i);delay(20);

// Tắt đụng cơdigital
Write(in1, LOW);digital
Write(in2, LOW);digital
Write(in3, LOW);digital
Write(in4, LOW);}

Giải thích

Trong phần setup, toàn bộ các chân tinh chỉnh động cơ được khai báo là OUTPUT và được mang lại LOW nhằm làm cho tất cả hai động cơ TẮT theo khoác định.Trong hàm loop, hai hàm direction
Control() và speed
Control() được điện thoại tư vấn trong khoảng thời hạn delay một giây.Hàm direction
Control() nhằm quay cả hai động cơ theo chiều kim đồng hồ, ngược chiều kim đồng hồ thời trang và ngừng 2 giây cho từng động cơ.Hàm speed
Control() để đổi khác tốc độ của đụng cơ bằng cách thay đổi phạm vi xung rảnh rỗi 0 đến 100% (0 – 255) của chu kỳ luân hồi làm việc.

Kết luận

Module tinh chỉnh và điều khiển động cơ L298là một module hết sức hữu ích, phổ biếnvới tính năng thông dụng và ngân sách cực kỳ phải chăng là sàng lọc của các bạn học sinh, sinh viên. Module này hoàn toàn có thể điều khiển được 2 hộp động cơ DC. Ứng dụng không ít vào những đề tài: điều khiểnxe robot, tinh chỉnh cánh tay robot, giao tiếp với Arduino để tinh chỉnh và điều khiển động cơ …

Nội dung bài viết

Cấu chế tạo và sơ trang bị chân của L298Điều khiển bộ động cơ một chiều bởi L298Một số chủng loại code tinh chỉnh động cơ một chiều bằng L298

Điều khiển động cơ một chiều bởi L298 là một trong cách dùng thịnh hành hiện nay. Rất có thể thay cầm cho bí quyết IC ước H với Motor shield của Arduino. Hãy cùng tìm hiểu qua nội dung bài viết sau nhé.

Module L298 là

Module L298 là một mạch tinh chỉnh và điều khiển động cơ một chiều DC cùng lúc. L298 là IC tinh chỉnh và điều khiển cầu kép toàn kỳ có dải điện áp chuyển động rộng, cách xử lý dòng tải có mức tối đa 3A. Bao hàm điện áp bão hòa rẻ và bảo đảm quá nhiệt. Có cấu trúc từ nhì mạch ước H transistor.

Xem thêm: Chi tiết hơn 96 xe cub nhật nhập khẩu, xe cub nhập khẩu

Thông số kỹ thuật của L298:

Điện áp nghỉ ngơi đầu vào: xê dịch từ 5 – 30 VĐiện áp tín hiệu điều khiển: 5 – 7VĐiện áp logic: Low: tự -0,3V giao động đến 1,5V; High: 2,3V mang đến Vss.Dòng điện về tối đa mang đến từng động cơ là 2A.Dòng yêu ước của tín hiệu tinh chỉnh từ 0 – 36 m
A.Công suất: 1 cầu tương tự 25W.Kích thước: 43x43x27mm.

*

Cấu chế tạo ra và sơ đồ chân của L298

1. Cấu tạo của module L298 bao gồm các chân sau

Hai chân cung cấp nguồn trực sau đó động cơ là 12V power cùng 5V power. Xung quanh ra chúng ta có thể cấp mối cung cấp 9 -12V sống 12V.Power GND là GDN của nguồn cung cấp cho hễ cơ.2 Jump A enable cùng B enable.4 chân Input bao gồm có: IN1, IN2, IN3,IN4.Output A sẽ được nối với động cơ A. Lúc nối chúng ta phải chú ý ký hiệu “ +;-” vì khi chúng ta nối ngược bộ động cơ sẽ chạy theo chiều ngược.Gồm nhị phần điều khiển động cơ. Hoàn toàn có thể điều khiển cho bộ động cơ 4 dây và hộp động cơ 6 dây.
*
Sơ thiết bị chân

2. Sơ đồ gia dụng chân của module L298

Khi nối mạch để điều khiển và tinh chỉnh động cơ, bạn cần chăm chú hai cực +; – của hễ cơ làm thế nào cho tương xứng với chân + ; – của Output.Tiếp theo cấp nguồn mang lại module L298, lúc đó phải chú ý chọn đúng Jump.Đối với hộp động cơ dưới 1A chúng ta có thể sử dụng chân 5V của Arduino.Các chân đầu vào IN1, IN2, IN3, IN4 của L298 sẽ được nối tương xứng với các chân D7, D6, D5, D4 của Arduino.Các áp sạc ra High cùng Low tất cả nhiệm vụ điều khiển và tinh chỉnh chiều quay của hộp động cơ ở những chân INx.

Ví dụ:

Chân IN1 là chân Out
A 1, chân IN2 là chân Out
A 2.Khi cấp nguồn cực dương vào IN1 và cực âm vào IN2 thì hộp động cơ quay 1 chiều. Còn khi rất âm vào IN1 và cực dương vào IN2 thì bộ động cơ quay chiều còn lại.Cực dương sẽ mang điện vậy 5V, cực âm điện nắm 0V. Hiệu điện thế bằng điện cố kỉnh IN1 – điện nỗ lực IN2. Trường hợp hiệu điện cầm cố 5V là vượt trội nhất để điều khiển động cơ thì khi chúng ta hạ hiệu điện rứa xuống bộ động cơ sẽ auto yếu đi. Cùng khi hiệu năng lượng điện thế bởi 0 thì hộp động cơ sẽ đổi chiều.

Điều khiển động cơ một chiều bởi L298

Bước 1: chuẩn bị phần cứng

Arduino Uno.IC L298.2 sạc sạc 18650 Panasonic 4.2V 4200m
Ah.Động cơ DC tụt giảm V1.

Bước 2: Điều khiển rượu cồn cơ

Khai báo chân ENA nối với chân số 8 so với mạch Arduino.Nối chân IN1 cùng với chân số 7 cùng chân IN2 cùng với chân số 6 của mạch Arduino.Hàm của hộp động cơ theo chiều kim đồng hồ: chân IN1 mang trạng thái High, chân IN2 mang trạng thái Low.Hàm của bộ động cơ chạy trái hướng kim đồng hồ khi: chân IN1 có trạng thái Low với chân IN2 sở hữu trạng thái High.Khi tắt động cơ thì chân IN1 cùng chân IN2 hầu hết mang tâm lý Low.
*
Điều khiển hộp động cơ một chiều bằng L298

Một số mẫu mã code điều khiển bộ động cơ một chiều bằng L298

Mẫu 1:

//Motor A

int en
A = 8;

int in1 = 7;

int in2 = 6;

void setup()

pin
Mode(en
A, OUTPUT);

pin
Mode(in1, OUTPUT);

pin
Mode(in2, OUTPUT);

void motor
A()

//Running motor A

digital
Write(in1, HIGH);

digital
Write(in2, LOW);

analog
Write(en
A, 200);

//Speed PWM 0~255

//Reverse 2s.

delay(2000);

digital
Write(in1, LOW);

digital
Write(in2, HIGH);

//STOP 2s.

delay(2000);

digital
Write(in1, LOW);

digital
Write(in2, LOW);

void loop()

{

motor
A();

delay(1000);

Mẫu 2:

//Motor A

int en
A = 8;

int in1 = 7;

int in2 = 6;

//Motor B

int in3 = 5;

int in4 = 4;

int en
B = 3;

void setup()

pin
Mode(en
A, OUTPUT);

pin
Mode(in1, OUTPUT);

pin
Mode(in2, OUTPUT);

pin
Mode(en
B,OUTPUT);

pin
Mode(in3, OUTPUT);

pin
Mode(in4, OUTPUT);

void Motor
Running()

//Running motor A

digital
Write(in1, HIGH);

digital
Write(in2, LOW);

analog
Write(en
A, 200);

//Speed PWM: 0~255

//Running motor B

digital
Write(in3, HIGH);

digital
Write(in4, LOW);

analog
Write(en
B, 200);

//Speed PWM: 0~255

//Reverse 2s.

delay(2000);

digital
Write(in1, LOW);

digital
Write(in2, HIGH);

digital
Write(in3, LOW);

digital
Write(in4, HIGH);

//STOP 2s.

delay(2000);

digital
Write(in1, LOW);

digital
Write(in2, LOW);

digital
Write(in3, LOW);

digital
Write(in4, LOW);

void loop()

Motor
Running();

delay(1000);

Mẫu 3:#define IN1 7#define IN2 6#define IN3 5#define IN4 4#define MAX_SPEED 255 //từ 0-255#define MIN_SPEED 0void setup() pin
Mode(IN1, OUTPUT); pin
Mode(IN2, OUTPUT); pin
Mode(IN3, OUTPUT); pin
Mode(IN4, OUTPUT);void motor_1_Dung() digital
Write(IN1, LOW); digital
Write(IN2, LOW);void motor_2_Dung() digital
Write(IN3, LOW); digital
Write(IN4, LOW);void motor_1_Tien(int speed) //speed: trường đoản cú 0 – MAX_SPEED speed = constrain(speed, MIN_SPEED, MAX_SPEED);//đảm làm giá trị bên trong một khoảng từ 0 – MAX_SPEED – http://arduino.vn/reference/constrain digital
Write(IN1, HIGH);// chân này không có PWM analog
Write(IN2, 255 – speed);void motor_1_Lui(int speed) speed = constrain(speed, MIN_SPEED, MAX_SPEED);//đảm báo giá trị phía trong một khoảng tầm từ 0 – MAX_SPEED – http://arduino.vn/reference/constrain digital
Write(IN1, LOW);// chân này không tồn tại PWM analog
Write(IN2, speed);void motor_2_Tien(int speed) //speed: tự 0 – MAX_SPEED speed = constrain(speed, MIN_SPEED, MAX_SPEED);//đảm làm giá trị phía trong một khoảng chừng từ 0 – MAX_SPEED – http://arduino.vn/reference/constrain analog
Write(IN3, speed); digital
Write(IN4, LOW);// chân này không có PWMvoid motor_2_Lui(int speed) speed = constrain(speed, MIN_SPEED, MAX_SPEED);//đảm báo giá trị phía bên trong một khoảng chừng từ 0 – MAX_SPEED – http://arduino.vn/reference/constrain analog
Write(IN4, 255 – speed); digital
Write(IN3, HIGH);// chân này không có PWMvoid loop() motor_1_Tien(MAX_SPEED); // motor 1 tiến delay(5000);//tiến 5 s motor_2_Lui(MAX_SPEED); //motor 2 lùi // motor 1 vẫn tiến delay(2000);//tiến 2 s motor_1_Dung(); motor_2_Dung(); delay(10000);//dừng 10s

Trên đây là tổng hợp các kiến thức về Điều khiển hộp động cơ một chiều bởi L298. Hy vọng để giúp đỡ ích cho những bạn.