Trong dự án này, chúng ta sẽ giao tiếp một Relay với PIC Vi điều khiển PIC16F877A. Rơ le là một thiết bị cơ khí để điều khiển các thiết bị điện áp cao, dòng điện cao ' BẬT ' hoặc ' TẮT ' từ các mức điện áp thấp hơn. Rơ le cung cấp sự cách ly giữa hai mức điện áp và nó thường được sử dụng để điều khiển các thiết bị xoay chiều. Từ rơ le cơ đến rơ le trạng thái rắn, có nhiều loại rơ le khác nhau có sẵn trong điện tử. Trong dự án này, chúng tôi sẽ sử dụng rơle cơ học.
Trong dự án này, chúng tôi sẽ làm những việc sau-
- Chúng tôi sẽ Giao diện một công tắc cho đầu vào từ người dùng.
- Điều khiển một bóng đèn xoay chiều 220V bằng rơ le 5V.
- Để điều khiển rơle chúng ta sẽ sử dụng transistor BC547 NPN và transistor sẽ được điều khiển từ PIC16F877A. Một đèn led sẽ thông báo tình trạng ON hoặc OFF của rơle.
Nếu bạn chưa quen với Vi điều khiển PIC thì hãy bắt đầu với Bắt đầu với Vi điều khiển PIC.
Thành phần bắt buộc:
- PIC16F877A
- Tinh thể 20Mhz
- 2 chiếc gốm 33pF
- 3 cái điện trở 4,7k
- Điện trở 1k
- 1 đèn LED
- Bóng bán dẫn BC547
- 1N4007 Diode
- Rơ le khối 5V
- Bóng đèn AC
- Breadboard
- Dây để kết nối các bộ phận.
- Bộ chuyển đổi 5V hoặc bất kỳ nguồn điện 5V nào có khả năng dòng điện ít nhất 200mA.
Rơ le và hoạt động của nó:
Rơ le hoạt động giống như công tắc thông thường. Rơle cơ sử dụng nam châm tạm thời làm từ cuộn dây điện từ. Khi chúng ta cung cấp đủ dòng điện qua cuộn dây này, nó sẽ được cung cấp năng lượng và kéo một cánh tay. Do đó mạch điện kết nối qua rơle có thể đóng hoặc mở. Input và Output không có bất kỳ kết nối điện và do đó nó phân lập đầu vào và đầu ra. Tìm hiểu thêm về rơ le và cấu tạo của nó tại đây.
Rơle có thể được tìm thấy ở các dải điện áp khác nhau như 5V, 6V, 12V, 18V, vv Trong dự án này, chúng tôi sẽ sử dụng rơle 5V vì điện áp làm việc của chúng tôi ở đây là 5 Volt. Đây rơle khối 5V có khả năng chuyển đổi 7A tải tại 240VAC hoặc 10A tải tại 110VAC. Tuy nhiên, thay vì tải lớn đó, chúng ta sẽ sử dụng bóng đèn 220VAC và chuyển nó bằng rơ le.
Đây là Rơ le 5V mà chúng tôi đang sử dụng trong dự án này. Định mức dòng điện được chỉ định rõ ràng cho hai mức điện áp, 10A ở 120VAC và 7A ở 240VAC. Chúng ta cần kết nối tải qua rơ le nhỏ hơn định mức được chỉ định.
Rơ le này có 5 chân. Nếu chúng ta thấy sơ đồ chân, chúng ta có thể thấy-
Các L1 và L2 là pin của điện từ cuộn dây nội bộ của. Chúng ta cần điều khiển hai chân này để chuyển rơ le " ON " hoặc " OFF ". Ba chân tiếp theo là POLE, NO và NC. Cực được kết nối với tấm kim loại bên trong sẽ thay đổi kết nối của nó khi rơle bật. Ở điều kiện bình thường, POLE được nối tắt với NC. NC là viết tắt của kết nối thông thường. Khi rơle bật, cực thay đổi vị trí của nó và được kết nối với NO. NO là viết tắt của Normal Open.
Trong mạch của chúng tôi, chúng tôi đã thực hiện kết nối rơle với bóng bán dẫn và diode. Rơ le với bóng bán dẫn và diode có sẵn trên thị trường dưới dạng Mô-đun tiếp sức, vì vậy khi bạn sử dụng Mô-đun tiếp sức bạn không cần phải kết nối mạch điều khiển của nó (Transistor và diode).
Rơ le được sử dụng trong tất cả các Dự án Tự động hóa Gia đình để điều khiển Thiết bị Gia dụng AC.
Sơ đồ mạch:
Toàn bộ mạch để kết nối Relay với Vi điều khiển PIC được đưa ra dưới đây:
Trong sơ đồ trên, pic16F877A được sử dụng, trong đó trên cổng B, đèn LED và bóng bán dẫn được kết nối, được điều khiển thêm bằng cách sử dụng công tắc TAC tại RBO. Các R1 cung cấp xu hướng hiện tại cho transistor. R2 là một điện trở kéo xuống, được sử dụng trên công tắc xúc giác. Nó sẽ cung cấp mức logic 0 khi công tắc không được nhấn. Các 1N4007 là một diode kẹp, sử dụng cho các cuộn dây điện từ của relay. Khi rơ le sẽ tắt, có khả năng xảy ra đột biến điện áp caovà diode sẽ triệt tiêu nó. Bóng bán dẫn được yêu cầu để điều khiển rơ le vì nó yêu cầu dòng điện hơn 50mA mà bộ vi điều khiển không thể cung cấp. Chúng tôi cũng có thể sử dụng ULN2003 thay cho bóng bán dẫn, đó là một lựa chọn khôn ngoan hơn nếu cần nhiều hơn hai hoặc ba rơle cho ứng dụng, hãy kiểm tra mạch mô-đun Relay. Các LED trên cổng RB2 sẽ thông báo “ tiếp sức là trên ”.
Mạch cuối cùng sẽ như thế này-
Bạn có thể tìm hiểu cách điều khiển Relay bằng Arduino tại đây, và nếu bạn thực sự quan tâm đến relay thì hãy kiểm tra tất cả các Mạch Relay tại đây.
Giải thích mã:
Ở phần đầu của tệp main.c, chúng tôi đã thêm các dòng cấu hình cho pic16F877A và cũng xác định tên pin trên PORTB.
Trước hết, chúng ta cần thiết lập các bit cấu hình trong vi điều khiển pic, xác định một số macro, bao gồm cả thư viện và tần số tinh thể. Bạn có thể kiểm tra mã cho tất cả những người trong mã hoàn chỉnh được cung cấp ở cuối. Chúng tôi đã thực hiện RB0 làm đầu vào. Trong chân này, công tắc được kết nối.
#include
Sau đó, chúng tôi gọi hàm system_init () nơi chúng tôi khởi tạo hướng chân và cũng cấu hình trạng thái mặc định của các chân.
Trong hàm system_init (), chúng ta sẽ thấy
void system_init (void) { TRISBbits.TRISB0 = 1; // Đặt Sw làm đầu vào TRISBbits.TRISB1 = 0; // thiết lập LED làm đầu ra TRISBbits.TRISB2 = 0; // thiết lập chân relay là đầu ra LED = 0; RELAY = 0; }
Trong chức năng chính, chúng tôi liên tục kiểm tra báo chí chuyển đổi, nếu chúng tôi phát hiện báo chí chuyển đổi bằng cách cảm nhận mức logic cao trên RB0; chúng ta đợi một lúc và xem công tắc còn được nhấn hay không, nếu công tắc vẫn được nhấn thì chúng tôi sẽ đảo trạng thái RELAY và chân LED.
void main (void) { system_init (); // Hệ thống chuẩn bị sẵn sàng while (1) { if (SW == 1) {// nhấn công tắc __delay_ms (50); // debounce delay if (SW == 1) {// công tắc vẫn được nhấn LED =! LED; // đảo trạng thái ghim. RELAY =! RELAY; } } } trở lại; }
Mã hoàn chỉnh và Video Demo cho giao diện Relay này được đưa ra bên dưới.