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
10 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ả

KeySweeper - Keylogger trên nền tảng Arduino cho bàn phím không dây

Đây là một bài báo được mình dịch lại từ The Hacker News đăng vào ngày 13/01/2015. Mình dịch bài này là để các bạn thấy được một điều rằng ứng dụng Arduino không phải chỉ dừng ở việc điều khiển đèn LED nhấp nháy, điều khiển động cơ hay hiển thị/truyền phát thông tin đơn thuần,... nó còn làm được những thứ to lớn hơn thế.

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

Nạp bootloader cho vi điều khiển trên Arduino

Bài viết này hướng dẫn các bạn nạp bootloader cho vi điều khiển trên mạch Arduino. Trên thực tế, vi điều khiển trên mạch Arduino đã có sẵn bootloader rồi nên bạn không cần thao tác gì cả. Tuy nhiên, với một số trường hợp cần nạp bootloader, bạn sẽ cần đọc bài viết này để biết cách thực hiện.

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