基于单片机的太阳能热水器设计Word文件下载.docx
《基于单片机的太阳能热水器设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的太阳能热水器设计Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
![基于单片机的太阳能热水器设计Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/20/94bbca4f-b255-4b79-82ec-239a61180054/94bbca4f-b255-4b79-82ec-239a611800541.gif)
摘要
本文以89C52单片机为核心,设计了一种数字化且智能化的太阳能热水器控制系统。
重点研究了配合RC充放电式水位测量及其优化,该系统与传统的太阳能热水器控制系统相比较,具有结构简单、使用方便、价格低廉、抗干扰能力强等特点。
关键词:
太阳能热水器,89C52,RC充放电,8255A
Abstract
Thispaperwhichtakesthe89C52microcontrollerasthecore,designacontrolsystemofsolarwaterheaterwhichisdigitalandintelligent.FocusontheRCwiththecharginganddischargingtypewaterlevelmeasurementandoptimization,andcomparedtothesolarwaterheatercontrolsystemofthissystemwiththetraditional,ithasthecharacteristicsofsimplestructure,convenientuse,lowprice,strongantiinterferenceability.
Keywords:
Solarwaterheater,89C52,RCchargeanddischarge,8255A
1引言
1.1太阳能热水器的发展现状
随着全球气候变暖的加快,节能减排日趋严峻,世界各国都在寻求新的能源替代战略,以求得可持续发展和在日后的发展中获取优势地位。
近年来各种环保、节能的热水器纷纷涌入市场,但太阳能热水器以节能、环保、安全、可资源再生、零资源消耗成为市场的主流产品。
源于竞争,各大商家为了使自己的产品在市场上立足并长远发展,不断提高太阳能热水器的性能,其中太阳能热水器控制器以其灵活、贴近客户成为商家竞争的热点。
目前,各大商家纷纷提高太阳能热水器的智能化程度来满足消费者的需求。
1.2课题的研究内容
本课题以89C52单片机为核心配合传感器、显示器件、电磁阀、电加热器、报警器等外围器件,采集热水器储水箱中的水位、水温信号,通过控制电动机的运转、电加热器加热来控制储水器的水位、温度,并完成水位、水温显示,时间显示,水溢报警等功能。
另外配有键盘,可以实现手动上水、手动电加热、设置水位、设置温度等功能。
2太阳能热水器控制系统整体结构
2.1太阳能热水器整体结构
太阳能热水器整体结构大致可以分为四大部分:
(1)水位、水温测量电路。
这部分用于采集水位、水温信号给单片机,是太阳能热水器控制器最关键的部位。
(2)时间、水位、温度显示和键盘电路。
键盘部分用于系统和人的信息交互,通过键盘可使系统显示所需要查看的信息。
时间、水位、温度信息通过数码管显示给用户。
(3)时钟电路。
给系统提供实时时间或参考时间,以便于对电加热时间进行调整。
(4)驱动电路。
包括电加热、上水电磁阀、报警电路,是整个系统的执行部分。
系统的整体结构图如图1所示。
2.2方案选择
水位测量和水温测量:
水位测量和水温测量是太阳能热水器控制系统的最重要部分,因此传感器的选择是本设计的关键。
水位传感器的选择:
位测量可以有多种方法,我们从性能和成本两方面进行考虑,选择RC充放电式水位传感器,而没有选用大众式的排阻分档键盘式水位传感器。
因为RC充放电式水位传感器明显优于排阻分档键盘式水位传感器的地方有:
(1)接线简单,排阻分档键盘式水位传感器需要四根导线传输水位信号,而RC充放电式水位传感器仅需要两根就能完成,这对于线路较长的太阳能热水器传输信号电路来说能节省相当多的导线资源。
(2)给水温测量电路设计带来方便,RC充放电式水位传感器的原理可以同样运用到热电阻温度测量电路中。
(3)占用较少的I/O口,仅需两个I/O口就能完成水位检测任务,极大地节约了单片机的I/O口资源。
图1太阳能热水器控制系统整体结构图
温度传感器的选择:
温度传感器选用了NTC负温度系数热电阻温度传感器,因为它具有灵敏度高、稳定性强、耐腐蚀、寿命长、安装方便等优点。
此外水温测量电路选用了RC充放电式热电阻水温传感器测量电路。
对于对温度要求不算精确的太阳能热水器系统,完全可以满足我们的需要。
其优势还是十分突出的:
(1)仅需2个I/O口就能完成对温度的检测,节约了单片机的I/O,有利于降低成本。
(2)实现起来也十分简单。
时间、水位、温度显示和键盘电路:
太阳能热水器系统需要用数码管显示时间和温度,时间精确到分,24或12小时制,这就需要4位显示;
而温度显示范围为0—99度,这又需要2位显示。
对于六位显示,采用占用I/O较少的动态扫描方式,也需要六位位选码数据线,八位段选码数据线,共需14个I/O口。
键盘采用复用方式,仍需要至少4个I/O口。
键盘和显示电路共需18个I/O口,89C52单片机共有4×
8个I/O口,而又有8个口有特殊功能,也就是常用的共有3×
8个I/O口,该系统的其他设置也还要占用大量I/O口,显然这样太浪费资源。
本设计采用可编程并行接口芯片8255A扩展I/O口,这样就比直接显示键盘电路节省了7个I/O口。
时钟电路:
太阳能热水器虽然节能环保,但它也有自身的许多缺点,例如受天气状况的影响太大,如果某天因阴雨天气等原因日照不足,水温偏低,使用者就无法正常使用热水。
为了解决这个问题需要为控制系统提供电加热装置。
因此为了避免因加热时间不足而造成水温达不到所需的温度或因加热时间过长而浪费大量电能等诸多问题,本设计采用了DS1302串行时钟芯片对电加热时间进行控制。
它与DS12B887的计时功能基本相同,它们的最大区别是DS1302时串行I/O方式,而DS12B887时并行I/O口方式,DS12B887编程实现要容易些,而DS1302要占用较少的I/O资源。
可见使用DS1302串行时钟芯片能够节省单片机的硬件资源,并能充分发挥单片机的软件优势。
驱动电路:
它主要包括上水、电加热、报警电路,它们都属于大功率电路。
它们均采用Q9013三极管进行放大驱动,需用开关控制外部电源的关断。
该电路主要是采用单片机为驱动开关提供开关信号,以控制电源的通断,使得驱动电路获得电源,执行相应的功能。
3电路硬件设计
3.1水位测量电路
太阳能热水器的水位和水温传感器的基本形状如图2所示。
图2太阳能水位水温传感器外形图
从图2中我们可以清楚的地看到传感器外形非常简单,一共只有4个端口,其中一个是防冻接口,没有使用,使用的只有3个端口,在可用的三个端口上分别标有公共、水位、水温标志,由此可知测量水位、水温都各用了一个端口。
观察传感器可知水位传感器有5个与水接触点,我们从上到下依次命名它们为1—5触点。
我们分别测量了触点不同接法时公共和水位两端口之间的电阻,数据如表1所示。
由上述测试结果的电阻值得出这样的规律,那就是电阻的并联短接,其原理如图3所示。
RC充放电测量水位的工作原理是:
水面每接触一个钢针就会多并联一个电阻,电阻随水位变化而规律的变化。
利用单片机的一个口周期性的给电容电路充放电,然后用单片机监测电容两端电压的变化,因为电容电压的上升或下降时间T=RC,所以用单片机记录这个时间就能判别电阻的变化,进而转化为水位的变化进行显示及其他动作,原理图如图4。
水位测量电路的具体设计及优化:
(1)直接接单片机I/O口检测
单片机中的定时器可以提供电压变化时间的纪录,接下来就是如何将电压的变化传递给单片机。
一种简单的方案是:
用P1.0口给RC电路周期性的充放电,然用P1.1口监测电容的电平变化,完成计时,这种方案看上去简单易实现,但实际则行不通。
按刚才提到的方法接图如图5。
图3太阳能水位传感器原理
表1输出电阻值
短接方式
无短接
1、2
1、2、3
1、2、3、4
1、2、3、4、5
输出电阻值(kΩ)
极大
25
12.5
8.6
6.3
图4RC充放电式水位传感器测量电路原理图
图5直接用I/O检测电容电压测量水位电路原理图
这样做得到的结果是P1.1的电压一直保持高电平,即电容电压一直保持高点平。
这与单片机内部电路有关。
从图中可见,P1.1口只有高电平和低电平两种状态,当P1.1口为高电平时,将电容端与P1.1连接,VCC会通过内部上拉电阻持续给电容充电,所以监测电容电压一直为高电平。
而当将其置低电平时,P1.1口相当于接地,将会出现相反的情况,其通过地一直给电容放电,电容电压一直低电平。
(2)采取与I/O隔离并用中断监测电容电压的电路
这样需要将电容电压与单片机监测端口隔离,采取如图6所示电路。
LM358电压跟随器的输出电压幅度为0至Vcc-1.5V,而要跟随的电压范围为0—5V,所以应选用大于+6.5V的电源供电,这里选用+12V单电源供电。
LM393比较器设置+3V的参考电压,将电容电压的指数曲线变成矩形波,波形图如图7所示。
将参考电压接同相输入端,比较电压接反相输入端,从而实现电容电压在上升到参考电压时比较器产生下降沿信号,作为单片机的外部中断信号。
另外LM393的同相输入端输入和反相输入端输入之间有相互嵌位作用,+5V电源和分压电阻提供的+3v参考电平对反相输入端输入有嵌位作用,如果不接LM358电压跟随器而与电容直接相连,显然会影响电容电压的变化,因此在这加了电压跟随器进行隔离。
图6水位测量电路
(3)充电时间的设定和电容的选择
电容充电时间的计算公式为:
T=RC
(1)
T即位电容电压上升时间。
编程使P1.3口输出周期性的方波,给电容充放电,方波半周期(充电或放电时间)为T′,应使方波半周期大于电容电压上升时间,即:
T′≥T
(2)
如果使用单片机主程序一直循环给P1.3口输出方波,方波的周期可以很大,超过几秒甚至几十秒,但是这样主程序就只能干这一项工作,影响单片机的其他工作。
所以要用定时器来实现方波输出。
这样用定时器就可以用定时中断使P1.3口输出方波,又不影响单片机的其他工作。
这样方波的周期就受定时器定时时间的限制。
89C52单片机定时器共有4种定时方式,其中定时时间最长的为定时方式1。
当定时器/计数器在方式1下做定时器用时,其定时时间计算公式为:
T=(N-计数初值)×
晶振周期×
12(3)
如图7,这里用INT0中断来监视记录电容变化,内部编程实现计时器对电容电压上升时间的记录,所以可以通过将计时器寄存器里的值显示出来的方式直观显示水位结果,来确定合适的电容。
以下是编程实现这一过程的结果。
图7电容电压与比较器输出信号(仿真和实测)
表2不同电容大小时计数器寄存器中的值
一水位
二水位
三水位
四水位
TH0
TL0
2uF
A0-B4
——
85-98
70-83
60-65
1uF
64-70
49-50
38-40
32-34
0.22uF
2
1
80-A3
72-80
64-72
由表格数据可见当选用2uF电容时,应需较大的充放电时间