单片机小制作,DIY多头灯具分段控制器
为了方便和节能,现在很多家庭都会安装分段控制的吊灯,而且很多都是可遥控的。但是有孩子的家庭会发现,小孩经常顽皮地拿着遥控器切换灯玩,遥控器有时也不翼而飞。这个烦恼其实可以用一个简单的单片机搞定,您在家就可以自行制作。
从灯具中取下原有控制器把灯具拆下取出控制器(见图3.1)。可以看到,简单的功能用了好多元件,要是用单片机不是简单好多吗?电路只包括整流电路、无线接收模块和继电器驱动电路。无线接收模块输出的信号经过2片74HC40系列的芯片处理后驱动9013控制继电器闭合。
图3.1 从灯具中取下的原有控制器
设计单片机控制器我想实现的功能是开灯后默认点亮2支灯管,要切换灯管数目时只需要关掉开关又马上打开开关,可以按2、3、4、1支方式切换点亮灯管。这样一来就有两个问题需要解决了:一是开关断开后,电源也切断了,电容上的电荷很快被继电器线圈放完电,单片机无法继续工作;二是单片机如何得知开关被关了。图3.2所示是我设计的电路图,带着上面两个问题,我们分析一下电路。
图3.2 单片机设计电路原理图
单片机选用市场上常见的STC出品的12C2052AD,这款芯片在I/O上完全兼容AT89C2051,芯片功能上更扩展了丰富的功能,如I/O的强上拉、高阻,片内RC振荡及复位电路、片内EEPROM等。为了方便制作,我使用了片内的RC振荡及复位电路,这样一来少使用了复位电路及晶体振荡器。9V交流电压器整流后得到约12V的直流,一部分供给继电器驱动,一部分供给78L05稳压后得到5V供单片机使用。在78L05输出端使用一个4700µF(C2)电解电容。使用如此大容量的目的是,在主电源切断后,C1会被继电器线圈很快地放完电,而C2仍有电荷供单片机使用。VD3、R2、VD4构成一个断电检测电路。电源没有切断时,VD3半波整流后经过R2限流,再由VD4稳压在5.1V左右,电源切断时这里则为0V。使用这个电路的要点是C2的容量要远大于C1,这样才能保证在电源切断后P3.7引脚得到的是一个低电平,同时单片机在断电后一段时间后仍能保持工作。另外,P3.7引脚需要设置为高阻态,如果使用准双向模式就算VD3失电,P3.7仍然是处于高电平状态。单片机输出的控制信号通过内部强上拉后,经过10kΩ的电阻使得三极管B极电流在0.5mA,再经过100倍左右的放大,C级电流可以达到50mA,足以驱动继电器。因为电路安装在灯内,LED可以不要,只用于程序的调试作用。完成的电路实物图见图3.3。
软件编程软件的编写也极为简单。上电后先设置I/O的上拉和高阻态。因为上电后I/O输出为高,所以在完成设置后把I/O拉低,这样就不会有上电瞬间4支灯管片刻间点亮的问题。程序会不停用P3.7引脚检测电源状态,一但电源失电,P3.7检测到为低电平时,这时会延时防抖,确认为失电后应马上切换到下一个灯管开关状态,灯会在1s后点亮。如果开关关闭时间过长,单片机也会因C2放电完成而终止工作,所有电路停止。所以在使用时,开关关闭再打开的时间间隔大约为1s,也就是开关关闭后马上又要打开,只有这样这电路才能正常进行切换。
图3.3 完成的电路实物图
组装我们从图3.3所示的电路可以看到,它是直接在灯具原配的电路板上修改的,拆除无线接收及其他部分的电路,只保留继电器、继电器驱动电路、电源部分及接口,这样根本不修改原灯具便可以方便地按原路安装新的功能。此项制作要求制作者十分熟悉市电,安装时也一定要先切断电源。图3.4所示是点亮2支灯管的情形。使用学习到的电子知识来方便自己的生活,确实十分有意义。
图3.4 安装后的点亮效果