- Các thành phần bắt buộc:
- Giải thích làm việc:
- Giải thích mạch:
- Giải thích lập trình:
- Thiết kế mạch và PCB sử dụng EasyEDA:
- Tính toán và đặt hàng PCB trực tuyến:
Chúng ta thường thấy sự dao động điện áp trong nguồn cung cấp điện tại nhà, điều này có thể gây ra sự cố cho các thiết bị điện xoay chiều gia đình của chúng ta. Hôm nay chúng tôi đang xây dựng một mạch bảo vệ điện áp cao và thấp chi phí thấp, sẽ cắt nguồn cung cấp cho các thiết bị trong trường hợp điện áp cao hoặc thấp. Nó cũng sẽ hiển thị thông báo cảnh báo trên màn hình LCD 16x2. Trong dự án này, chúng tôi đã sử dụng Vi điều khiển PIC để đọc và so sánh điện áp đầu vào với điện áp tham chiếu và thực hiện hành động cho phù hợp.
Chúng tôi đã tạo mạch này trên PCB và thêm một mạch bổ sung trên PCB cho cùng mục đích, nhưng lần này sử dụng op-amp LM358 (không có vi điều khiển). Đối với mục đích trình diễn, chúng tôi đã chọn giới hạn điện áp thấp là 150v và giới hạn điện áp cao là 200v. Ở đây trong dự án này, chúng tôi không sử dụng bất kỳ rơle nào để cắt, chúng tôi chỉ trình diễn nó bằng LCD, hãy xem Video ở cuối bài viết này. Nhưng người dùng có thể gắn một rơ le với mạch này và kết nối nó với GPIO của PIC.
Kiểm tra thêm các dự án PCB khác của chúng tôi tại đây.
Các thành phần bắt buộc:
- Vi điều khiển PIC PIC18F2520
- PCB (đặt hàng từ EasyEDA)
- IC LM358
- Đầu nối đầu cuối 3 pin (tùy chọn)
- LCD 16x2
- Bóng bán dẫn BC547
- Điện trở 1k
- Điện trở 2k2
- Điện trở 30K SMD
- 10k SMD
- Tụ điện- 0,1uf, 10uF, 1000uF
- Đế IC 28 chân
- Bánh mì kẹp thịt nam / nữ
- 7805 Bộ điều chỉnh điện áp- 7805, 7812
- Lập trình viên Pickit2
- Đèn LED
- Điốt Zener- 5.1v, 7.5v, 9.2v
- Máy biến áp 12-0-12
- Tinh thể 12MHz
- Tụ 33pF
- Bộ điều chỉnh điện áp (bộ điều chỉnh tốc độ quạt)
Giải thích làm việc:
Trong mạch cắt điện áp cao và thấp này, chúng tôi đã đọc điện áp xoay chiều bằng cách sử dụng vi điều khiển PIC với sự trợ giúp của biến áp, bộ chỉnh lưu cầu & mạch phân áp và hiển thị trên màn hình LCD 16x2. Sau đó, chúng tôi đã so sánh điện áp AC với các giới hạn được xác định trước và hiển thị thông báo cảnh báo trên màn hình LCD tương ứng. Giống như nếu điện áp dưới 150v thì chúng ta sẽ hiển thị "Điện áp thấp" và nếu điện áp trên 200v thì chúng ta sẽ hiển thị văn bản "Điện áp cao" trên màn hình LCD. Chúng tôi có thể thay đổi các giới hạn đó trong mã PIC được đưa ra ở cuối dự án này. Ở đây chúng tôi đã sử dụng Fan Regulator để tăng và giảm điện áp vào cho mục đích trình diễn trong Video.
Trong mạch này, chúng tôi cũng đã thêm một mạch bảo vệ quá áp và dưới đơn giản mà không cần sử dụng bất kỳ vi điều khiển nào. Trong mạch đơn giản này, chúng tôi đã sử dụng bộ so sánh LM358 để so sánh điện áp đầu vào và điện áp tham chiếu. Vì vậy, ở đây chúng tôi có ba lựa chọn trong dự án này:
- Đo và so sánh điện áp xoay chiều với sự trợ giúp của máy biến áp, bộ chỉnh lưu cầu, mạch phân áp và vi điều khiển PIC.
- Phát hiện điện áp trên và dưới bằng cách sử dụng LM358 với sự trợ giúp của máy biến áp, bộ chỉnh lưu và bộ so sánh LM358 (không có Vi điều khiển)
- Phát hiện điện áp dưới và quá áp bằng cách sử dụng bộ so sánh LM358 và đưa đầu ra của nó tới bộ vi điều khiển PIC để thực hiện hành động bằng mã.
Ở đây chúng tôi đã chứng minh lựa chọn đầu tiên của dự án này. Trong đó chúng tôi đã giảm điện áp đầu vào AC và sau đó chuyển đổi điện áp đó thành DC bằng cách sử dụng bộ chỉnh lưu cầu và sau đó ánh xạ lại điện áp DC này thành 5v và sau đó cuối cùng đưa điện áp này đến vi điều khiển PIC để so sánh và hiển thị.
Trong vi điều khiển PIC, chúng tôi đã đọc điện áp một chiều được ánh xạ này và dựa trên giá trị được ánh xạ đó, chúng tôi đã tính toán điện áp xoay chiều đến với sự trợ giúp của công thức đã cho:
volt = ((adcValue * 240) / 1023)
trong đó adcValue là giá trị điện áp đầu vào DC tương đương tại chân ADC của bộ điều khiển PIC và volt là điện áp AC được đặt vào. Ở đây chúng tôi đã lấy 240v làm điện áp đầu vào tối đa.
hoặc cách khác, chúng ta có thể sử dụng phương pháp đã cho để ánh xạ giá trị đầu vào DC tương đương.
volt = bản đồ (adcVlaue, 530, 895, 100, 240)
trong đó adcValue là giá trị điện áp đầu vào DC tương đương tại chân ADC của bộ điều khiển PIC, 530 là điện áp DC tối thiểu tương đương và 895 là giá trị tương đương điện áp DC tối đa. Và 100v là điện áp ánh xạ tối thiểu và 240v là điện áp ánh xạ tối đa.
Có nghĩa là đầu vào 10mV DC tại chân PIC ADC bằng giá trị tương đương 2.046 ADC. Vì vậy, ở đây chúng tôi đã chọn 530 làm giá trị nhỏ nhất có nghĩa là, điện áp tại chân ADC của PIC sẽ là:
(((530 / 2.046) * 10) / 1000) Volt
2.6v sẽ được ánh xạ giá trị tối thiểu là 100VAC
(Tính toán tương tự cho giới hạn tối đa).
Kiểm tra chức năng bản đồ được đưa ra trong mã chương trình PIC cuối cùng. Tìm hiểu thêm về Mạch phân áp và ánh xạ Điện áp bằng ADC tại đây.
Làm việc của dự án này là dễ dàng. Trong dự án này, chúng tôi đã sử dụng bộ điều chỉnh quạt điện áp xoay chiều để trình diễn nó. Chúng tôi đã gắn bộ điều chỉnh quạt vào đầu vào của máy biến áp. Và sau đó bằng cách tăng hoặc giảm điện trở của nó, chúng tôi nhận được đầu ra điện áp mong muốn.
Trong mã, chúng tôi đã cố định các giá trị điện áp tối đa và tối thiểu để phát hiện Điện áp cao và Điện áp thấp. Chúng tôi đã cố định 200v là giới hạn quá áp và 150v là giới hạn điện áp thấp hơn. Bây giờ sau khi cấp nguồn cho mạch, chúng ta có thể thấy điện áp đầu vào AC trên màn hình LCD. Khi điện áp đầu vào tăng lên thì chúng ta có thể thấy sự thay đổi điện áp trên màn hình LCD và nếu điện áp vượt quá giới hạn điện áp thì màn hình LCD sẽ cảnh báo chúng ta bằng “Cảnh báo điện áp cao” và nếu điện áp thấp hơn giới hạn điện áp thì màn hình LCD sẽ cảnh báo chúng ta bằng cách hiển thị “ Thông báo LOW Voltage Alert ”. Bằng cách này, nó cũng có thể được sử dụng như bộ ngắt mạch điện tử.
Chúng tôi có thể thêm một rơ le để gắn bất kỳ thiết bị AC nào để tự động ngắt ở điện áp thấp hoặc cao. Chúng ta chỉ cần thêm một dòng mã để tắt thiết bị, bên dưới màn hình LCD thông báo hiển thị mã. Kiểm tra ở đây để sử dụng Rơ le với các thiết bị AC.
Giải thích mạch:
Trong Mạch bảo vệ điện áp cao và thấp, chúng tôi đã sử dụng một op-amp LM358 có hai đầu ra kết nối với 2 và 3 chân số của vi điều khiển PIC. Và một bộ chia điện áp được sử dụng để phân chia điện áp và kết nối đầu ra của nó ở chân số 4 của vi điều khiển PIC. LCD được kết nối tại PORTB của PIC ở chế độ 4 bit. RS và EN được kết nối trực tiếp tại B0 và B1 và các chân dữ liệu D4, D5, D6 và D7of LCD được kết nối tại B2, B3, B4 và B5 tương ứng. Trong dự án này, chúng tôi đã sử dụng hai bộ điều chỉnh điện áp: 7805 cho nguồn cung cấp vi điều khiển và 7812 cho mạch LM358. Và một biến áp xuống 12v-0-12v cũng được sử dụng để giảm điện áp xoay chiều. Phần còn lại của các thành phần được hiển thị trong sơ đồ mạch bên dưới.
Giải thích lập trình:
Lập trình một phần của dự án này rất dễ dàng. Trong đoạn mã này, chúng ta chỉ cần tính điện áp xoay chiều bằng cách sử dụng điện áp 0-5v được ánh xạ đến từ Mạch phân áp và sau đó so sánh nó với các giá trị được xác định trước. Bạn có thể kiểm tra mã PIC hoàn chỉnh sau dự án này.
Đầu tiên, trong đoạn mã, chúng tôi đã bao gồm một tiêu đề và cấu hình các bit cấu hình vi điều khiển PIC. Nếu bạn chưa quen với mã hóa PIC thì hãy tìm hiểu Vi điều khiển PIC và các bit cấu hình của nó tại đây.
Sau đó, chúng tôi đã sử dụng một số fucntions để điều khiển LCD, như void lcdbegin () để khởi tạo màn hình LCD, void lcdcmd (char ch) để gửi lệnh đến LCD, void lcdwrite (char ch) để gửi dữ liệu đến LCD và void lcdprint (char * str) để gửi chuỗi tới LCD. Kiểm tra tất cả các chức năng trong mã bên dưới.
Hàm dưới đây được sử dụng để ánh xạ các giá trị:
long map (long x, long in_min, long in_max, long out_min, long out_max) {return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }
Với int analogRead (int ch) chức năng được sử dụng để khởi tạo và đọc ADC:
int analogRead (int ch) {int adcData = 0; if (ch == 0) ADCON0 = 0x03; // kênh adc 0 else if (ch == 1) ADCON0 = 0x0b; // chọn kênh adc 1 else if (ch == 2) ADCON0 = 0x0b; // chọn kênh adc 2 ADCON1 = 0b00001100; // chọn analog i / p 0,1 và kênh 2 của ADC ADCON2 = 0b10001010; // eqisation time hold time cap time while (GODONE == 1); // bắt đầu chuyển đổi giá trị adc adcData = (ADRESL) + (ADRESH << 8); // Lưu trữ đầu ra 10 bit ADON = 0; // adc off return adcData; }
Các dòng đã cho được sử dụng để lấy mẫu ADC và tính trung bình của chúng và sau đó tính toán điện áp:
while (1) {long adcValue = 0; int volt = 0; for (int i = 0; i <100; i ++) // lấy mẫu {adcValue + = analogRead (2); trì hoãn (1); } adcValue / = 100; #if method == 1 volt = (((float) adcValue * 240.0) /1023.0); #else volt = map (adcValue, 530, 895, 100, 240); #endif sprintf (kết quả, "% d", volt);
Và cuối cùng hàm đã cho được sử dụng để thực hiện hành động có kết quả:
if (vôn> 200) {lcdcmd (1); lcdprint ("Điện áp cao"); lcdcmd (192); lcdprint ("Cảnh báo"); chậm trễ (1000); } else if (volt <150) {lcdcmd (1); lcdprint ("Điện áp thấp"); lcdcmd (192); lcdprint ("Cảnh báo"); chậm trễ (1000); }
Thiết kế mạch và PCB sử dụng EasyEDA:
Để thiết kế mạch dò điện áp CAO và THẤP này, chúng tôi đã chọn công cụ EDA trực tuyến gọi là EasyEDA. Trước đây chúng tôi đã sử dụng EasyEDA nhiều lần và thấy nó rất tiện lợi khi sử dụng so với các trình chế tạo PCB khác. Kiểm tra ở đây tất cả các dự án PCB của chúng tôi. EasyEDA không chỉ là giải pháp duy nhất để chụp sơ đồ, mô phỏng mạch và thiết kế PCB, họ còn cung cấp dịch vụ Tìm kiếm nguyên mẫu và linh kiện PCB với chi phí thấp. Gần đây, họ đã tung ra dịch vụ tìm nguồn cung ứng linh kiện, nơi họ có một lượng lớn linh kiện điện tử và người dùng có thể đặt hàng các thành phần cần thiết của họ cùng với đơn đặt hàng PCB.
Trong khi thiết kế mạch và PCB của bạn, bạn cũng có thể công khai thiết kế mạch và PCB của mình để những người dùng khác có thể sao chép hoặc chỉnh sửa chúng và có thể hưởng lợi từ đó, chúng tôi cũng đã công khai toàn bộ bố trí Mạch và PCB cho Điện áp cao và thấp này Mạch bảo vệ, hãy kiểm tra liên kết dưới đây:
easyeda.com/circuitdigest/HIGH_LOW_Voltage_Detector-4dc240b0fde140719c2401096e2410e6
Dưới đây là Ảnh chụp nhanh của lớp trên cùng của bố cục PCB từ EasyEDA, bạn có thể xem bất kỳ Lớp nào (Trên cùng, Dưới cùng, Topsilk, bottom, v.v.) của PCB bằng cách chọn lớp tạo thành Cửa sổ 'Lớp'.
Bạn cũng có thể kiểm tra chế độ xem Ảnh của PCB bằng EasyEDA:
Tính toán và đặt hàng PCB trực tuyến:
Sau khi hoàn thành thiết kế PCB, bạn có thể nhấp vào biểu tượng của kết xuất Chế tạo ở trên. Sau đó, bạn sẽ truy cập trang đặt hàng PCB để tải xuống các tệp Gerber của PCB của bạn và gửi chúng đến bất kỳ nhà sản xuất nào, cũng dễ dàng hơn rất nhiều (và rẻ hơn) để đặt hàng trực tiếp trong EasyEDA. Tại đây bạn có thể chọn số lượng PCB mà bạn muốn đặt hàng, bao nhiêu lớp đồng bạn cần, độ dày PCB, trọng lượng đồng và thậm chí cả màu sắc của PCB. Sau khi bạn đã chọn tất cả các tùy chọn, hãy nhấp vào “Lưu vào giỏ hàng” và hoàn thành đơn đặt hàng của bạn, sau đó bạn sẽ nhận được PCB của mình vài ngày sau đó. Người dùng cũng có thể đi với nhà cung cấp PCB tại địa phương của họ để tạo PCB bằng cách sử dụng tệp Gerber.
Giao hàng của EasyEDA rất nhanh và sau vài ngày đặt hàng PCB, tôi đã nhận được các mẫu PCB:
Dưới đây là những hình ảnh sau khi hàn các thành phần trên PCB:
Đây là cách chúng ta có thể dễ dàng xây dựng mạch bảo vệ điện áp thấp cho ngôi nhà của mình. Hơn nữa, bạn chỉ cần thêm một rơ le để kết nối bất kỳ thiết bị AC nào với nó, để bảo vệ nó khỏi biến động điện áp. Chỉ cần kết nối rơ le với bất kỳ Chân đa năng nào của PIC MCU và viết mã để làm cho chân đó Cao và thấp cùng với mã thông báo cảnh báo LCD.