APP下载

基于单片机的太阳能数字测温系统

2017-06-02张伟超

数字技术与应用 2017年4期
关键词:控制

张伟超

摘要:本文提出一种基于STC89C52RC单片机的水温和气温测量系统。采用STC89C52RC为主控芯片,DS18B20数字温度传感器为测温元件,使用太阳能供电。由Keil完成系统程序设计,搭建Proteus 软件仿真平台、编译程序从而实现硬件调试仿真,最后对硬件进行运行测试。太阳能供电使该系统具有很强的适用性、实用性、可靠性等优点。

关键词:DS18B20;STC89C52RC;太阳能测温;Proteus;控制

中图分类号:TP212 文献标识码:A 文章编号:1007-9416(2017)04-0054-02

在对河流水文的观测中水温、气温是重要测量量。传统测温一般采用热电阻或热电偶,将模拟信号进行A/D转换后,输入到单片机进行处理。这种电路可靠性相对较差,测量准确度低而且采集点不少处在无电网供电的地方。鉴于此,本文提出基于单片机的太阳能数字测温系统设计方案。

1 系统方案设计

采用STC89C52RC单片机为主控芯片、20w单晶硅太阳能光伏板、蓄电池、DS18B20数字温度传感器、数码管等,实现对水温和气温的测量、显示功能。利用PROTEL 99SE绘制原理图、设计PCB板图。由Keil完成程序设计和编译,在硬件装配前,通过Proteus仿真。本系统能在无电网供电情况下,稳定不间断的监测水温和气温,两路数字温度传感器分别进行水温和气温采集,采集结果通过单片机处理后,通过数码管输出显示。单片机控制太阳能电池板对蓄电池进行充电管理,12v蓄电池经变压电路后为系统提供主电源。系统整体设计如下图1所示。

2 系统硬件设计

2.1 单片机主控系统

本系统以STC89C52单片机作为系统的主控芯片。STC89C52RC单片机是高速、低功耗、抗干扰的CMOS8位微控制器 ,在嵌入式控制应用系统提供高灵活、有效的解决方案。其工作频率:0~40MHz,8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。正常工作模式下,典型功耗4ma~7ma,掉电模式下可由外部中断唤醒,特别适合蓄电池供电系统。

通过STC89C52单片机,可以控制太阳能电池板对蓄电池的充电状态。在白天随着光照强度增强,太阳能电池板电压高于蓄电池电压,此时蓄电池处于充电状态。同时为了防止蓄电池过充,单片机通过检测蓄电池两端电压,控制太阳能电池板停止为蓄电池充电。如果长期阴雨无光,单片机检测到蓄电池电压低于其放电截止电压,为了延长蓄电池的使用寿命。这时单片机将关闭系统,进入掉电模式,等待有光照时候,由外部中断唤醒单片机。同时也可在深夜时关闭系统,在指定时间开启系统,从而延长电池使用时间。

2.2 数字温度传感器

DS18B20数字温度传感器是Dallas公司生产的单总线器件,具有线路简单、体积小,精度高的特点。测温范围在-55~+125℃,精度为0.5℃,内部有温度上、下限告警设置。能直接读取被测的温度,还能根据设计需求采用简单的编程技术实现 9 ~ 12 位的读取数字方式, 并且读写传输形式简单,只需一根单线接口的数据线即可。DS18B20芯片最常见的封装为TO-92,三个引脚分别为 GND-电源地、DQ-数据输入/输出引脚、VDD为可选电源引脚。采用 DS18B20完全能滿足测量要求,且更加简单和可靠性。本系统DS18B20 设计的测温电路如图2 所示。

为了能长期浸泡在水中,将TO-92封装的DS18B20,通过优质不锈钢管封装,内部填装导热硅胶,采用滚口封装技术与加厚硅橡胶导线间接。提高其感温性能同时拥有极佳的防水、防潮、防锈特点。使用双绞线带屏蔽电缆传输,保证长距离测量更稳定。一般正常通信距离可达150 m,适用于大多数场合要求。

2.3 蓄电池组选择与容量

蓄电池既是太阳能电池板储能装置,又是系统的供电装置。这要求蓄电池要维护简单且寿命长。市场常见的有铅酸免维护蓄电池、普通铅酸蓄电池和碱性镍镉蓄电池三种。铅酸免维护蓄电池免维护性好,密封性能好,状态稳定,适合在户外使用。而普通的铅酸蓄电池,虽然价格低,但维护工作量大,应用场合少。碱性镍镉蓄电池,各项性能都很好,但是价格较高。综合考虑选择使用铅酸免维护蓄电池作为蓄电池。

在南方地区一般最长的连续阴雨天气不超过30天。综合系统功耗考虑,经过测算,选择用12V、20Ah容量的铅酸免维护蓄电池可以满足系统在30天连续阴雨无光照条件下正常工作。特别适用在野外无电网供电的采集点,大大提高了系统适用范围。

2.4 太阳能电池板

采用单晶硅太阳能电池板,它的电池的光电转换效率为15%左右,最高的达到24%,所有种类的太阳能电池板中光电转换效率最高。本系统选用峰值功率20W,峰值电压17.3V,短路电流1.33A,钢化玻璃封装,高强度铝边框。相对于本系统功耗而言,20w单晶硅太阳能电池板能满足系统需求且有余量。

2.5 显示及电源模块电路

显示模块采用2个三位共阴极数码管分别来显示测量的水温和气温,利用单片机的定时器来实现动态扫描显示。电源模块:由太阳能电池板发电,12V蓄电池电压经过LM7805稳压后产生5V电压直流电源,作为单片机、温度传感器、数码管等主电源。电压转换电路图如图3所示。

3 软件设计

3.1 主控程序

水温,气温测量系统上电启动后自动复位,首先对芯片内部寄存器、单片机IO口进行初始化,然后进入主函数开始运行。首先判断检测蓄电池电压是否低于放电截止电压,若低于系统则进入休眠关闭状态,等待外部中断重新激活系统。否则进入温度测量及显示子程序。接着进入蓄电池充电方式选择子程序,来判断电池电压是继续充电,还是停止充电。最后在返回主函数循环。

3.2 温度测量子程序设计

DS18B20在同单片机通信采用的是单总线协议方式,它将所采集到的温度转换为数字信号后,通过DQ传送至单片机。由于DS18B20在一根数据线上实现数据的双向传输,故单片机在同DS18B20通信时候,我们采用软件的方法来模拟单总线的协议时序。需要严格的按照通信协议来保证各位数据传输的正确性和完整性。依照DS18B20的通讯协议。同时为了简化软件设计,本设计采用“并行I/O口输入与单总线结构相结合” 结合的方式巡回读取多路温度。温度测量流程如下:(1)初始化DS18B20,执行跳过ROM命令(CCH),不读取64位ROM编码直接向DS18B20发出功能命令。(2)向DS18B20发送温度转换指令(44H) ,随后启动温度采样与A/D转换,并将转换数据存储在暂存器中。(3)再次初始化DS18B20,执行跳过ROM命令。(4)执行单片机读暂存器命令(BEH),将对应的DS18B20高速暂存存储器的数据读入单片机中,其中第0,1字节分别是温度值低位(LS byte)和高位(MS byte),从而完成某通道DS18B20的温度采集。

4 Proteus电路仿真

Proteus嵌入式系统仿真与开放平台是由英国Labcenter公司开发的,它完善的电路设计与仿真平台可以对模拟电路、数字电路、模/数混合电路、单片机及其外围电路进行系统仿真。Proteus提供了大量的虚拟仪器、仪表、激励源和分析工具。编辑环境功能强大,界面友好容易操作,仿真调试简洁直观。启动Proteus ISIS 7,从Proteus元件库中选择所需元件。将在Keil软件下编写控制程序并生成HEX文件装载到单片机中进行仿真。通过仿真结果表明本测量系统温度测量模块、显示模块、充电方式选择模块、电源模块、均正常工作,程序可按照预先设定方式正常工作。

5 结语

本次研究提出了一种采用STC89C52RC为主控模块,DS18B20数字温度传感进行水温和气温的测量,使用太阳能光伏供电系统的方法。用数字传感器提高了测量精度,简化了电路降低了功耗,容易实现的特点。同时该系统在野外依靠太阳能长期稳定工作,对水文监测、气象监测等具有很高实用价值。

参考文献

[1]周润景,张丽娜.PROTEUS的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.

[2]孫少伟,戴义保,章高琴.基于DS18B20组网测温的研究[J].自动化仪表,2006,27(10):42-45.

猜你喜欢

控制
控制权归属及同一控制下企业合并认定条件辨析
船舶轮机振动噪声控制研究