1 基于Arduino的过流切断电源电路-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Arduino的过流切断电源电路

科技观察员 来源:homemade-circuits 作者:homemade-circuits 2023-07-27 11:31 次阅读

在这篇文章中,我们将构建一个电池消除器/直流可变电源,如果流过负载的电流超过预设的阈值水平,它将自动切断电源。

主要技术特点

所提出的使用Arduino的过流切断电源电路具有16 X 2 LCD显示屏,用于实时显示电压,电流,功耗和预设阈值电流限制。

作为电子爱好者,我们在可变电压电源上测试我们的原型。我们大多数人都拥有一个便宜的可变电源,它可能既没有电压测量/电流测量功能,也没有短路或内置过流保护。

这是因为具有这些上述功能的电源可能会轰炸您的钱包,并且对于爱好使用来说会过度杀伤。

短路和过电流对于初学者到专业人士来说都是一个问题,初学者由于缺乏经验而更容易出现这种情况,他们可能会反转电源的极性或以错误的方式连接组件等。

这些东西会导致流过电路的电流异常高,导致半导体和无源元件的热失控,从而导致有价值的电子元件的破坏。在这些情况下,欧姆定律变成了敌人。

如果您从未短路或油炸电路,那么恭喜您!您是少数几个在电子产品方面完美的人之一,或者您从不尝试电子产品中的新事物。

拟议的电源项目可以保护电子元件免受这种油炸破坏,这对于普通的电子爱好者来说足够便宜,并且对于略高于初学者水平的人来说也足够容易建造一个。

设计

电源有 3 个电位计:一个用于调节 LCD 显示屏对比度,一个用于调节 1.2 V 至 15V 的输出电压,最后一个电位计用于设置 0 至 2000
mA 或 2 安培的电流限制。

LCD显示屏将每秒更新四个参数:电压,电流消耗,预设电流限制和负载功耗。

负载电流消耗将以毫安为单位显示;预设的电流限制将以毫安为单位显示,功耗将以毫瓦为单位显示。

该电路分为3部分:电力电子,LCD显示器连接和功率测量电路。

这3个阶段可以帮助读者更好地了解电路。现在让我们看看控制输出电压的电力电子部分。

示意图:

使用 Arduino 的过流切断电源

12v-0-12v / 3A变压器将用于降压,6A4二极管将交流电转换为直流电压,2000uF电容器将平滑二极管的不稳定直流电源。

LM 7809 固定 9V 稳压器可将非稳压直流转换为稳压 9V 直流电源。9V 电源将为 Arduino 和继电器供电。尝试使用 DC 插孔作为
arduino 的输入电源。

不要跳过那些为输出电压提供良好稳定性的0.1uF陶瓷电容器。

LM 317 为要连接的负载提供可变输出电压。

您可以通过旋转 4.7K 欧姆电位器来调节输出电压。

权力部分到此结束。

现在让我们看看显示连接:

连接详细信息

使用Arduino的过流切断电源显示电路

这里没有什么可解释的,只需按照电路图连接Arduino和LCD显示屏即可。调整 10K 电位计以获得更好的观看对比度。

上图显示了上述四个参数的样本读数。

功率测量台

现在,让我们详细看看功率测量电路。

功率测量电路由电压表和电流表组成。Arduino 可以根据电路图通过连接电阻网络同时测量电压和电流。

用于使用 Arduino 的过流切断电源的电阻网络

上述设计的继电器连接细节:

Arduino 继电器连接详细信息

四个并联的 10 欧姆电阻器形成 2.5 欧姆分流电阻器,用于测量流过负载的电流。每个电阻应至少为 2 瓦。

10k 欧姆和 100k 欧姆电阻器可帮助 Arduino 测量负载电压。这些电阻器可以是具有正常额定功率的电阻器。

提供 10K 欧姆电位计,用于调节输出端的最大电流电平。如果流过负载的电流超过预设电流,则输出电源将断开。

您可以在显示屏中看到预设级别,它将被称为“LT”(限制)。

例如:如果将限制设置为200,它将提供电流直到199mA。如果电流消耗等于200 mA或更高,输出将立即切断。

输出由 Arduino 引脚 #7 打开和关闭。当该引脚为高电平时,晶体管激励继电器,继电器连接公共引脚和常开引脚,为负载传导正电源。

二极管IN4007吸收继电器线圈的高压反电动势,同时打开和关闭继电器。

程序代码

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

#include 《LiquidCrystal.h》

#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 《 AnalogValue)

{

PeakVoltage = AnalogValue;

}

else

{

delayMicroseconds(10);

}

}

input_A0 = PeakVoltage * Resolution;

PeakVoltage = 0;

for(sample = 0; sample 《 5000; sample ++)

{

AnalogValue = analogRead(input_2);

if(PeakVoltage 《 AnalogValue)

{

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(“------------------------------”);

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源电路
    +关注

    关注

    48

    文章

    995

    浏览量

    65187
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186948
收藏 人收藏

    评论

    相关推荐

    10个保护电路

    10个保护电路:数控开关电源保护电路图,IG
    发表于 03-19 16:21 4.1w次阅读

    怎样检测电机电流,切断电源

    电机启动或者因障碍卡死时会出现现象,为了防止电机烧坏出现事故,要检测电流不能超过5A。请问有没有人做过?
    发表于 04-28 18:51

    压过保护芯片

    5.5V,如果电源故障只要电压升至5.5V时,电源会自动切断电压输出; 2,开关拔插通电有几率产成的输入浪涌,产生瞬间尖峰高压,对于电子设备和模块供电都是一个随时的“***“。这适合也是需要更耐压的
    发表于 01-07 12:02

    压过保护芯片

    故障时,电流就可能大幅度上升,而电压的升值却不甚明显,这时电源内部的保护部件会首先启动,电源会自动切断输出。短路保护:1, 对于同一路
    发表于 04-24 11:45

    电池充电自动切断电路

    电池充电自动切断电路
    发表于 01-10 12:08 1974次阅读
    电池充电自动<b class='flag-5'>切断电路</b>

    浅谈开关电源保护电路

    浅谈开关电源保护电路(电源技术发展的新趋势新技术)-浅谈开关电源
    发表于 09-29 15:12 77次下载
    浅谈开关<b class='flag-5'>电源</b>的<b class='flag-5'>过</b><b class='flag-5'>流</b>保护<b class='flag-5'>电路</b>

    继电器的调节步骤和安装注意事项

      继电器是一种用于电路保护的电气设备,其作用是当电路中电流超过设定值时,自动切断电路,避免电气设备受到损坏或故障。为了让
    发表于 03-23 17:57 4522次阅读

    模块保护怎么处理

    模块保护怎么处理  模块保护,是指在电路中,当电流超出模块所能承受的最大电流时,系统会自动切断电
    的头像 发表于 09-13 11:17 2843次阅读

    母联独立保护的作用

    的作用就是在电路出现时,能够及时地切断电路,保障电路和设备的安全。 母联独立
    的头像 发表于 09-26 17:40 1088次阅读

    热继电器如何切断电路

    热继电器如何切断电路?  热继电器是工业控制电路中常用的一种开关装置。它通过对电路中的电流大小进行检测,当电流超过一定阈值时会通过一定的机构来切断电路。因此,掌握热继电器的原理以及如何
    的头像 发表于 09-27 17:44 1509次阅读

    BUCK电路元件的值该如何正确选择?

    ,我们需要了解保护的概念。在Buck电路中,保护是指当电路中的电流超过某个预设值时,保护
    的头像 发表于 01-31 17:03 746次阅读

    压和欠压自动切断电路分析

    压和欠压自动切断电路”项目旨在保护电气和电子设备免受过压和欠压的影响,从而确保该设备的长寿命。这里介绍了“压和欠压自动切断电路”,用于多种安全目的;欠压保护、
    的头像 发表于 02-25 16:28 1318次阅读
    <b class='flag-5'>过</b>压和欠压自动<b class='flag-5'>切断电路</b>分析

    继电器的工作原理和作用

    继电器工作原理和作用  继电器是一种常用的电气保护设备,它的主要作用是在电路中检测电流是否超过额定值,并在超过额定值时通过
    的头像 发表于 03-06 15:54 2734次阅读

    PLC出问题能直接切断电源吗?

    当PLC出现问题时,直接切断电源并不是一个推荐的解决方案,因为它可能导致一些不良后果,包括数据丢失、设备损坏或甚至人员伤害。
    的头像 发表于 05-28 09:10 655次阅读

    保护器怎么判断好坏

    保护器,也称为过载保护器或过电流保护器,是一种用于保护电气设备免受过大电流损害的装置。保护器的主要功能是在电路中检测到过电流时,自动
    的头像 发表于 08-05 10:39 1062次阅读