图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 安装后的点亮效果






