基于单片机的太阳能热水器控制器Word文件下载.docx
《基于单片机的太阳能热水器控制器Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的太阳能热水器控制器Word文件下载.docx(40页珍藏版)》请在冰豆网上搜索。
专业
毕业论文(设计)题目
指导教师
学历
博士
职称
所学专业
通信与信息系统
主要内容:
本文论述了基于C51单片机的太阳能热水器控制器的实现。
用C51单片机设计一种太阳能热水器控制器,实现水温、水位及时间的实时显示以及水温、水位的自动控制等功能,另外还需要实现时间和水温设定的功能。
基本要求:
着重培养学生综合利用所学知识解决实际问题的能力以及查阅书籍资料、调查收集各种有用信息的能力。
要求能够比较熟练掌握C51单片机、DS18B20温度测量芯片以及其他测量和显示元件的使用。
另外,有利于培养学生的英文阅读、计算机操作和动手能力,撰写毕业设计论文的能力。
主要参考文献:
1.余锡存,曹国华.单片机原理及接口技术(第二版)[M].西安:
西安电子科技大学出版社,2007
2.赵建领,薛园园等.51单片机开发与应用技术详解[M]北京:
电子工业出版社,2009.
进度安排:
第一阶段:
1~3周向导师请教确定课题并查询资料。
第二阶段:
4~9周在导师的指导下确定设计方案和实现方法。
第三阶段:
10~13周根据方案完成软件仿真和实物焊接,并撰写毕业论文。
第四阶段:
14周定稿,打印论文并参加答辩。
指导教师(签字):
年月日
院(系)意见:
教学院长(主任)(签字):
年月日
备注:
[摘要]该太阳能热水器控制器是基于C51单片机设计和实施的,它以AT89C51单片机作为检测和控制中心,由主控芯片模块、DS18B20温度检测及显示模块、水位检测及显示模块、时钟模块、报警模块和电磁阀控制模块、辅助加热模块等模块组成。
它通过DS18B20温度检测及显示模块实时检测和显示水温,通过水位检测及显示模块实时检测和显示水位,通过时钟模块实时显示时钟并在设定的时间给主控芯片特定的信号,通过电磁阀控制模块实现热水器的自动及手动上水,通过辅助加热模块实现太阳能热水器自动及手动加热,当水位过低且水温过高时通过报警模块报警,而主控芯片则负责协调其他各模块的工作。
[关键词]太阳能热水器控制器;
AT89C51单片机;
DS18B20
[Abstract]ThedesigningofthissolarwaterheatercontrollerisbasedonC51single-chipmicrocomputer,TheAT89C51MCUisusedasit’sdetectionandcontrolcenter,Itconsistsofamaincontrolchipmodule,DS18B20temperaturedetectionanddisplaymodule,thewaterleveldetectionanddisplaymodule,clockmodule,alarmmoduleandtheelectromagneticvalvecontrolmodule,auxiliaryheatingmoduleandetc.ItisthroughtheDS18B20temperaturedetectionanddisplaymoduleDetectanddisplaythewatertemperatureintime.ItisthroughthewaterleveldetectionanddisplaymoduleDetectanddisplaythewaterlevelintime.Itisthroughtheclockmoduledisplaytimeandatthegiventime,itwillgivethemaincontrolchipmoduleaspecificsignal.Itisthroughtheelectromagneticvalvecontrolmoduletorealizetheautomaticandmanualwaterheater.Itisthroughtheauxiliaryheatingmoduletoheatwaterautomaticallyandmanually.whenthewaterlevelistoolowandthetemperatureistoohighthealarmmodulewillgiveanalarm,theresponsibilityofthemaincontrolchipistoCoordinatetheworkofothermodules.
[Keywords]TheSolarwaterheatercontroller;
AT89C51MCU;
DS18B20
1绪论
1.1太阳能热水器应用的意义
迈入21世纪以来,随着经济的急速发展,对自然资源的需求缺口越来越大,人口基数过大使得将在很长一段时间保持人口数量的增长,而经济的高发展速度也将持续对资源的供应提出考验。
显而易见的,资源储量并不是无限的,若要保证经济的可持续发展,仅仅靠节约能源或是限制开采数量,并不是一个长久的解决办法,只有开发新的能源,才能从根本上解决发展与资源之间的矛盾。
所以在今后,新能源必定将会有很大的发展空间,太阳能、风能、潮汐能,这些清洁能源是未来大规模利用的新趋势。
[1]
在各类能源中,太阳能以其清洁、无害、长久和普遍等特点,有极高的发展潜力,可以说是取之不尽用之不竭。
虽然离太阳能的广泛利用还有很长的路要走,但是现在已经在不少地方开始使用,如常见的太阳能发电系统,太阳能热水系统,太阳能路灯、交通灯等等。
我国目前太阳能产业规模已跃至世界第一,随着技术的日益成熟,太阳能相关的成熟产品造价也将随之降低,将更加广泛地在人们生产生活中普及,这同时也是解决越来越严重环境污染的一个极佳的解决方案。
在我们的生活中,最为我们所熟知的太阳能利用系统便是太阳能热水器,太阳能热水器同传统的热水器相比有着许多显著的特点。
不仅节能环保,而且使用也非常方便。
以其低廉的价格深受各层次消费者的青睐。
随着太阳能热水器的大面积使用,太阳能的优势特点已广泛为人们所熟知,这也对以后的相关产品的生产推广起到了很好的宣传效应。
大力开发和利用丰富的太阳能资源,对于我国的经济、社会可持续发展具有重大深远意义。
[2]
1.2我国太阳能发展现状
我国太阳能热水产业的发展特点可以用“起步晚,发展快”来形容,虽然国内与于上世纪80年代才开始研究推广,但是历经多年的飞速发展,我国的太阳能产业已经占据了世界首位,其中热水器的产量占世界百分之五十以上,同时,中国国产太阳能产品在世界同类产品中也占据着很大的市场份额,并且市场占有率还在不断增长。
[3]
尽管有着如此迅猛的发展势头,但是需要指出的是,目前国内的能与太阳能热水器相配置的控制器的功能却并不完善,在市面上很多同类的太阳能热水器产品,控制系统简单,功能不全,大多数只具有设定水温,显示水温这两个功能,较为智能化的产品还尚未推广应用,有些功能还处于研发阶段。
因此设计出一款具有温度控制功能和水位控制功能的产品,将很具有实际意义。
这样的控制器,将能够解决天气原因导致的光线不足问题导致热水器水温过低的问题,并且因为有了水位控制功能,就可以解决当水位达到一定高度时不能自动开始或停止供水等等问题。
2系统设计及仿真软件
2.1系统的总体结构设计
系统总体结构设计如图2.1,该系统包括保温箱、排气管、集热管、溢流管、上下水管、调节阀等。
图2.1系统总体结构设计
2.2设计功能要求
该太阳能热水器的控制器不但需要具有水位、水温及时间的实时显示功能,而且需要具有水位、水温的自动控制功能,必要时,还需要能够实现对时间和水温进行设定等功能。
当蓄水箱水位低于40%时能够实现自动上水,当设定时间到且水位低于蓄水箱水位90%时能够实现自动上水,当上水到达规定的水位时能够实现自动停止上水,当水位界于高低水位之间时,用户可以通过按键操作手动上水、停水;
当设定时间到且水温低于规定值时,能够实现自动加热。
必要时还可以对太阳能热水器进行手动加热和上水,禁止高温空晒后进水以及淋浴时禁止上水等功能。
2.3设计思路
该太阳能热水器控制器是基于C51单片机设计和实施的,它以AT89C51单片机作为检测和控制中心,由主控芯片模块、DS18B20温度检测及显示模块、水位检测及显示模块、时钟模块、报警模块和电磁阀控制模块、辅助加热模块等模块组成。
2.4仿真软件(proteus)简介
Proteus可以仿真单片机,兼具EDA软件的仿真功能,还能一部分外围器件,是当前使用最广,用户评价最好的仿真工具。
可以从原理图设计,程序编写调试,再到与外围电路同步仿真,提供与PCB板设计的简单切换,可以由最初的模拟概型一直到产品的模拟仿真。
该软件也是第一款融合电路原理图设计,PCB板设计,产品生产前的仿真三者结合的开发平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430,Cortex,DSP等系列处理器,截止到现在,依然在不断增加其它系列处理器模型。
程序编译支持Keil和MPLAB软件编译器。
[4]
Proteus软件具有其它EDA工具软件的功能:
1.原理布图
2.PCB自动或人工布线
3.SPICE电路仿真革命性的特点
Proteus的工作过程:
在开始菜单中选择proteus文件夹,单击文件夹中的ISIS图标进入proteus仿真软件的主界面。
在工作之前,先要设置捕捉对齐、颜色、图形界面大小等项目。
工作时,先要单击工具栏中的P按钮进入元件选择对话框(pickdevices),在对话框keyword中输入所需元件的关键字(比如当需要电阻时输入“res”),在results一栏中双击选出所需要的元器件(注意当选中元器件时在pickdevices对话框中右侧两栏中会出现该元器件在仿真电路图和PCB板上的预览图,根据此预览图进行选择),选中的元件会自动出现在工作界面P按钮下面。
然后需要进行仿真电路图的绘制(具体做法为:
在P按钮下面单击所需要的元器件即选中此元器件,根据实验原理图把选中的元器件放在工作界面的适当位置,双击工作界面中的元器件,在出现的对话框中修改元器件的参数,重复以上步骤直到所有的元器件都摆放到工作界面上,然后单击各元器件的引脚进行连线。
至此仿真电路图制作完成。
然后进行程序的编写,在程序编写时需要使用专门的程序编写器(比如keil软件等)来编写并编译连接运行,生成hex文件。
接下来需要把程序存入相应的芯片中,具体做法是:
双击目标芯片,在出现的对话框中“programfile”中选择相应的程序,然后点击ok按钮即可。
最后需要运行,在此步骤秩序点击proteus工作界面左下方的play按钮即可。
3AT89C51简介
3.1主要特性
•与MCS-51兼容
•具有4K字节的可重复编程的flash,可写入/抹掉数据1000次以上,写入的数据能保存10年以上
•操作频率:
0Hz~24MHz
•128×
8位内部RAM
•32条可规划的I/O线
•5个中断向量地址
•可编程串行通道
•需要振荡电路和时钟电路[5]
3.2中断向量
中断向量见图3.1[6]
图3.1中断向量表
3.3管脚说明
AT89C51引脚见图3.2[7]
VCC:
供电电压。
GND:
接地。
P0管脚、P1管脚、P2管脚、P3管脚都是8位双向I/O口,其中P3管脚还有第二功能。
图3.2AT89C51芯片引脚图
P3管脚第二功能见图3.3。
RST:
复位输入端。
ALE/
:
地址锁存信号线。
图3.3P3口第二功能说明
外部程序存储器读选通端。
/VPP:
访问内部程序存储器控制端
XTAL1、XTAL2:
震荡电路输入端。
3.4内部结构
51单片机内部机构如图3.4[8]
图3.451单片机内部结构框图
4控制器各模块电路设计
4.1主控芯片模块
单片机只有40个管脚,其中I/O管脚只有32个,必须合理地分配单片机管脚,否则很容易造成单片机管脚的不够用。
另外,单片机运行需要时钟电路、复位电路、电源、地线等,这些电路也需要在单片机主控芯片里面设计。
主控芯片模块proteus仿真图如图4.1。
[9]
图4.1主控芯片模块proteus仿真图
4.1.1时钟电路
单片机的运行需要时钟电路的支持,单片机时钟电路是配合外部晶体实现振荡的电路,它由一个晶振和两个电容组成,其组成图如图4.2,它的两端分别接在单片机的XTAL1和XTAL2管脚。
它可以为单片机提供运行时钟,如果运行时钟为0的话,单片机就不工作,当然超出单片机的工作频率的时钟也会导致单片机不能正常工作,C51单片机的支持的时钟频率为0~24MHz。
图4.2单片机时钟电路
4.1.2复位电路
在单片机在使用过程中有时(比如上电瞬间以及运行中出现错误的时候)需要使单片机从开始状态重新运行,这时就需要单片机的复位电路了。
它可以使单片机内部各寄存器的值变为初始状态,复位电路如图4.3。
它可以在单片机上电瞬间和复位开关按下的瞬间给单片机RESET管脚加上一个程指数函数的电平信号,当此电平信号能够在单片机的RESET管脚保持两个机器周期以上的高电平时,单片机就能完成复位操作。
[10]
图4.3单片机复位电路
4.1.3单片机管脚分配
单片机管脚分配如图4.4。
图4.4单片机管脚分配
4.2DS18B20温度检测及显示模块
蓄水箱水温检测电路使用单总线DS18B20芯片,它可以将温度信号转化成脉冲信号进而转化成水温高低的信号。
DS18B20的DQ端与单片机的P3.7口相连,它可以将水温大小直接以数值的方式存放在其内部的RAM中,单片机可以通过DS18B20的DQ引脚直接读取其内部RAM中存放的温度值。
在水温的显示上,本设计采用两位LED数码管来实现,LED数码管的段选信号由单片机的P0口来发出,其位选信号由单片机的P2.6、P2.7管脚发出。
水温检测及显示模块的proteus电路仿真如图4.5。
图4.5温度检测及显示模块proteus仿真图
4.2.1DS18B20芯片简介
DS18B20是美国DALLAS公司推出的一种温度传感器,它能比较准确的测量-55~125℃之间的温度。
相对于以前的热敏电阻等温度传感器,DS18B20更加智能,它能够直接测出被测环境的温度并以数值方式存在其内部的RAM中,当有需要时,它可以通过单总线实现单片机等对DS18B20内部RAM中数据的读取。
DS18B20有如下性能特点:
单总线结构设计,仅需要一个引脚即可完成数据在DS18B20和单片机之间的通信。
每个DS18B20都有独一无二的序列号,可以在一条线上并联多个DS18B20芯片。
测量温度范围-55℃~+125℃。
分辨率可调。
DS18B20内部结构[11]
DS18B20内部结构如图4.6。
图4.6DS18B20内部结构框图
DS18B20引脚
DS18B20引脚功能描述见图4.7。
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数字信号输入输出引脚
3
VDD
供电电源输入端
图4.7DS18B20各引脚功能
DS18B20转换成的温度数据格式[12]
当DS18B20接到温度转换命令时它就可以将测得的温度信号转换成温度值并以16位带符号扩展的二进制补码形式存储在其高速缓存RAM中,其温度值格式如图4.8。
图4.8DS18B20温度数据格式
单片机可以通过DS18B20的DQ引脚直接取RAM中温度的值,读取时,先读取低位数据,然后读取高位数据。
在DS18B20温度数据格式中,当S=0时表示此时的温度值为正值,当S=1时表示此时温度为负值。
DS18B20ROM命令[13]
DS18B20的一系列操作基本都是通过ROM命令来实现的,DS18B20的ROM命令见图4.9。
图4.9DS18B20的ROM命令
4.2.274LS245简介
74LS245为8位双向3态缓冲电路,主要用途为数据的双向缓冲,以增强芯片的驱动能力。
[14]74LS245真值表如图4.10所示。
输入
输出
DIR
L
从B端到A端进行数据传输
H
×
高阻态
图4.1074LS245真值表
4.2.3LED数码管显示
LED数码管是由八个发光二极管排列在一起并相互连接组成的,根据其连接方法的不同,LED数码管可以分为共阴极和共阳极两种连接方法。
两种接法电路图如图4.11。
图4.11LED数码管及接线方法
当把数码管中各发光二极管的阴极连接在一块并与地相连,通过从各发光二极管阳极是否接电源来控制发光二极管的亮灭时成为共阴极接法。
同理,当把数码管中各发光二极管阳极接在一块并与电源相连,通过在各发光二极管阴极是否接地来控制各发光二极管的亮灭时称为共阳极接法。
不同的接法所需要点亮电平是不一样的,所以在使用数码管显示时,一定要注意区分这两种接法。
当然为了显示数字或字符,需要对数字或字符进行编码,本设计采用共阴极LED数码管显示。
LED数码管显示方式有两种,即静态显示方式和动态显示方式。
静态显示就是每个数码管都需要连接一个8位的数据线,通过该8位数据线发送数据来保持显示的字符,当向数码管送入一次8位数据时数码管就会一直显示该字符,如果需要改变需要显示的字符则需要重新给数码管输入另一个8位数据。
动态显示就是通过一定的操作使各个数码管依次点亮,利用发光二极管的余晖效应和人眼的视觉暂留现象使人的感觉就像是同时点亮各个数码管一样。
动态显示的亮度比静态显示稍微差一下,程序上稍微麻烦一些,占用的CPU时间长点,但当数码管位数比较多时需要的管脚位数明显减少,硬件电路会大大简化。
由于单片机输出管脚有限,为了节省单片机管脚,本设计采用动态显示方式。
4.3水位测量及显示模块
蓄水箱水位是智能控制的一个重要参数,是实现智能控制的重要依据,只有准确检测出水箱水位才能更好地实现水位地显示以及蓄水箱的上水、停水等操作。
要实现水位地精确检测最好采用连续液位传感器,但考虑到系统成本及使用范围,本系统在进行水位检测时仍然采用分段式液位传感器(即在蓄水箱不同的位置放入水位探针),在水位显示上采用由5个发光二极管组成的分段式液位显示器。
水位检测及显示电路图如图4.12。
图4.12水位检测及显示电路图
检测原理:
把五个金属水位探针分别固定在水箱的五个位置上,金属探针通过一个1M的电阻(即上拉电阻)和+5V电源相连,水箱里的水通过导线和地相连。
当金属探针在水面以下时,+5V电源、上拉电阻、水箱里的水、地等组成一个回路,由于水的电阻远比1M小,所以此时探针处电平为低电平。
这个低电平通过一个反相器(非门)后变为高电平,这个高电平通过发光二极管、500Ω的电阻放电,使得发光二极管点亮,显示此时该液位有水。
当金属探针在水面以上时,金属探针处电平为高电平,该高电平经过反相器时变为低电平,低电平不能使发光二极管发光,从而显示该液位没有水。
至此,水位的显示完成。
水位测量及显示模块proteus仿真图如图4.13。
图4.13水位测量及显示模块proteus仿真图
本proteus仿真图使用按键开关代替水和+5V电源、1M电阻及地构成回路,当按键按下时代表此位置处有水,当按键没有按下时代表此水位处没有水。
需要注意的是,上拉电阻不宜选的太小,因为水是有电阻的,上拉电阻选的太小会导致当探针在水面以下时探针输出低电平特性不明显,此时很容易导致液位显示上出现错误。
位置最高到位置最低处的探针所测出的电平经反相器后会通过导线依次送到单片机的P2.0到P2.4管脚,经单片机接收、处理,实现水位控制的操作。
4.4报警模块
太阳能热水器通常对蓄水箱内的水位有一定的要求,当水箱水位过低时,很容易给人们的正常生活带来不便,所以,当水位过低时能及时让人们知道就显得比较重要,报警模块正是基于此种原因设计的。
报警模块的proteus仿真图如图4.14。
图4.14报警模块的proteus仿真图
检测及报警原理:
当水位过低时,单片机相应管脚被清零,使得单片机通过P1.5口输出一系列脉冲波。
脉冲波经由Q1、R1组成的放大电路后作用于蜂鸣器BUZI的线圈上,线圈产生变化的磁场带动蜂鸣器纸盆震动从而发出声音。
4.5辅助加热模块
当光照不足时,太阳能热水器的水温很难达到指定的要求,为了不影响人们的正常使用,辅助加热设备就显得尤为重要了。
辅助加热模块的proteus电路仿真图如图4.15。
图4.15辅助加热模块的proteus电路仿真图
4.5.1继电器工作原理
继电器工作原理图如图4.16所示。
[15]
图4.16继电器工作原理图
当继电器的控制回路没有电流流过时,继电器的衔铁在弹簧的拉力作用下右端上翘,触点3与触点5断开,与触点4结合。
当有电流流过继电器的控制回路(即由导线和线圈组成的电磁铁)时,电流就会在在电磁铁上产生磁场,此时,衔铁会被电磁铁吸引而下降,使得触点3与触点4分离,与触点5连接。
如果在端点3和端点5接上其他电路组成被控回路就会出现当有电流流过控制回路时被控回路导通,当没有电流流过控制回路时被控回路断开。
4.5.2辅助加热模块工作原理
当加热按钮没有按下时,此辅助加热模块为自动控制模式。
在自动控制模式下,当设定的时间到时,单片机会自动对蓄水箱的水温进行判断。
当水温高于设定值时,P1.1口输出为高电平,三极管Q1集电极和发射极断开,此时,输入回路中没有电流为零,继电器被控回路断开,加热电阻不工作。
当P1.1口输出为低电平时,三极管Q1集电极和发射极导通,+5V电源经电阻R1,继电器控制回路、三极管Q1和地相连,输入回路导通,此时,继电器被控回路闭合,220V交流电源经继电器被控回路给加热电阻加热,从而使水温升高。
当临时(不是设定时间)需要热水时可以通过加热按钮进行加热,此时,只需按下加热按钮即可对蓄水箱