基于单片机的太阳能路灯控制器电路设计Word文件下载.docx
- 文档编号:19677931
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:9
- 大小:191.82KB
基于单片机的太阳能路灯控制器电路设计Word文件下载.docx
《基于单片机的太阳能路灯控制器电路设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的太阳能路灯控制器电路设计Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
2.1系统硬件结构
太阳能路灯智能控制器系统硬件结构如图1所示,该系统以STC12C5410AD单片机为核心,外围电路主要由电压采集电路、负载输出控制与检测电路、LED显示电路及键盘电路等部分组成。
电压采集电路包括太阳能电池板和蓄电池电压采集,用于太阳光线强弱的识别以及蓄电池电压的获取。
单片机的P3口的两位作为键盘输入口,用于工作模式等参数的设置。
图1系统硬件结构框图
2.2STC12C5410AD单片机
STC12C5410AD是STC12系列单片机,采用RISC型CPU内核,兼容普通8051指令集,片内含有10KBFlash程序存储器,2KBFlash数据存储器,512BRAM数据存储器,同时内部还有看门狗(WDT);
片内集成MAX810专用复位电路、8通道10位ADC以及4通道PWM;
具有可编程的8级中断源4种优先级,具有在系统编程(ISP)和在应用编程(IAP),片内资源丰富、集成度高、使用方便。
STC12C5410AD对系统的工作进行实施调度,实现外部输入参数的设置、蓄电池及负载的管理、工作状态的指示等。
为充分使用片内资源,本文所设置的参数写入Flash数据存储器内。
2.3键盘电路
P3.4(T0)接F1键,用于设置状态的识别及参数设置;
P3.5(T1)接F2键,用于自检及"
加1"
功能,根据程序流程,分别实现不同功能。
2.4电压采集与电池管理
太阳能电池板电压采集用于太阳光线强弱的判断,因而可以作为白天、黄昏的识别信号。
同时本系统支持太阳能板反接、反充保护。
蓄电池电压采集用于蓄电池工作电压的识别。
利用微控制器的PWM功能对蓄电池进行充电管理。
若太阳能电池正常充电时蓄电池开路,控制器将关断负载,以保证负载不被损伤,若在夜间或太阳能电池不充电时蓄电池开路,控制器由于自身得不到电力,不会有任何动作。
当充电电压高于保护电压(15V)时,自动关断对蓄电池的充电;
此后当电压掉至维护电压(13.2V)时,蓄电池进入浮充状态,当低于维护电压(13.2V)后浮充关闭,进入均充状态。
当蓄电池电压低于保护电压(11V)时,控制器自动关闭负载开关以保护蓄电池不受损坏。
通过PWM充电电路(智能三阶段充电),可使太阳能电池板发挥最大功效,提高系统充电效率。
本系统支持蓄电池的反接、过充、过放。
2.5负载输出控制与检测电路
本系统设计了两路负载输出,每路输出均有独立的控制和检测,具有完善的过流、短路保护措施,电路原理如图2所示。
设计了两级保护:
第一级采用了由R7(0.01Ω康铜丝)以及运放LM358、比较器LM393等器件组成的过流、短路检测电路,配合单片机的A/D转换及外部中断响应来实现负载过流及短路保护,是一种硬件+软件的方式,LM358的输出送P1.7(A/D转换)口,用作过流信号识别,当电流超过额定电流20%并维持30s以上时,确认为过流;
短路电流整定为10A,响应时间为毫秒数量级。
图2负载输出控制与检测电路
第二级采用了电子保险丝保护,当流经电子保险丝的电流骤然增加时,温度随之上升,其电阻大大增加,工作电流大大降低,达到保护电路目的,响应时间为秒数量级,过流撤消或短路恢复后电子保险丝恢复成低阻抗导体,无须任何人为更换或维修。
系统采用了两级保护措施后,在长达数小时的负载短路实验后,控制器仍没出现电路烧毁现象。
解决了用传统保险丝只能对电路进行一次性保护以及一旦器件烧毁必须人为更换的问题,同短路后需手动复位或断电后重新开启的系统相比,也具有明显的优点。
简化了太阳能路灯控制器维护,提高了系统的安全性能。
2.6硬件设计过程中的注意事项
(1)感应雷保护电路应设计在太阳能电池板引线入口处,保护电路周围4mm内不能布置其他器件。
(2)防止太阳能电池板反接的二极管必须采用快恢复二极管,这种二极管导通内阻小,充电时发热量小,不用散热器也可以连续充电,充电效果好。
(3)充电、负载放电电路的印刷线路宽度至少为4mm~5mm,线路上用搪锡处理以增加过电流能力,大电流导线从一层过渡到另一层时,要放置3~5个过孔。
(4)过流、短路保护电路选用的电流取样电阻要综合考虑电流、功率及热稳定性三个因素。
电阻增大则电路效率下降,本系统选用电阻为0.01Ω,过电流能力在10A以上的康铜丝作为电流取样电阻,来产生取样电压,取样电压最多不超过0.2V,故采用运放LM358对其进行放大。
(5)器件的布局和PCB的布线采用模块化方式,大电流信号与小电流信号要分离,对放大电路的线路尤其要精心布置。
数字地和模拟地分开,注意电源线和地线的布局。
3系统软件设计
与本设计方案的硬件电路对应的软件程序包括:
主程序、定时中断程序、A/D转换子程序、外部中断子程序及键盘处理子程序、充电管理子程序、负载管理子程序。
单片机的软件编程以KeilC编译器的Windows集成开发环境μvision2作为开发平台,采用C51高级语言编写。
3.1软件编程要点
(1)本系统采用较少的按键实现了诸多功能,如负载工作模式的设置、双灯同时工作还是分时工作、负载工作时间的设定、自检功能等,为防止误操作采取了一些措施。
这种方法实际上是一键多用的一种尝试,还可以推广到更复杂的人机对话的设计,其思路可参见按键处理流程图。
(2)键盘在定时中断服务程序中读取,用中断间隔时间实现键盘的去抖,不必编写另外的延时程序,提高了CPU的利用效率。
键盘值存入数据缓冲区,在主程序中读数据缓冲区的内容,执行键盘功能散转子程序。
(3)环境光线(闪电、礼花燃放)对太阳能电池板的采样电压有明显影响,故在白天、黄昏的识别时,要进行软件延时,一般控制在2~3min.
(4)外部中断为高优先级中断,编制子程序实现负载过流、短路保护时,要充分考虑到负载启动瞬间会产生数倍于额定电流的冲击电流,冲击电流维持时间在3ms~5ms,应在软件上采取措施,避免短路与负载开启的误判。
确定负载过流、短路后,切断负载输出。
负载切断后,每隔一段时间,如20s,应试接通负载开关,当发现过流、短路信号已消除,则恢复负载的输出,否则负载开关仍然保持断开。
(5)为保护负载(灯具),蓄电池过放保护恢复时应用软件设置一个回差电压,这样负载开关不会出现颤抖现象,有利于延长灯具的使用寿命。
(6)根据STC12C5410AD的DataFlash的特点,数据写入时必须启动ISP/IAP命令,CPU等待IAP动作定时后,才继续执行程序,要先关断中断(EA).
还应注意数据写入DataFlash存储器,不能跨越扇区。
3.2单片机软件编程
系统单片机软件流程如图3、4所示。
图3按键程序流程。
图4电压检测子程序流程
(1)ADC子程序
INT8UADC(INT8Unumber)using2
{number=number&
0x07;
//通道号不超过7
ADC_CONTR=ADC_CONTR&
0xe0;
//清ADC_FLAG、AD不启动
ADC_CONTR=ADC_CONTR|number;
//选择通道
ADC_CONTR=ADC_CONTR|0x08;
//启动A/D转换
while((ADC_CONTR&
0x10)!
=0x10);
//等待A/D转换结束
return(ADC_DATA);
//结果返回
}
(2)外部0中断响应子程序
voidService_INT0()interrupt0using1
{if(P3_2)//高电平,认为是干扰信号触发中断
return;
delay1(5000);
//10ms延时
if(P3_2==0)
{load_switch_1=LSTOP;
//负载开关1关
LOOP1_DL=1;
//置负载短路标志
4结束语
本文所设计的太阳能路灯控制器可适用12V或24V工作的光伏系统,可以直接驱动直流节能灯或通过逆变器驱动无极灯等作为照明光源,也可以驱动一些直流低压负载用于城市亮化。
控制器的两路负载输出可以用于机动车道和人行道的照明,照明时间和工作模式可以灵活设置。
着重解决了如何对蓄电池及负载进行有效管理的问题,提高了太阳能电池板的使用效率,延长了蓄电池的使用寿命,防止因线路问题而造成意外事件的发生。
本文所设计的控制器已在江苏S238省道得到应用,具有设计可靠、成本低廉的特点,具有较高的实用价值。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 太阳能 路灯 控制器 电路设计