最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

当前位置: 主页 > 电子DIY > 单片机 >

省下电费出去嗨全靠它了智能控制开关

时间:2017-05-12 09:18来源:本站 作者:haodiy 点击:
由于寝室有热水器、空调等大功率电器存在,一个月的电费常常十分高昂。在这种情况下萌生出了对电器实施智能控制达到节能目的的想法。寝室使用热水的时间基本集中

 

省下电费出去嗨全靠它了智能控制开关

 

由于寝室有热水器、空调等大功率电器存在,一个月的电费常常十分高昂。在这种情况下萌生出了对电器实施智能控制达到节能目的的想法。寝室使用热水的时间基本集中在早上和晚上两个时间段,所以,如果控制热水器仅在需要的时段内进行加热,则既能满足生活需求又能节约电能。

    本设计采用STC89C52单片机,4位数码管,5V控制300V 10A的继电器(型号忘了),一个5V开关电源(手机充电器改装),另外一个普通家用插线板。插线板上方打孔装了几个按键,第一排插孔的位置切割出了方形槽,用来做显示窗口。第二排插孔内部的铜片也去掉了,用来装短路开关了。第三排插孔保留,用来插热水器等电器。

本设计最大的特色有以下几点:

    1)安全可靠。整个控制器密封后嵌入在一个普通的插线板中,只要将电器的插头接在插线板上即可使用,具有防水、安全、易用的特点。本着可靠性第一的原则,加入了一个短路开关(即图中数码管下面的白色开关,将火线接在上面),即在控制器万一发生故障的情况下,按下短路开关后电源直接接通,即可当成普通插线板使用。

    2)方便易用。在程序设计上下了功夫。通过4个按键,可以校准时间、设置运行模式、一键开启或关闭电器且和自动控制不冲突。内置了4种模式(可对应春夏秋冬),进入每种模式后,都可以设置3对开启、关断时间点来控制电器的开与关。当然,如果需要更多的开启和关断时间点,只要在程序里再把相应的代码复制粘贴一下、改一下数字就OK了。

    3)走时精确。使用单片机内部的定时器为时钟源设计了24小时制的时钟,经过校准,走时误差不超过0.3s/天。

    4)数据掉电保存。选定的模式、设定的开启关断时间点等数据都保存在单片机内部的EEPROM中,掉电后各种设置、数据不会丢失。

  5)故障自动复位。内置了看门狗程序,使系统能够从故障中自动快速重启。

    目前为止该定时器已经安全、正常运行了半年多了。通过查看实时电费数据发现,节电效果非常好,和之前相比,平均每天能节约23度电。每个月寝室出去搓一顿全靠它省下来电费了!

     ‘由于当时急着用,且期末有一堆事情要做,外带想在两个室友面前小小的炫一下技,所以从PCB的设计、制作,到焊接、写程序、调试,再到加工装配总共只花了3天时间。所以整个过程也顾不上拍很多照片。现将仅有的几张贴在下面。

原理图:

 

省下电费出去嗨全靠它了智能控制开关

 

PCB

 

省下电费出去嗨全靠它了智能控制开关

 

手工洗的板子:

 

省下电费出去嗨全靠它了智能控制开关

 

程序设计:

 

省下电费出去嗨全靠它了智能控制开关

 

这一块花功夫最多。主要是考虑到易用性

再来个总结:

    在控制器上电运行之初,偶尔会出现到开启时间点或手动开启继电器不接通的情况,只有重启后才能恢复正常。且此问题只是偶然出现并非必然。在不接负载的情况下对控制器进行多次试验,并没有出现上述的问题。仔细分析整个控制过程,推测原因应该是:继电器接通瞬间通过负载的电流很大(热水器的额定电流约7A),对给单片机的电源造成了很大的冲击,从而导致单片机的电源电压不稳定,此时单片机的管脚寄存器就可能出现无法置1的故障。(单片机管脚通过一个NPN三极管驱动继电器,当管脚输出高电平时继电器接通)。

    修改硬件电路比较困难,于是决定采用软件的办法来解决这个问题。修改了软件中控制继电器的管脚的赋值程序:每次需要置1的时候,先置0,然后再置1,假如寄存器在电压不稳时发生了故障,通过置0就能达到清除故障的效果。然后不断检测该寄存器在置1之后的值是否为1,否则不断重置,直到为1才停止。最后圆满的解决问题,再也没出现过控制失败的情况了。

 

最后,如果有人要做的话,还有以下几个问题要注意下:

1、所用的STC89C52单片机为PQFP封装的,带P4口。并且用到了P4口,所以在51头文件里要加入P4口的定义:

/*  BYTE Registers  */

sfr P0    = 0x80;

sfr P1    = 0x90;

sfr P2    = 0xA0;

sfr P3    = 0xB0;

sfr P4    = 0xE8;

看门狗寄存器的定义:

/*看门狗寄存器*/

sfr WDT_CONTR = 0xe1;

以及EEPROM的定义:

/*  EEPROM Registers  */

sfr ISP_DATA  = 0xe2;  

sfr ISP_ADDRH = 0xe3;    

sfr ISP_ADDRL = 0xe4;  

sfr ISP_CMD   = 0xe5;  

sfr ISP_TRIG  = 0xe6;     

sfr ISP_CONTR = 0xe7; 

2、由于PCB板是单层板,有几个地方需要飞一下线(打开PCB文件就能看到了)。

35V电源需要接到数码管两边的接线孔上。

 

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
相关文章
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容