摘 要: 针对太阳能路灯的特点,对原有的太阳能路灯控制系统进行了改进,实现了红外远程控制的功能。系统以PIC单片机为核心,可完成参数的远程设置;能返回并显示路灯的各项参数,实现自检功能;红外收发编解码均由软件实现,省去了专门的编解码芯片,节约了成本。实践证明,本系统稳定可靠,实用性强。
关键词: PIC单片机;太阳能路灯;红外控制器
随着世界能源危机日益严重,利用常规能源已不能适应世界经济快速增长的需要,开发和利用新能源越来越引起各国的重视。近年来,随着太阳能光伏器件技术的成熟,太阳能LED照明系统得到了广泛应用。目前市场上已经有多家公司生产太阳能路灯控制器,但是这些控制器一般没有充分考虑到路灯参数的设置、修改以及路灯的自检功能。
红外遥控是一种无线、非接触控制技术,具有抗干扰能力强、信息传输可靠、功耗低、成本低以及易实现等显著优点,被广泛应用于家用电器和计算机系统中。
本文分析了现在市面上流行的控制器没有充分考虑的一些问题,在此基础上对控制器进行了改进,设计出一套智能的太阳能路灯红外控制系统。
1 系统总体设计
本控制系统由发射和接收两大部分组成,硬件组成模块如图1所示。发射部分包括单片机、液晶显示、键盘控制和红外发射电路4部分;接收部分由单片机、红外接收、液晶显示(主要用于测试接收到的信号是否完好,实际使用时拔掉液晶即可)、EEPROM(主要用于存储设置参数)和控制输出驱动电路5部分组成。
2 系统硬件实现
2.1 遥控发射器电路
发射器电路原理图如图2所示。其将设置好的参数经过单片机编码成38 kHz的脉冲串并通过红外发射管发送出去,同时,单片机对接收到的红外信号进行解码与处理。发射器采用电池供电,经过稳压得到系统所需的+5 V直流工作电压。PIC16F716单片机作为主控芯片,主要完成电路驱动和红外编解码的工作。显示电路采用12232C串行液晶,节省了I/O口资源,主要用于显示时间和各项参数。PIC16F716单片机的RA0~RA4连接5个按键,用来设置路灯的基本参数。其中,KEY1为UP(参数增)键;KEY2为DOWN(参数减)键;KEY3为SETUP(参数选择,按3 s以上进入设置状态)键;KEY4为ENTER(发送选择)键;KEY5为预留键。
2.2 接收控制器电路
接收控制器电路中的接收电路与发射器电路相比,主要是省去了按键控制部分,增加了一片X5045作为EEPROM存储接收到的各项参数,这里不再重复给出电路原理图,接收电路主要完成参数的接收与解调,并将接收结果(成功与否)送回发射器。接收控制器电路中的控制电路如图3所示,主要完成对路灯各项参数的采集和控制工作。图3中,BT+为太阳能板电量采集端;PV+为蓄电池电量采集端;P1G、P2G接路灯(高电平有效);PVg为电池充电控制端。
3 系统软件实现
3.1 通信协议
工作过程中需要通过发射器设置工作参数和保护参数。
工作参数主要包括:路灯工作模式(单路还是双路)和路灯工作时段。数据帧格式为:
发送:<B T H1 H2 H3 H4 H5 H6>;
接收:<A KK>。
当T为‘1’时,H1~H3为单路3个时段值(分别为:开灯、关灯、开灯),BCD码。
当T为‘2’时,H1~H3为第1路负载的3个时段值;H4~H6为第2路负载的3个时段值。
保护参数主要包括:(1)欠压保护门限:蓄电池电压下降到某个特定电压时进欠压保护,不再提供输出,默认设定为10.8 V,用户可设;(2)退出保护门限:当蓄电池欠压后,必须充电充到某个特定电压,才能让其正常工作,默认为12.5 V,用户可设(必须大于欠压保护门限);(3)低压保护门限:当蓄电池电压达到设置的值时,控制器为了保护蓄电池,会关闭最右边的一路负载。数据帧格式为:
发送:<C Q1 Q2 T1 T2 D1 D2>;
接收<A KK>。
Q1为欠压保护门限整数值,10~30;Q2为欠压保护门限小数值,0~9;T1为欠压保护门限整数值,10~30;T2为欠压保护门限小数值,0~9;D1为欠压保护门限整数值,10~30;D2为欠压保护门限小数值,0~9;KK为回送信息,接收正确为‘Y’,接收不正确为‘N’。
3.2 发射程序设计
因为红外接收管HS0038只能接收频率为38 kHz左右的矩形波,所以需要对发送的二进制信号调制,如图4所示。高电平“1”用10个周期为26 μs的低电平和10个周期为26 μs的脉冲表示;低电平“0”用20个周期为26 μs的低电平和10个周期为26 μs的脉冲表示。在发送字节的开始先通过单片机发送20个脉冲宽度(每个脉冲周期26 μs)的高电平作为传输开始,接着发送8 bit数据(字节高位在前,低位在后),最后发送10个脉冲宽度的低电平作为传输结束,如图5所示。
3.3 接收控制程序设计
将HS0038的输出引脚连接到单片机的CCP端,利用CCP的输入捕捉功能。PIC单片机内部配置了2个捕捉/比较/脉宽调制模块(CCP),该模块能捕捉输入引脚信号脉冲的上升沿或下降沿,本系统设置为上升沿捕捉。模块初始化工作完成后,剩下的捕捉工作将由硬件自动完成,即CCPX模块的硬件实时检测CCPX引脚上的输入信号变化,一旦出现满足捕捉要求的沿跳变,立即将当时TMR1中的计数值复制到CCPRXH:CCPRXL寄存器中保存,同时置CCPIF中断标志。随后控制软件可以响应CCPXIF中断,从第二次进入中断开始读取CCPRXH:CCPRXL中捕捉到的时间值,连续读8次,即为发送的8 bit数据,并将每一次读到的数据与标准值作比较,判断出每1 bit是‘0’还是‘1’。
利用单片机内部自带的A/D转换器,对路灯的各项参数进行采集,并与标准值进行比较,完成整个控制过程。
本文设计的太阳能路灯红外控制器利用PIC16F716单片机内置的A/D转换器,简化了电路;通过对单片机编程完成红外编解码工作,节约了成本;增加的红外遥控功能,除了能远程的设置各项参数,还能在路灯出现故障时返回各项参数值,使得检修变得更加容易。经过测试证明,本系统稳定可靠,具有成本低、易维护等特点。
参考文献
[1] 李广弟,朱月秀,王秀山.单片机基础[M].北京:北京航空航天大学出版社,2003.
[2] 陈晓东,张强朝,姜冰清.基于LPC935单片机的太阳能路灯智能控制系统的设计[J].微计算机应用,2011,32(2):66-69.
[3] 朱光忠,吕梅蕾,杨子鸣.基于单片机的红外遥控开关控制器[J].计算机工程与设计,2006,27(11),97-99.
[4] 黄建农.基于红外线遥控调光电路的设计[J].武汉职业技术学院学报,2010,9(1):15-17.