L293D LÀ GÌ

Nếu bạn đang xuất hiện kế hoạch đính thêm ráp một robot bắt đầu thì các bạn sẽ cần phải tìm hiểu về việc điều khiển và tinh chỉnh động cơ DC. Trong những cách dễ nhất và rẻ tiền để điều khiển động cơ DC là giao tiếp IC điều khiển và tinh chỉnh động cơ L293D với Arduino. Nó có thể điều khiển cả tốc độ và chiều cù của hai hộp động cơ DC cùng lúc.

Bạn đang xem: L293d là gì


Điều khiển hộp động cơ DC

Khi nói điều khiển trọn vẹn động cơ DC thì tức là họ phải điều khiển được vận tốc và chiều quay của nó. Để tiến hành được điều này họ sử dụng phối kết hợp hai chuyên môn sau đây.

Điều chính sách rộng xung (PWM) – Để điều khiển tốc độMạch mong H (H-Bridge) – Để tinh chỉnh và điều khiển chiều quayPWM – Điều khiển tốc độ

Tốc độ của động cơ DC có thể được điều khiển bằng cách thay đổi năng lượng điện áp đầu vào của nó. Một kỹ thuật phổ cập để tiến hành việc này là sử dụng PWM (Pulse Width Modulation – Điều chính sách rộng xung).

PWM là một trong những kỹ thuật trong các số đó giá trị vừa phải của năng lượng điện áp đầu vào được điều chỉnh bằng cách gửi một loạt những xung ON-OFF.

Điện áp trung bình tỷ lệ thuận cùng với chiều rộng của những xung được điện thoại tư vấn là chu kỳ thao tác (Duty Cycle).

Chu kỳ thao tác càng cao, điện áp trung bình cung cấp cho bộ động cơ DC càng khủng (Động cơ quay nhanh) cùng chu kỳ thao tác càng thấp, điện áp trung bình cung cấp cho động cơ DC càng không nhiều (Động cơ con quay chậm).

Dưới trên đây hình ảnh minh họa kỹ thuật PWM với những chu kỳ có tác dụng việc không giống nhau và điện áp trung bình.

*

IC tinh chỉnh động cơ L293D

L293D là IC tinh chỉnh động cơ 16 chân phổ biến. Một IC L293D có công dụng điều khiển hai động cơ DC cùng một lúc; cũng hoàn toàn có thể điều khiển hướng của hai động cơ này một bí quyết độc lập. Vày vậy, nếu như bạn có những động cơ có điện áp hoạt động dưới 36V và cái điện hoạt động dưới 600mA, được điều khiển bởi các mạch kỹ thuật số như Op-Amp, cỗ định thời 555, cổng logic hoặc thậm chí những vi xử lý như Arduino, PIC, ARM, v.v. IC này sẽ là lựa chọn phù hợp với bạn.

Tham khảo datasheet L293D trên đây.

Sơ vật dụng chân

*

Tất cả các chân Ground (GND) nên được nối đất. IC này có 2 chân nguồn, một là Vss (Vcc1) cung cấp điện áp đến IC hoạt động, chân này đề nghị được liên kết với + 5V. Chân còn sót lại là Vs (Vcc2) hỗ trợ điện áp cho hộp động cơ chạy, dựa trên thông số kỹ thuật kỹ thuật của rượu cồn cơ chúng ta cũng có thể kết nối chân này với điện áp trong khoảng từ 4,5V đến 36V, tại chỗ này tôi đã liên kết với + 12V.

Xem thêm: Top 12 Game Bắn Súng Góc Nhìn Thứ 3 (Tps) Trên Pc Nổi Bật Nhất

Các chân Enable (Enable 1,2 với Enable 3,4) được thực hiện để chất nhận được (Enable) những chân ngõ vào cho hộp động cơ 1 và động cơ 2 tương ứng. Vì chưng trong hầu như các ngôi trường hợp, bọn họ sẽ thực hiện cả hai rượu cồn cơ, cả nhị chân được giữ ở tại mức cao theo mặc định bằng cách kết nối với mối cung cấp + 5V. Những chân ngõ vào input đầu vào 1,2 được sử dụng để tinh chỉnh động cơ 1 và Input 3,4 được sử dụng để điều khiển và tinh chỉnh động cơ 2. Những chân đầu vào được kết nối với bất kỳ mạch kỹ thuật số hoặc vi tinh chỉnh và điều khiển nào để điều khiển tốc độ và vị trí hướng của động cơ. Chúng ta cũng có thể chuyển đổi các chân đầu vào dựa trên bảng sau để điều khiển động cơ của bạn.

Input 1 = HIGH(5v)

Output 1 = HIGH

Động cơ 1 quay thuộc chiều kim đồng hồ

Input 2 = LOW(0v)

Output 2 = LOW

Input 3 = HIGH(5v)

Output 1 = HIGH

Động cơ 2 quay thuộc chiều kim đồng hồ

Input 4 = LOW(0v)

Output 2 = LOW

 

Input 1 = LOW(0v)

Output 1 = LOW

Động cơ 1 quay trái hướng kim đồng hồ

Input 2 = HIGH(5v)

Output 2 = HIGH

Input 3 = LOW(0v)

Output 1 = LOW

Động cơ 2 quay ngược hướng kim đồng hồ

Input 4 = HIGH(5v)

Output 2 = HIGH

 

Input 1 = HIGH(5v)

Output 1 = HIGH

Động cơ 1 đứng yên

Input 2 = HIGH(5v)

Output 2 = HIGH

Input 3 = HIGH(5v)

Output 1 = LOW

Động cơ 2 đứng yên

Input 4 = HIGH(5v)

Output 2 = HIGH

Kết nối IC L293D cùng với Arduino UNO

Bây giờ thì chúng ta đã biết gần như thứ về IC, chúng ta có thể bắt đầu kết nối nó với Arduino của bọn chúng ta!

Bắt đầu bằng phương pháp kết nối nguồn hỗ trợ cho các động cơ. Tôi đang sử dụng động cơ DC Gearbox (còn được điện thoại tư vấn là hộp động cơ TT) hay được kiếm tìm thấy trong số robot nhì bánh. Điện áp hỗ trợ cho cồn cơ vận động 3 cho 9V. Vị vậy, tôi sẽ kết nối nguồn điện 9V phía bên ngoài với chân Vcc2.

Tiếp theo, bọn họ cần cung ứng 5V đến mạch xúc tích L293D. Kết nối chân Vcc1 với cổng output 5V trên Arduino. Hãy chắc chắn rằng rằng chúng ta nối tất cả các chân Gound trong mạch lại cùng với nhau.

Bây giờ, các chân input cùng enable (ENA, IN1, IN2, IN3, IN4 và ENB) của IC L293D được liên kết với 6 chân đầu ra số của Arduino (9, 8, 7, 5, 4 và 3). để ý rằng những chân đầu ra Arduino 9 với 3 đều hỗ trợ PWM.

Cuối cùng, liên kết một động cơ với OUT1 & OUT2 và động cơ khác bên trên OUT3 và OUT4. 

Khi các bạn làm xong, các bạn sẽ có một sơ vật dụng mạch trông giống hệt như hình minh họa mặt dưới.

*

Chương trình Arduino – Điều khiển hộp động cơ DC

Chương trình sau đây sẽ cung cấp cho chính mình sự đọc biết đầy đủ về biện pháp điều khiển vận tốc và chiều cù của hộp động cơ DC với IC tinh chỉnh động cơ L293D và hoàn toàn có thể làm cơ sở cho những thử nghiệm và dự án thực tế khác.

// kết nối động cơ A

int enA = 9;

int in1 = 8;

int in2 = 7;

// kết nối động cơ B

int enB = 3;

int in3 = 5;

int in4 = 4;

 

void setup()

// Set toàn bộ các chân điều khiển động cơ thành output

pinMode(enA, OUTPUT);

pinMode(enB, OUTPUT);

pinMode(in1, OUTPUT);

pinMode(in2, OUTPUT);

pinMode(in3, OUTPUT);

pinMode(in4, OUTPUT);

 

// Tắt toàn bộ động cơ – tinh thần ban đầu

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);

 

void loop()

directionControl();

delay(1000);

speedControl();

delay(1000);

 

// Đoạn chương trình này có thể chấp nhận được bạn điều khiển chiều xoay của rượu cồn cơ

void directionControl()

// Cho động cơ quay với tốc độ tối đa

// Giá trị của PWM biến đổi từ 0 cho 255

analogWrite(enA, 255);

analogWrite(enB, 255);

 

// Tắt hộp động cơ A và B

digitalWrite(in1, HIGH);

digitalWrite(in2, LOW);

digitalWrite(in3, HIGH);

digitalWrite(in4, LOW);

delay(2000);

 

// chuyển đổi chiều tảo của động cơ

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

digitalWrite(in3, LOW);

digitalWrite(in4, HIGH);

delay(2000);

 

// Tắt toàn bộ các đụng cơ

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);

 

// Đoạn chương trình điều khiển tốc độ của cồn cơ

void speedControl()

// Khởi động những động cơ

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

digitalWrite(in3, LOW);

digitalWrite(in4, HIGH);

 

// tăng tốc từ 0 đến vận tốc tối đa

for (int i = 0; i = 0; –i)

analogWrite(enA, i);

analogWrite(enB, i);

delay(20);

 

// Tắt toàn bộ các rượu cồn cơ

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);

 

Giải yêu thích chương trình

Chương trình arduino khá đối chọi giản. Nó ko yêu cầu ngẫu nhiên thư viện để triển khai cho nó hoạt động. Chương trình bước đầu bằng việc khai báo các chân Arduino mà những chân tinh chỉnh L293D được kết nối.

Trong phần setup, toàn bộ các chân điều khiển và tinh chỉnh động cơ được khai báo là đầu ra và gửi xuống THẤP nhằm tắt cả hai đụng cơ.

Trong phần loop, chúng ta gọi nhì hàm do người tiêu dùng định nghĩa trong khoảng thời hạn một giây. Các hàm này là:

directionControl() – Hàm này quay cả hai hộp động cơ theo chiều thuận với vận tốc tối nhiều trong nhị giây. Sau đó, nó hòn đảo chiều cù của hộp động cơ và con quay thêm nhì giây nữa. Cuối cùng thì tắt động cơ.