怎样以单片机为核心设计一个太阳能LED灯控制器?

控制/MCU

1814人已加入

描述

可作路灯或庭院灯使用,白天采用太阳能电池板给蓄电池充电,晚上采用两段式点灯,即天黑后点亮到深夜自动关闭,第二天天亮前自动点亮,天亮后关闭。这里涉及的控制有:定时开关灯;蓄电池充电和放电电压的监测,防止过充电和过放电;环境光照强度的测量,作为晚上天黑时开灯和早晨天亮时关灯的依据。由于一年四季黑夜的长度都不一样,所以第二天提前开灯的时刻也不一样。要完成上述功能,用传统电路显然很麻烦,甚至无法实现,而使用可以使电路变得很简洁。

根据上述的功能要求对单片机有以下的要求:

1.单片机要处理两个模拟量:电池电压和环境照度,因此要求单片机有两个A/D转换器或两个电压比较器,比较一下用A/D转换器比用电压比较器外围电路更简单,引脚也少,因此决定采用A/D转换器;2.单片机有两个控制输出,一个控制充电,一个控制点灯。加上两个A/D转换器要用两个输入端,这样要用4个I/O口,3.由于系统的程序容量并不大,因此程序存储器有1KB就足够了;4.太阳能电池和蓄电池实际上组成不间断电源,单片机的数据不存在掉电丢失的问题,而且每天都自动更新,因此可以不选用带EEPROM的单片机。

综上所述,经过反复比较,可选用8只引脚的PIC12C671单片机。

为了充分利用I/O口,采用芯片内部的RC振荡器做时钟源,采用上电复位的复位方式。电路见下图。

单片机

上图中R5、R6组成蓄电池电压的取样分压电路,此电压送单片机ANO端作A/D转换后测量蓄电池的电压,防止过充电和过放电。充电时如果发现电池电压偏高,则单片机5脚输出低电平,使三极管VT2截止,停止充电,防止电池过充电。二极管VD1提供电池放电的通路(放电电流和充电电流方向相反)。在点灯的时候,单片机3脚输出高电平,三极管VT1导通使高亮度发光二极管点亮。当电池电压偏低时,单片机3脚输出低电平,VT1截止,发光二极管熄灭,防止电池过放电。R7、R8组成太阳能电池电压取样电路,此电压送单片机AN1端作A/D转换后判断环境照度用,天黑以后太阳能电池的电压下降,当取样电压小于设定的值时单片机3脚输出高电平,点亮发光二极管。天亮时过程正好相反,发光二极管熄灭。同时单片机记录下从天黑到天亮的时间,第二天以此时间为基准根据事先的约定计算出半夜熄灯和第二天提前开灯的时间。因为一年四季黑夜的长度是不同的,单片机具有智能学习的功能,因相邻两天黑夜的长度很接近,可用第一天测量的黑夜的长度作第二天黑夜的长度来使用,这就解决了黑夜长度不固定的难题,这是传统电路不能完成的。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分