基于单片机的太阳能热水器控制系统分析及设计报告.docx
《基于单片机的太阳能热水器控制系统分析及设计报告.docx》由会员分享,可在线阅读,更多相关《基于单片机的太阳能热水器控制系统分析及设计报告.docx(15页珍藏版)》请在冰豆网上搜索。
基于单片机的太阳能热水器控制系统分析及设计报告
系统分析及设计报告
一.系统分析
图1热水器装置简图
1-集热器2-下降水管3-循环水箱4-补给水箱5-上升水管6-自来水管7-热水出水管
热水器主要由集热器、循环管道和水箱等组成,图中为典型的热水器装置图。
图中集热器1按最佳倾角放置,下降水管2的一端与循环水箱3的下部相连,另一端与集热器1的下集管接通。
上升水管5与循环水箱3上部相连,另一端与集热器1的上集管相接。
补给水箱4供给循环水箱3所需的冷水。
集热器吸收太阳辐射后,集热器内温度上升,水温也随之升高。
水温升高后,水的比重减轻,便经上升水管进入循环水箱上部。
而循环水箱下部的冷水比重较大,就由水箱下流到集热器下方,在集热器内受热后又上升。
这样不断对流循环,水温逐渐提高,直到集热器吸收的热量与散失的热量相平衡时,水温不再升高。
这种热水利用循环加热的原理,因此又称循环热水器。
集热器是一种利用温室效应,将太阳能辐射转换为热能的装置,该装置与一般热水交换器不一样,热交换器通常只是液体到液体,或是液体到气体的热交换过程,而平板行集热器是直接将太阳辐射传给液体或气体,是一个复杂的传热过程。
热水器不论在什么样的天气里,都能够在设定的时间向用户提供设定温度的热水,从而给用户带来便利。
当控制器在设定的时间使水温达到设定温度时,将通过声光报警提醒用户。
二.设计方案
本设计以MSC-51系列单片机AT89C51作为中央处理器,采用由4x4行列键盘输入加热时间、水温设置等要求,利用温度采集模块和水温采集模块进行对热水器中的水位和水温的信息采集,这些信息经由数据处理模块处理后,一旦水温达不到预设的水温要求,便会启用电加热模块,对水进行加热,并将水温显示在显示模块上,而当水温达到设置要求时,便会触发报警模块,并同时停止加热。
而如果在这个过程中水位没有达到预设时的要求,加热器也会进行注水,直至预设时的水位后停止注水。
1.硬件设计
太阳能热水器控制系统的主体部分为单片机AT89C51芯片,其外围电路由键盘输入模块、显示模块、热电偶温度采集模块、温度和水位采集模块、光敏电阻测量光照强度模块、电加热模块、以及电热温度参数设置模块构成。
单片机部分主要用于控制和处理各功能模块的工作,实现时间设定、水位和温度显示、加热等功能。
硬件框图如图2所示。
图2系统组成框图
(1)主控芯片模块电路
单片机系统由AT89C51和一定功能的外围电路组成,包括为单片机提供复位电压的复位电路,提供系统频率的晶振。
这部分电路主要负责程序的存储和运行。
对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、谐振器的稳定性、起振的快速性和温度的稳定性。
晶体可在1.2MHz~12MHz之间任选,电容C1和C2的典型值在20pF~100pF之间选择,但在60pF~70pF时振荡器具有较高的频率稳定性。
典型值通常选择为30pF左右,但本电路采用30pF。
AT89C51的复位是由外部的复位电路来实现的。
复位电路通常采用上电自动复位和按钮复位两种方式。
本设计中所用到的是上电按钮复位,如图3所示。
图3单片机系统
(2)光敏电阻测量光照强度模块
本设计选用光敏来对光照强度进行测量,获取光能。
光敏电阻获取的是模拟信号,需通过ADC0809CCN将模拟信号转化为数字信号。
光明电阻及ADC0809CCN与单片机的连接电路如图3所示。
光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器,入射光强,电阻减小,入射光弱,电阻增大。
光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。
光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达1~10M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。
光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.4~0.76)μm的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。
在本设计中使用光敏电阻的好处在于,可选取用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化。
光敏电阻测量光照强度与单片机的连接电路如图4所示。
图4光敏电阻测量光照强度与单片机的连接电路
(3)温度传感器模块
DS18B20是智能温度传感器,它的输入/输出采用数字量,以单总线技术,接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度以串口发送给主机。
主机按照通信协议用一个IO口模拟DS18B20的时序,发送命令(初始化命令、ROM命令、功能命令)给DS18B20,并读取温度值,在内部进行相应的数值处理,用图形液晶模块显示各点的温度。
在系统启动之时,可以通过4×4键盘设置各点温度的上限值,当某点温度超过设置值时,报警器开始报警,从而实现了对各点温度的实时监控。
每个DS18B20有自己的序列号,因此本系统可以在一根总线上挂接了4个DS18B20,通过CRC校验,对各个DS18B20的ROM进行寻址,地址符合的DS18B20才作出响应,接收主机的命令,向主机发送转换的温度。
采用这种DS18B20寻址技术,使系统硬件电路更加简单,图5所示。
图518B20与单片机的连接电路
(4)液晶显示模块
液晶显示模块以其微功耗、体积小、显示内容丰富、模块化、接口电路简单等诸多优点得到广泛应用。
液晶显示模块分字符型和点阵型两种,前者只能显示常用的字符,点阵型液晶显示模块除显示字符外还能显示各种图形和汉字。
如图6所示,为液晶显示屏与单片机的连接电路图。
12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集。
该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面,可以显示8×4行16×16点阵的汉字,可完成图形显示。
电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
图6液晶显示屏与单片机的连接电路
(5)键盘输入模块
下图为AT89C51单片机与4*4键盘和LED显示的连接电路。
键盘和显示电路是人机交互的重要手段。
控制键是用户干预系统运行的唯一接口,也是用户比较关心的问题。
为了实现控制器对时间与温度的设定及显示功能,本设计采用芯片8279配合SN74LS138N和SN74LS240P驱动4位数码管和LED管实现时间与温度的设定与静态显示。
数码管的段选码由B口和C口输出,经74LS240驱动后送给共阴极LED。
数码管的位扫描信号经74LS138译码驱动后提供给LED的公共极。
RL0~RL7提供了键盘列扫描接口,SL0~SL2盘的行扫描接口。
图7键盘接口电路
(6)电加热模块
图8为太阳能热水器电加热电路设计。
当室外光强不足(阴天、下雨)时,对水箱的水提前加热是很必要的,这一电路恰好能完成这一功能。
图8电加热电路
2.软件设计
本设计主要利用C语言编写程序,根据功能的需要进行编程,其中软件设计所用的软件主要是Keil软件和PROTEUS软件。
太阳能热水器控制系统的软件程序设计采用模块化结构,主要由
(1)初始化程序,
(2)扫描按键程序,(3)按键处理子程序,(4)读取水位信息、水箱温度和时间程序,(5)调用显示子程序,五个部分组成。
系统总体流程图如图9所示。
图9系统总体流程图
(1)初始化程序
太阳能热水器控制系统在接通电源后,首先要对系统进行初始化。
初始化的过程包括启动DS1302,启动12864,对12864进行清屏。
初始化流程图如下:
图10初始化程序流程图
(2)按键检测及处理程序
在太阳能热水器初始化完成之后,系统便会进入键盘扫描状态,此状态下,主控芯片AT89C51会不断扫描是否有键按下,即等待用户输入。
在检测到有键按下后,根据按下的次数(按一下设置“分”,按两下设置“时”,三下设置“星期”,以此类推),在运用“加”“减”分别设置。
按键检测及处理流程图如图所示:
(以按下“一下”为例)
图11按键检测及处理程序流程图
(3)读取温度的程序
本设计采用while循环,在没有键按下时,跳出while循环,进行下边的语句,即读取温度,并将其显示在12864上。
在读取的过程中,要注意温度的正负。
读取温度的流程图如图12所示:
图12读取温度流程图
(4)显示子程序
电路中设计了4位LED显示器,其功能为:
左首位为百位数或标志位,左二位为十位数,左三位为个位数,左四位为小数点后的十分位数。
据此,给出如图13所示的显示子程序框图。
图13显示子程序流程图
附录
下图为仿真时的总体电路图: