接修一汽车电瓶充电器,客户反映充电过程中机内冒烟,充电器分三个档位,分别对应6V、12V、24V,拆机仔细观察,发现档位开关触点烧黑,与之连接的几条导线外皮烧焦粘连在一起,去掉档位开关,通电测量变压器次级三组交流电压正常,万用表电阻档测量整流桥无短路击穿现象,观察中发现其充电输出线外皮也有轻微软化烧焦痕迹,分析有可能是由于输出正负极鳄鱼夹碰到一起造成电流过大从而损坏了档位开关,由于可以急用,手头一时找不到大电流的档位开关替换,于是想到了用手头的继电器来代替传统的档位开关,再用电风扇的档位开关去控制继电器,取得了满意的效果!
本制作共使用了3个工作电压12V,触点电流30A的单触点常开式继电器,6只8050三极管,一块12C2052AD单片机,以及少量的阻容元件构成,由于采用洞洞板固定元件,反面飞线的方式更是大大节省了制作时间,下面附上本人设计的原理图,以及C语言程序代码,视频和图片说明(点击文章结尾阅读原文可看视频)
【补充说明】看到好多评论者质疑,为何不用三挡开关直接控制继电器,这里做一下解释:因为继电器相互切换是有延迟的,也就是说当从J1切换到J2期间,由于J1不能迅速断开,而此时J2已经接通,这样就相当于变压器次级的6V和12V绕组短路,哪怕只是很短暂的毫秒级别,强大的短路电流也会瞬间烧毁继电器触点,所以才用到了延时电路。让第一组继电器完全断开以后,过一会儿再接通另一组继电器!而线路图中没有标注序号的3只三极管的作用是,防止电源刚刚接通的瞬间,单片机还没有处于稳定状态,各个IO口瞬间高电平脉冲造成所有继电器瞬间接通的作用。
#include<STC12C2052AD.h>
#define uint unsigned int
sbit k1 = P1^0; // 开关1档对应的IO口
sbit k2 = P1^1; // 开关2档对应的IO口
sbit k3 = P1^2; // 开关3档对应的IO口
sbit Q1 = P1^5; // 三极管Q1由P1^5控制
sbit Q2 = P1^6; // 三极管Q2由P1^6控制
sbit Q3 = P1^7; // 三极管Q3由P1^7控制
sbit Q4 = P1^3; // 三极管Q4由P1^3控制
void Delay1ms(uint x) //晶振为11.0592MHz 1ms延时子程序
{
uint i,j;
for(i=x;i>0;i--)
for(j=848;j>0;j--);
}
void main() //主函数
{
Delay1ms(300); // 延时300ms(消除单片机刚上电时各个IO口输出的高电平脉冲)
Q4 = 0; // Q4截止
while(k1 == 0) // 开关掷1档
{
Q2 = 0; // Q2关断
Q3 = 0; // Q3关断
Delay1ms(500); // 500毫秒后
Q1 = 1; // Q1导通
}
while(k2 == 0) // 开关掷2档
{
Q1 = 0; // Q1关断
Q3 = 0; // Q3关断
Delay1ms(500); // 500毫秒后
Q2 = 1; // Q2导通
}
while(k3 == 0) // 开关掷3档
{
Q1 = 0; // Q1关断
Q2 = 0; // Q2关断
Delay1ms(500); // 500毫秒后
Q3 = 1; // Q3导通
}
}
设计的电路图
充电器外观
原充电器档位开关,已经烧焦
改造后的风扇开关与电路板
改装后的整体结构
家电维修论坛是专业的家电维修技术交流社区,学习电子电路基础知识,分享家电维修技术资料,交流家电维修技巧经验,获取更多精彩内容请关注家电维修论坛。