Mạch cầu H và điều khiển động cơ với SN754410

Trong bài viết này, mình sẽ giới thiệu đến các bạn mạch cầu H để ứng dụng trong việc điều khiển cùng lúc 2 động cơ DC theo 2 chiều quay bất kì. Bên cạnh đó, mình cũng sẽ giới thiệu đến các bạn IC SN754410 tích hợp sẵn một mạch cầu H, giúp bạn thao tác thuận tiện, không phải tốn công làm mạch điều khiển động cơ.

1. Mạch cầu H là gì ?

Xét một cách tổng quát, mạch cầu H là một mạch gồm 4 "công tắc" được mắc theo hình chữ H.

Bằng cách điều khiển 4 "công tắc" này đóng mở, ta có thể điều khiển được dòng điện qua động cơ cũng như các thiết bị điện tương tự.

4 "công tắc" này thường là Transistor BJT, MOSFET hay relay. Tùy vào yêu cầu điều khiển khác nhau mà người ta lựa chọn các loại "công tắc" khác nhau.

2. Mạch cầu H dùng transistor BJT

Mạch cầu H dùng transistor BJT là loại mạch được sử dụng khá thông dụng cho việc điều khiển các loại động cơ công suất thấp. Lí do đơn giản là vì transistor BJT thường có công suất thấp hơn các loại MOSFET (relay thì không phải bàn rồi), đồng đời cũng rẻ và dễ tìm mua, sử dụng đơn giản.

Đây là sơ đồ tổng quát của một mạch cầu H sử dụng transistor BJT.

Trong sơ đồ này, A và B là 2 cực điều khiển. 4 diode có nhiệm vụ triệt tiêu dòng điện cảm ứng sinh ra trong quá trình động cơ làm việc. Nếu không có diode bảo vệ, dòng điện cảm ứng trong mạch có thể làm hỏng các transistor.

Transistor BJT được sử dụng nên là loại có công suất lớn và hệ số khếch đại lớn.

3. Nguyên lí hoạt động của mạch cầu H

Bạn hãy xem qua cách thức hoạt động của transistor BJT tại bài viết Transistor (BJT) và ứng dụng trong điều khiển động cơ DC.

Theo như sơ đồ trên, ta có A và B là 2 cực điều khiển được mắc nối tiếp với 2 điện trở hạn dòng, Tùy vào loại transistor bạn đang dùng mà trị số điện trở này khác nhau. Phải đảm bảo rằng dòng điện qua cực Base của các transistor không quá lớn để làm hỏng chúng. Trung bình thì dùng điện trở 1k Ohm.

Ta điều khiển 2 cực này bằng các mức tín hiệu HIGHLOW tương ứng là 12V và 0V.

Nhớ lại rằng:

  • Transistor BJT loại NPN mở hoàn toàn khi điện áp ở cực Base bằng điện áp ở cực Collector, trong mạch đang xét hiện tại là 12V.
  • Transistor BJT loại PNP mở hoàn toàn khi điện áp ở cực Base bằng 0V.

Với 2 cực điều khiển và 2 mức tín hiệu HIGH/LOW tương ứng 12V/0V cho mỗi cực, có 4 trường hợp xảy ra như sau:

A ở mức LOW B ở mức HIGH

Ở phía A, transistor Q1 mở, Q3 đóng. Ở phía B, transistor Q2 đóng, Q 4 mở. Dó đó, dòng điện trong mạch có thể chạy từ nguồn 12V đến Q1, qua động cơ đến Q4 để về GND. Lúc này, động cơ quay theo chiều thuận. Bạn để ý các cực (+) và (-) của động cơ là sẽ thấy.

Bạn có thể hình dung dòng điện trong mạch nó như thế này

 

A ở mức HIGH và B ở mức LOW

Ở phía A, transistor Q1 đóng, Q3 mở. Ở phía B, transistor Q2 mở, Q 4 đóng. Dó đó, dòng điện trong mạch có thể chạy từ nguồn 12V đến Q2, qua động cơ đến Q3 để về GND. Lúc này, động cơ quay theo chiều ngược.

Bạn có thể hình dung dòng điện trong mạch nó như thế này

A và B cùng ở mức LOW

Khi đó, transistor Q1 và Q2 mở nhưng Q3 và Q4 đóng. Dòng điện không có đường về được GND do đó không có dòng điện qua động cơ - động cơ không hoạt động.

 A và B cùng ở mức HIGH

Khi đó, transistor Q1 và Q2 đóng nhưng Q3 và Q4 mở. Dòng điện không thể chạy từ nguồn 12V ra do đó không có dòng điện qua động cơ - động cơ không hoạt động.

Như vậy, để dừng động cơ, điện áp ở 2 cực điều khiển phải bằng nhau.

4. Điều khiển tốc độ động cơ

Bạn chỉ cần thay đổi điện áp đặt vào 2 cực điều khiển của mạch cầu H.

Để ý rằng:

  • Hiệu điện thế giữa 2 cực điều khiển càng lớn thì động cơ chạy càng nhanh.
  • Động cơ chạy theo chiều thuận khi điện áp ở A nhỏ hơn B và ngược lại.

5. Sử dụng mạch cầu H trong IC SN754410

IC SN754410 là IC tích hợp mạch cầu H, có thể điều khiển cùng lúc 2 động cơ chạy theo 2 hướng độc lập nhau.

Một số thông số cơ bản như sau:

  • Điện áp hoạt động tối đa: 36V
  • Cường độ dòng điện tối đa cấp cho mỗi động cơ: 1.1A
  • Cường độ dòng điện tối đa trong toàn mạch: 2A
  • Công suất tỏa nhiệt tối đa: 2075mW
  • Điện áp ở mức HIGH: 2V - 5.5V
  • Điện áp ở mức LOW: -0.3V - 0.8V

5.1. Sơ đồ chân của IC SN754410

  • Các chân M1 Forward và M1 Reverse là 2 chân điều khiển động cơ M1 của mạch cầu H.
  • Các chân M2 Forward và M2 Reverse là 2 chân điều khiển động cơ M2 của mạch cầu H.
  • M1 Enable và M2 Enable là 2 chân đóng ngắt động cơ M1, M2. Cấp điện áp LOW cho chúng để dừng động cơ và HIGH (5V) để cho phép động cơ hoạt động.
  • Motor Power IN là chân cấp nguồn cho động cơ hoạt động.
  • +5V là chân cấp nguồn 5V cho IC.

Nếu không tìm được IC SN754410, bạn có thể sử dụng IC L293D với sơ đồ chân y hệt như vậy.

5.2. Sử dụng trong Arduino

Ở đây mình sẽ làm mẫu một động cơ, với động cơ còn lại các bạn cũng có thể làm tương tự.

Sơ đồ mạch như sau

(Xem ảnh lớn hơn tại đây)

Chương trình mẫu

int dc1 = 5;   // PWM pin
int dc2 = 6;   // PWM pin

void setup() {
  pinMode(dc1, OUTPUT);
  pinMode(dc2, OUTPUT);
}

void loop() {
  Tangtoc1();
  delay(2000);
  Giamtoc1();
  delay(2000);
  Mode1();
  delay(2000);
  Mode2();
  delay(2000);
  Stop();
  delay(2000);
}

void Tangtoc1() {
  analogWrite(dc1, 0);  // dc1 = LOW
  for (int i = 0; i<= 255; i++) {
     analogWrite(dc2, i);  //Tăng dần điện áp tại dc2
     delay(20);
  }
}

void Giamtoc1() {
  analogWrite(dc1, 0);  // dc1 = LOW
  for (int i = 255; i >= 0; i--) {
     analogWrite(dc2, i);  //Giảm dần điện áp tại dc2
     delay(20);
  }
}

void Mode1() {
   digitalWrite(dc1, LOW);
   digitalWrite(dc2, HIGH);
 }

void Mode2() {
   digitalWrite(dc1, HIGH);
   digitalWrite(dc2, LOW);
}

void Stop() {
  digitalWrite(dc1, LOW);
  digitalWrite(dc2, LOW);
  /* Tương đương với:
  digitalWrite(dc1, HIGH);
  digitalWrite(dc2, HIGH);
  */
}

Chúc các bạn thành công.

lên
12 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

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Bài 7: Nâng cấp phiên bản Linux trên Intel Galileo

Phiên bản Linux mặc định trên Galileo bị thiếu nhiều chức năng do đã được Intel tinh giảm bớt đi. Một số câu lệnh hay các phần hỗ trợ thường có trên các bản Linux cũng có thể bị lược bỏ ít nhiều. Do đó, để có thể tận dụng được tối đa sức mạnh của Intel Galileo mà phần lõi là hệ điều hành Linux, bạn phải nâng cấp hệ điều hành này.

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

sq()

Giới thiệu

Hàm sq() được dùng để tính bình phường của một số bất kì, số này có thể thuộc bất kì kiểu dữ liệu biển diễn số nào. sq() trả về giá trị mà nó tính được với kiểu dữ liệu giống như kiểu dữ liệu của tham số ta đưa vào.

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