学校的学生宿舍和集体单位的职工宿舍的用电管理是一项重要的工作,它涉及到节约用电和安全用电的问题。
本文介绍一种用单片机制作的服电控制器,用于限制用户的用电量,当用户的用电量超过预先设定的功率时,先报警30秒钟,提醒用户降低用电负荷,如果用户在此时间内没有降低用电负荷,则强行切断该用户的电源,直至该用户的用电负荷低于设定功率时才能自动恢复正常供电。采用先报暂后断电的方式是为了给用户一个自行处理的机会,防止给正在使用的电脑等设备造成数据丢失和损伤。
硬件电路工作原理
限电控制器的电路见下图,由超负荷检测电路、单片机电路、报警发声电路、继电器控制电路和电源电路等部分组成。
超负荷检测电路由电抗变换器T1、VD3、R5-R7、RP、C4和AT89C2O5l内部的模拟信号比较器等组成,这里P1.0和P1.1分别是模拟信号比较器的同相输入端和反相输入踹,模拟信号比较器的比较结果存入P3.6对应的寄存器,P3.6在AT89C2O5l外部无引脚。
RP用来设定用户的用电功率,其滑动触点向上调时用电功率增加。
电抗变换器T1的作用是把流过供电线路的输入电流直接转换成与电流成正比的电压,此电压经VD3整流在C4上得到直流电压。正常情况下,C4上的电压低于P1.0端的电位,P3.6输出高电平1,在此情况下p3.5输出高电平,VT2截止,P3.0输出低电平,VT1截止,继电器K处于释放状态,其常闭触点K接通给用户提供正常用电。
当用户的用电超负荷时,通过电抗变换器T1初级的电流增加,T1的次级电压随之提高,C4上的电压上升,当其值大于P1.0端的电位时,P3.6输出低电平0,在此情况持续2秒(设置2秒的延时时间是为了防止某些电器的开机瞬间大电流产生误判)后P3.5输出30秒响0.5秒、停0.5秒的500Hz脉冲信号,由VT2推动扬声器BL发出报警声。
报警结束后如果用电负荷没有降低,即P3.6仍输出低电平0,则P3.0输出高电平,VTI导通使继电器K吸合,其常闭触点K-1断开,切断电源,停止向用户供电。在停止向用户供电5分钟后,P3.0输出低电平,试恢复供电,电路又回到开始的检测状态,用电不超负荷时即能正常供电,如果继续超负荷则重新进入上述循环状态。
报警结束后如果用电负荷已降低到了小于设定值,即P3.6回到了输出高电平1,则P3.0仍然输出低电平,不切断用户的电源。
软件设计
软件用keilC语言编写,由主程序、定时器TO中断服务子程序、延时子程序等部分组成。其中定时器TO中断服务程序的流程图见图2。
定时器TO定时时间设置为50ms,即每隔50ms产生一次中断,如果连续40次(对应时间为2s)检测到P3.6为低电平0,即用电超负荷,则产生报警信号。
报警信号由P3.5输出,方法是每过lms将P3.5取反一次,这样就能输出500Hz的脉冲信号。每输出250个脉冲(0.5s)后停0.5s,即能产生响0.5s停0.5s的报警声。
具体程序如下:
安装和调试
电抗变换器T1是限电控制器的一个关键器件,需使用磁环自制。其绕制参数要根据限定的功率大小确定。
以限定功率不超过1000VA为例,磁环可以选用MX0—2000型φ18锰锌铁氧体,笔者使用的是旧电脑开关电源上拆下的磁环,T1的初级用φ1mm漆包线绕25圈,次级用φ0.15mm漆包线绕400圈。
继电器K使用吸合电压为DC12V的继电器,其触点负荷根据限定功率确定,尽量选大一点的,有多个触点时可并联使用。T2选用输出电压为10V×2,功率为3VA左右的小型电源变压器。BL选用阻抗为16Ω的小扬声器。
安装前先将C语言源程序用KEIL51编译成目标文件即HEX文件,再用编程器将HEX文件xdq.hex写入AT89C2051芯片。
下面以限定功率为500VA为例说明调试过程,将RP的滑动触点调到最上端,接通电源,在220V的输出端接上500VA的负载,测量一下c4上的电压(实测电压约lV),调节RP,使P1.0端的电位略高于此电压,这时加接一个50VA左右的用电器后电路即产生报警,报警过后如果不降低负荷则自动断电。