Nguồn điện cắt quá dòng bằng Arduino

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Trong bài đăng này, chúng tôi sẽ xây dựng một bộ khử pin / nguồn điện biến đổi DC sẽ tự động cắt nguồn cung cấp, nếu dòng điện chạy qua tải vượt quá mức ngưỡng đặt trước.

Bởi Girish Radhakrishanan



Các tính năng kỹ thuật chính

Mạch cung cấp nguồn cắt quá dòng được đề xuất sử dụng Arduino có màn hình LCD 16 X 2, được sử dụng để hiển thị trường hợp điện áp, dòng điện, công suất tiêu thụ và giới hạn dòng ngưỡng đặt trước trong thời gian thực.

Là một người đam mê điện tử, chúng tôi thử nghiệm các nguyên mẫu của mình trên nguồn điện có điện áp thay đổi. Hầu hết chúng ta đều sở hữu một bộ nguồn biến đổi giá rẻ có thể không có tính năng đo điện áp / đo dòng điện cũng như bảo vệ đoản mạch hoặc quá dòng được tích hợp sẵn.



Đó là bởi vì nguồn điện với các tính năng được đề cập này có thể ném bom vào ví của bạn và sẽ quá mức cần thiết để sử dụng theo sở thích.

Ngắn mạch và dòng quá dòng là một vấn đề đối với người mới bắt đầu đến chuyên nghiệp và người mới bắt đầu dễ gặp phải vấn đề này hơn vì thiếu kinh nghiệm, họ có thể đảo ngược cực tính của nguồn điện hoặc kết nối các thành phần sai cách, v.v.

Những điều này có thể khiến dòng điện chạy qua mạch cao bất thường, dẫn đến hiện tượng thoát nhiệt trong các linh kiện bán dẫn và thụ động, dẫn đến phá hủy các linh kiện điện tử có giá trị. Trong những trường hợp này, luật ohm trở thành kẻ thù.

Nếu bạn chưa từng đoản mạch hoặc chập mạch thì xin chúc mừng! Bạn là một trong số ít những người hoàn hảo trong lĩnh vực điện tử hoặc bạn không bao giờ thử một cái gì đó mới trong lĩnh vực điện tử.

Dự án cung cấp điện được đề xuất có thể bảo vệ các thành phần điện tử khỏi sự phá hủy chiên như vậy, sẽ đủ rẻ cho một người yêu thích điện tử trung bình và đủ dễ dàng để chế tạo một cái cho những người trên một chút trình độ mới bắt đầu.

Thiết kế

Bộ nguồn có 3 chiết áp: một để điều chỉnh độ tương phản màn hình LCD, một để điều chỉnh điện áp đầu ra trong khoảng từ 1,2 V đến 15V và chiết áp cuối cùng được sử dụng để đặt giới hạn dòng điện từ 0 đến 2000 mA hoặc 2 Ampe.

Màn hình LCD sẽ cập nhật cho bạn bốn thông số mỗi giây: điện áp, dòng tiêu thụ, giới hạn dòng đặt trước và mức tiêu thụ điện của tải.

Mức tiêu thụ hiện tại qua tải sẽ được hiển thị bằng miliampe, giới hạn dòng đặt trước sẽ được hiển thị bằng miliampe và mức tiêu thụ điện sẽ được hiển thị bằng mili-watt.
Mạch được chia thành 3 phần: điện tử công suất, kết nối màn hình LCD và mạch đo công suất.

3 giai đoạn này có thể giúp người đọc hiểu rõ hơn về mạch. Bây giờ chúng ta hãy xem phần điện tử công suất điều khiển điện áp đầu ra.

Sơ đồ:

Nguồn điện cắt quá dòng bằng Arduino

Biến áp 12v-0-12v / 3A sẽ được sử dụng để giảm điện áp, các điốt 6A4 sẽ chuyển đổi điện xoay chiều thành điện áp một chiều và tụ điện 2000uF sẽ làm trơn tru nguồn điện một chiều từ các điốt.

Bộ điều chỉnh 9V cố định LM 7809 sẽ chuyển đổi nguồn DC không được điều chỉnh thành nguồn cung cấp DC 9V được điều chỉnh. Nguồn 9V sẽ cấp nguồn cho Arduino và rơ le. Cố gắng sử dụng giắc cắm DC cho nguồn cung cấp đầu vào của arduino.

Đừng bỏ qua những tụ gốm 0,1uF cung cấp sự ổn định tốt cho điện áp đầu ra.

LM 317 cung cấp điện áp đầu ra thay đổi cho tải được kết nối.

Bạn có thể điều chỉnh điện áp đầu ra bằng cách xoay chiết áp 4,7K ohm.

Điều đó kết thúc phần quyền lực.

Bây giờ chúng ta hãy xem kết nối hiển thị:

Chi tiết kết nối

Mạch hiển thị nguồn điện cắt quá dòng sử dụng Arduino

Không có gì để giải thích ở đây nhiều, chỉ cần đấu dây Arduino và màn hình LCD theo sơ đồ mạch. Điều chỉnh chiết áp 10K để có độ tương phản xem tốt hơn.

Màn hình trên hiển thị các giá trị mẫu cho bốn tham số được đề cập.

Giai đoạn đo công suất

Bây giờ, chúng ta hãy xem mạch đo công suất chi tiết.

Mạch đo công suất gồm vôn kế và ampe kế. Arduino có thể đo điện áp và dòng điện đồng thời bằng cách kết nối mạng điện trở theo sơ đồ mạch.

mạng điện trở để cung cấp nguồn cắt quá dòng bằng Arduino

Chi tiết kết nối rơ le cho thiết kế trên:

Chi tiết kết nối relay Arduino

Bốn điện trở 10 ohm song song tạo thành điện trở shunt 2,5 ohm sẽ được sử dụng để đo dòng điện chạy qua tải. Mỗi điện trở phải có ít nhất 2 watt.

Điện trở 10k ohm và 100k ohm giúp Arduino đo điện áp ở tải. Những điện trở này có thể là một với đánh giá công suất bình thường.

Nếu bạn muốn biết thêm về hoạt động của ampe kế và vôn kế dựa trên Arduino, hãy xem hai liên kết sau:

Vôn kế: https://homemade-circuits.com/2016/09/how-to-make-dc-voltmeter-using-arduino.html

Ampe kế: https://homemade-circuits.com/2017/08/arduino-dc-digital-ammeter.html

Chiết áp 10K ohm được cung cấp để điều chỉnh mức dòng điện tối đa ở đầu ra. Nếu dòng điện chạy qua tải vượt quá dòng đặt trước, nguồn cung cấp đầu ra sẽ bị ngắt.
Bạn có thể thấy mức đặt trước trong màn hình, nó sẽ được đề cập là “LT” (Giới hạn).

Ví dụ: nếu bạn đặt giới hạn là 200, nó sẽ cung cấp dòng điện đến 199mA. Nếu mức tiêu thụ hiện tại bằng 200 mA hoặc cao hơn, đầu ra sẽ bị ngắt ngay lập tức.

Đầu ra được bật và tắt bởi chân Arduino # 7. Khi chân này ở mức cao, bóng bán dẫn sẽ cung cấp năng lượng cho rơ le kết nối chân chung và chân thường mở, dẫn điện tích cực cho tải.

Diode IN4007 hấp thụ điện áp cao trở lại EMF từ cuộn dây rơle trong khi chuyển đổi BẬT và TẮT rơle.

Mã chương trình:

//------------------Program Developed by R.GIRISH------------------//
#include
#define input_1 A0
#define input_2 A1
#define input_3 A2
#define pot A3
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int Pout = 7
int AnalogValue = 0
int potValue = 0
int PeakVoltage = 0
int value = 0
int power = 0
float AverageVoltage = 0
float input_A0 = 0
float input_A1 = 0
float output = 0
float Resolution = 0.00488
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
unsigned long sample = 0
int threshold = 0
void setup()
{
lcd.begin(16,2)
Serial.begin(9600)
pinMode(input_3, INPUT)
pinMode(Pout, OUTPUT)
pinMode(pot, INPUT)
digitalWrite(Pout, HIGH)
}
void loop()
{
PeakVoltage = 0
value = analogRead(input_3)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
if (vin <0.10)
{
vin = 0.0
}
for(sample = 0 sample <5000 sample ++)
{
AnalogValue = analogRead(input_1)
if(PeakVoltage {
PeakVoltage = AnalogValue
}
else
{
delayMicroseconds(10)
}
}
input_A0 = PeakVoltage * Resolution
PeakVoltage = 0
for(sample = 0 sample <5000 sample ++)
{
AnalogValue = analogRead(input_2)
if(PeakVoltage {
PeakVoltage = AnalogValue
}
else
{
delayMicroseconds(10)
}
}
potValue = analogRead(pot)
threshold = map(potValue, 0, 1023, 0, 2000)
input_A1 = PeakVoltage * Resolution
output = (input_A0 - input_A1) * 100
output = output * 4
power = output * vin
while(output >= threshold || analogRead(input_1) >= 1010)
{
digitalWrite(Pout, LOW)
while(true)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Power Supply is')
lcd.setCursor(0,1)
lcd.print('Disconnected.')
delay(1500)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Press Reset the')
lcd.setCursor(0,1)
lcd.print('Button.')
delay(1500)
}
}
while(output >= threshold || analogRead(input_2) >= 1010)
{
digitalWrite(Pout, LOW)
while(true)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Power Supply is')
lcd.setCursor(0,1)
lcd.print('Disconnected.')
delay(1500)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Press Reset the')
lcd.setCursor(0,1)
lcd.print('Button.')
delay(1500)
}
}
lcd.clear()
lcd.setCursor(0,0)
lcd.print('V=')
lcd.print(vin)
lcd.setCursor(9,0)
lcd.print('LT=')
lcd.print(threshold)
lcd.setCursor(0,1)
lcd.print('I=')
lcd.print(output)
lcd.setCursor(9,1)
lcd.print('P=')
lcd.print(power)
Serial.print('Volatge Level at A0 = ')
Serial.println(analogRead(input_1))
Serial.print('Volatge Level at A1 = ')
Serial.println(analogRead(input_2))
Serial.print('Voltage Level at A2 = ')
Serial.println(analogRead(input_3))
Serial.println('------------------------------')
}

//------------------Program Developed by R.GIRISH------------------//

Bây giờ, bạn đã có đủ kiến ​​thức để xây dựng một bộ nguồn bảo vệ bạn các linh kiện và mô-đun điện tử có giá trị.

Nếu bạn có bất kỳ câu hỏi cụ thể nào liên quan đến mạch cung cấp nguồn cắt quá dòng này bằng Arduino, vui lòng hỏi trong phần bình luận, bạn có thể nhận được câu trả lời nhanh chóng.




Trước: Tạo Ampe kế kỹ thuật số nâng cao này bằng Arduino Tiếp theo: Giới thiệu về EEPROM trong Arduino