太阳能热水器智能水位控制仪的设计(共66页).doc

上传人:飞****2 文档编号:17103207 上传时间:2022-05-21 格式:DOC 页数:66 大小:2.46MB
返回 下载 相关 举报
太阳能热水器智能水位控制仪的设计(共66页).doc_第1页
第1页 / 共66页
太阳能热水器智能水位控制仪的设计(共66页).doc_第2页
第2页 / 共66页
点击查看更多>>
资源描述

《太阳能热水器智能水位控制仪的设计(共66页).doc》由会员分享,可在线阅读,更多相关《太阳能热水器智能水位控制仪的设计(共66页).doc(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上摘 要本文设计了一个太阳能热水器智能控制系统。它以89C52单片机为核心,配合电阻型4档水位传感器、负温度系数NTC热敏电阻温度传感器、8255A扩展键盘和显示器件 、驱动电路(电磁阀、电加热、报警)等外围器件, 完成对太阳能热水器容器内的水位、水温测量、显示;时间显示;缺水时自动上水,水溢报警;手动上水、参数设置;定时水温过低智能电加热等功能。其中本文第一章主要说明了太阳能热水器智能控制系统的研究现状和本课题的主要任务,第二章对系统的整体结构作了简单介绍,第三章重点介绍了水位水温测量电路,第四章介绍了时钟电路,第五章介绍了显示和键盘电路,第六章对其他电路作了介绍,第

2、七章是对水位测量电路的硬件调试。本系统对于水位传感器、水温传感器的电阻数据的处理均采用独特的RC充放电的方法。它与使用A/D转换器相比,电路简单、制造成本低。特别适用于对水位、水温要求不精确的场合。关键词:太阳能,热水器,控制器,89C52,RC充放电专心-专注-专业AbstractThis article has designed a intelligence control system for solar-powered water heater. It take the 89C52 microcontroller integrated circuit as the core, the

3、coordinate 4 grades of waters level resistance sensor, the negative temperature coefficient NTC thermistor temperature sensor,the 8255A expansion keyboard and the demonstration component, the actuate circuit (solenoid valve, electric heating, warning) and other periphery component, completes to the

4、water level and temperature measure and demonstrate; the time demonstrate; lack of water automatically upstream, the water overflow warn; fixed time intelligencely electric heat.The first chapter of this article mainly explained the research situation of the solar-powered water heater intelligence c

5、ontrol system and the primary mission of this topic. The second chapter has made the simple introduction to the overall construction of the system .The third chapter introduced with emphasis on the water level and water temperature metering circuit.The fourth chapter introduced the clock circuit .Th

6、e fifth chapter introduced the demonstration and the keyboard circuit,.The sixth chapter has made the introduction to other circuits. The seventh chapter is the hardware debugging of the water level measuring circuit.Regarding the process of the water level sensor and water temperature sensor resist

7、ance data this system uses the method of the unique RC electric sufficient and discharging. Compared to using the A/D converter, the electric circuit is simple, the production cost is low. Specially it is suitable for the water level and the water temperature measuring requested unprecise situation.

8、Key word: Solar energy, water heater, controller, 89C52, RC electric sufficient and discharge 目 录第一章 引 言1.1 课题的背景意义随着太阳能热水器的迅速推广,广大消费者对太阳能热水器特别是太阳能热水器控制器的要求越来越高,太阳能热水器商家为使自己的产品能在市场上生存和发展,在不断提高太阳能热水器热水性能的同时,也不断加大力度满足消费者对于太阳能使用方便的要求,于是太阳能热水器的智能化程度越来越高。本设计追踪科技应用前沿,跟踪市场,根据论文资料及市场现有产品模型,在加上自己的理解和创意,模仿出了一

9、套智能化的太阳能热水器控制系统。本系统完全跟随太阳能热水器本身智能化程度和成本的要求,为太阳能热水器提供了一套智能化程度高、性能良好、使用方便、经济实惠的配套控制系统。1.2 太阳能热水器和其控制器的发展现状中国太阳能热水产业的发展始于上世纪80年代,当时的市场定位是农村或中小城镇的低收入家庭。90年代后期,住宅商品化的发展以及家庭对热水需求的大幅度增长为太阳能热水器的发展提供了市场空间, 太阳能热水器的生产规模进一步扩大,形成了一些有一定知名度的产品和品牌。自上世纪90年代以来,我国太阳能热水器行业保持了10多年的快速增长 ,2005年 太阳能热水器年生产量为1 500万平方米,是2000年

10、640万平方米的2倍多,到2005年底,我国太阳能热水器保有量超过7500万平方米是2000年2600万平方米的近3倍。目前,我国既是世界上最大的太阳能热水器生产国,同时也拥有世界上最大的太阳能热水器市场。至2005年,全国有1000多家有一定规模的太阳热水器生产企业,年总产值达150多亿元,出口创汇2000万美元,全行业提供约30多万个就业机会,产生了显著的经济、环境和社会效益1。到目前已有许多太阳能品牌为大家耳熟能详,如皇明、桑乐、四季牧歌、力诺等。总之,太阳能热水器已是一件和电视机、洗衣机一样必不可少的家用电器。进步源于竞争,在我国太阳能拥有广阔的市场,当然也有更大的竞争,各大商家为了使

11、自己的产品在市场上立足并长远发展,不断提高太阳能热水器的性能,其中太阳能热水器控制器以其灵活、贴近客户成为商家竞争的热点。目前,各大商家纷纷提高太阳能热水器的智能化程度来满足消费者的需求。许多太阳能热水器的功能有:开机自检、温控上水、强制上水、水位预置、水质设置、水温指示、低水压上水、水位显示、防高温空晒、缺水报警、自动防溢流、 缺水上水、手动上水、故障提示等许多贴近客户需求的功能。目前太阳能控制器的控制器基本实现数字化,以单片机为控制核心的控制系统占领太阳能热水器的主要市场。在市场调查中发现,太阳能控制单片机的型号较多,其中应用最多的是51系列和PIC系列单片机。其基本框图如图1-1所示。图

12、1-1 市场太阳能热水器基本框图2太阳能热水器控制系统可以实现水位显示、水位控制、温度显示、防冻等多种功能,其中对水位的检测、控制,实现水位显示、自动上水、超限报警是太阳能热水器控制系统的核心。目前大多数太阳能热水器的水位传感器都采用分段式水位传感器,因为太阳能热水器对水位精确度的要求不高,并且分段式传感器的成本很低。图1-2是常用的一种分段式热水器传感器的基本原理。对于温度的检测便于用户的使用和控制电加热。目前,温度传感器的应用种类较为繁杂,有直接使用热电阻、热电偶的,也有使用数字温度变送器(如MAX6674)的。在显示方面多采用LED显示或LCD液晶显示。图1-2 一种分段式水温传感器31

13、.3 课题的研究内容本课题主要是对市场现有产品的仿制,要能够实现太阳能热水器的完整功能。本课题以89C52单片机为核心配合传感器、显示器件、电磁阀、电加热器、报警器等外围器件,采集热水器储水箱中的水位、水温信号,通过控制电动机的运转、电加热器加热来控制储水器的水位、温度,并完成水位、水温显示,时间显示,水溢报警等功能。另外配有键盘,可以实现手动上水、手动电加热、设置水位、设置温度等功能。第二章 太阳能热水器智能水位控制系统整体结构介绍太阳能热水器整体结构大致可以分为四大部分:1水位、水温测量电路。这部分用于采集水位水温信号给单片机,是太阳能热水器控制器最关键的部位。2时间、水位、温度显示和键盘

14、电路。这部分用于系统和人的信息交互,有对太阳能热水器状态的直观显示,也有用于人对系统控制的键盘电路。3时钟电路。给系统提供时间显示和参考时间。4驱动电路。包括电加热、上水电磁阀、报警电路,是整个系统的执行部分。系统的整体结构图如图2-1所示。图2-1 太阳能热水器控制系统整体结构图第三章 水位和水温测量电路硬件设计水位测量和水温测量是太阳能热水器控制系统的最重要部分,是实现其他功能的基础,此部分性能好坏将关系到整个系统的优良程度,所以设计一个性能良好的水位、水温测量系统是本设计的重点。3.1 水位测量电路水位测量可以有多种方法,需从性能和成本两方面进行考虑,选择合适的方案。3.1.1 方案比较

15、选择1排阻分档键盘式水位传感器在许多资料中都介绍了一种类似键盘电路的分档水位传感器,其原理图如图3-1所示。图3-1 排阻式水位测试电路示意图4它的工作原理类似于键盘的工作原理,用 5根不锈钢针分别置于水箱内的 四种不同高度的位置,当某个钢针不接触水面时,其输出为高电平;当其与水面接触时则输出低电平。它们的输出接至电子开关CD4069,经过CD4069反向并经74LS244驱动后分别接入89C52的 P10P13引脚。CPU对这些引脚进行判断后 ,送去显示相应的水位值。显示共分 4档 ,每档为满水位的25% 。这种方法简单,易实现,省去了传统的 AD转换器,成本低,虽然不精确但可以满足使用要求

16、4。2RC充放电式水位传感器测量电路这种电路资料较少,但我们在市场上购买的桑乐太阳能的水位和水温传感器就是基于这种原理,其基本形状如图3-2所示。图3-2 桑乐太阳能水位水温传感器外形图从图3-2中我们可以清楚的地看到传感器外形非常简单,一共只有4个端口,其中一个是防冻接口,没有使用,使用的只有3个端口,在可用的三个端口上分别标有公共、水位、水温标志,由此可知测量水位、水温都只用了一个端口。观察传感器可知水位传感器有5个与水接触点,我们从上到下依次命名它们为15触点。我们分别测量了触点不同接法时公共和水位两端口之间的电阻,数据如表3-1所示。由上述测试结果的电阻值得出这样的规律,那就是电阻的并

17、联短接,其原理如图3-3所示。表3-1 输出电阻值表短接方式无短接1、21、2、31、2、3、41、2、3、4、5输出电阻值(k)极大2512.58.66.3图3-3 桑乐太阳能水位传感器原理它的工作原理是,水面每接触一个钢针就会多并联一个电阻,电阻随水位变化而规律的变化。利用单片机的一个口周期性的给电容电路充放电,然后用图3-4 RC充放电式水位传感器测量电路原理图单片机监测电容两端电压的变化,因为电容电压的上升或下降时间t=RC,所以用单片机记录这个时间就能判别电阻的变化,进而转化为水位的变化进行显示及其他动作。3传感器选择RC充放电式水位传感器测量电路,明显优于排阻分档键盘式水位传感器的

18、地方有:(1)接线简单,排阻分档键盘式水位传感器需要四根导线传输水位信号,而RC充放电式水位传感器仅需要两根就能完成,这对于线路较长的太阳能热水器传输信号电路来说能节省相当多的导线资源。(2)给水温测量电路设计带来方便,RC充放电式水位传感器的原理可以同样运用到热电阻温度测量电路中。(3)占用较少的I/O口,仅需两个I/O口就能完成水位检测任务,极大地节约了单片机的I/O 口资源。综上比较可见选用第二种方案较为优越。3.1.2 水位测量电路的具体设计及优化1直接接单片机I/O口检测单片机中的定时器可以提供电压变化时间的纪录,接下来就是如何将电压的变化传递给单片机。一种简单的方案是:用P1.0口

19、给RC电路周期性的充放电,然后用P1.1口监测电容的电平变化,完成计时,这种方案看上去简单易实现,但实际则行不通。按刚才提到的方法接图如图3-5。这样做得到的结果是P1.1的电压一直保持高电平,即电容电压一直保持高点平。这与单片机内部电路有关,单片机的内部电路如图3-6所示。图3-5 直接用I/O检测电容电压测量水位电路原理图图3-6 P1口的位结构5从图中可见,P1口只有高电平和低电平两种状态,当P1.1口为高电平时,将电容端与P1.1连接,VCC会通过内部上拉电阻持续给电容充电,所以监测电容电压一直为高电平。而当将其置低电平时,P1口相当于接地,将会出现相反的情况,其通过地一直给电容放电,

20、电容电压一直低电平。2采取与I/O隔离并用中断监测电容电压的电路这样需要将电容电压与单片机监测端口隔离,采取如图3-7所示电路。 图3-7 水位测量电路1 LM358的应用LM358的正向输入端接电容电压正端,反向输入端与输出端相连,构成电压跟随器。电压跟随器的显著特点就是,输入阻抗高,而输出阻抗低,一般来说,输入阻抗要达到几兆欧姆是很容易做到的。输出阻抗低,通常可以到几欧姆,甚至更低,也就是说电压跟随器有较好的隔离作用,使输出对输入影像较小,正好满足我们的要求6。LM358的输出电压幅度为0 至Vcc-1.5V,而要跟随的电压范围为05V,所以应选用大于+6.5V的电源供电,这里选用+12V

21、单电源供电2LM393的作用给比较器设置+3V的参考电压,将电容电压的指数曲线变成矩形波,波形图如图3-8所示。将参考电压接同相输入端,比较电压接反相输入端,从而实现电容电压在上升到参考电压时比较器产生下降沿信号,作为单片机的外部中断信号。如图3-8所示。根据LM393的特性本设计电源电路提供的电压,选用+5v给其供电。由LM393的内部原理图可知LM393的输出为集电极开路,它的输出高电平与LM393的电源无关,但须接外部电源和上拉电阻。在图3-7所示的水位测量电路中并未有这样的上拉电压电路,是因为单片机内部INT0、INT1口已经具备了这样的电路。INT0、INT1的内部电路类似于P1口如

22、图3-6所示。另外LM393的同相输入端输入和反相输入端输入之间有相互嵌位作用,+5V电源和分压电阻提供的+3v参考带电平对反相输入端输入有嵌位作用,如果不接LM358 电源跟随器而与电容直接相连,显然会影响电容电压的变化,这就是要加电压跟随器进行隔离的原因。图3-8 电容电压与比较器输出信号(仿真和实测)3充电时间的设定和电容的选择电容充电时间的计算公式为: (3-1)T即位电容电压上升时间。编程使P1.0口输出周期性的方波,给电容充放电,方波半周期(充电或放电时间)为,应使方波半周期大于电容电压上升时间,即: (3-2)如果使用单片机主程序一直循环给P1.4口输出方波,方波的周期可以很大,

23、超过几秒甚至几十秒,但是这样主程序就只能干这一项工作,影响单片机的其他工作。所以要用定时器来实现方波输出。这样用定时器就可以用定时中断使P1.4口输出方波,又不影响单片机的其他工作。这样方波的周期就受定时器定时时间的限制。89C52单片机定时器共有4种定时方式,其中定时时间最长的为定时方式1。当定时器/计数器在方式1下做定时器用时,其定时时间计算公式为: (3-3)采用12M的晶振,晶振周期为S,因为采取定时器终端方式,所以N=0XFFFF=65536。所以: (3-4)那么当T=30ms,计数初值为0X8AD0=35536。定时输出30ms其程序如下:void main() initial(

24、); while(1) display();void timer_t1() interrupt 3 TH1=0X8A; /重新给定时器1赋值 TL1=0XD0; P1_4=!P1_4; /充放电变换if(P1_4) /充电开始时启动定时器0 TL0=TH0=0X00; /定时器0赋初值0 TR0=1; /启动定时器0 如图3-6,这里用INT0 中断来监视记录电容变化,内部编程实现计时器对电容电压上升时间的记录,所以可以通过将计时器寄存器里的值显示出来的方式直观显示电容电压结果,来确定合适的电容。以下是编程实现这一过程的结果。表3-2 不同电容大小时计数器寄存器中的值一水位二水位三水位四水位T

25、H0TL0TH0TL0TH0TL0TH0TL02uFA0B48598708360651uF64704950384032340.22uF2180A31728016472由表格数据可见当选用2uF电容时,应需较大的充放电时间,充放电不够充分,所以计数器寄存器中的值大而不准;而当取0.22uF电容式计数寄存器TH0的值仅为1或2,非常不利用区分;当取1uF电容时,数据大小合适,分段明显,所以应选用1uF电容。另外,电容两端的最高电压为+5V,最低电压为0V,所以所选电容的耐压留有一定裕量为最大电压的3倍,所以应选取耐压为15V以上的电容。由表3-2知R最大值为25K,所以: (3-5)又由式3-8得

26、: (3-6)这样由公式3-5、3-6得到。因此取充电和放电时间为30ms。4、编程实现水位处理由于水电阻的波动性和电容的不稳定性等原因,计数器中的数值会有一定的波动,所以需要对数据进行相应的处理显示水位。其中buf1为计数器0寄存器中的值。void LvRead() if(buf160) WTLV=1; /显示1水位L3=0;L2=1;L1=1;L0=1; else if(buf145) WTLV=2; /显示2水位 L3=1;L2=;L1=1;L0=1; else if(buf136) WTLV=3;/ 显示3水位 L3=1;L2=1;L1=0;L0=1; else WTLV=4;/ 显示

27、4水位 L3=1;L2=1;L1=1;L0=0;3.2 水温测量电路水温测量电路的设计包括传感器的选择和测量电路的选择。考虑到性价比等原因,市场上大部分太阳能热水器的温度传感器都选用NTC负温度系数热电阻,本系统也选用这种。下面主要论述测量电路。3.2.1 方案比较选择温度测量方案很多,下面通过比较选择合适的测量方法。1 热电阻A/D转换式水温传感器图3-9 热电阻A/D转换电路原理图A/D转换式水温传感器的原理是,利用热敏电阻的阻值随温度变化的特性,将随温度变化的电阻信号转化为变化的电压信号,然后将这个电压信号经运放放大处理成05V的电压信号,电压信号经A/D转换变成数字信号送给单片机。这种

28、电路测量比较精确,但需用A/D转换器,而A/D转换的价格较贵,会加大成本,另外A/D转换需占用8个数据口和两个片选口及两个控制口共12个I/O口。2RC充放电式热电阻水温传感器测量电路RC充放电式热电阻水温传感器测量电路的原理与前面提到的RC充放电式水位传感器测量电路原理完全相同,只要把水位电阻换成热电阻就可以了。其缺点是不够精确,但成本很低,对于对温度要求不算精确的太阳能热水器系统,完全可以满足我们的需要。另外与A/D转换式温度传感器相比,其优势还是十分突出的:(1)仅需2个I/O口就能完成对温度的检测,节约了单片机的I/O,有利于降低成本。 (2)实现起来也十分简单。3.2.2 水温测量电

29、路的设计及温度计算方法1水温测量电路图3-10 水温测量电路原理图对太阳能热水器中水的温度进行控制及显示,需对热水器水温与出水温度进行检测。对于热水器来说温度控制与显示的精度要求并不高,因此本设计采用负温度系数NTC 热敏电阻作为测温元件,利用NTC 热敏电阻阻值随温度变化而改变的特性实现测温。2水温计算方法NTC 热敏电阻的阻值与温度的准确关系为: (3-7)式中R0 为温度为T0 时的电阻值,T0 为基准温度298.15K, 即25 。为材料系数。R0 与由热敏电阻生产厂家给出7。由式3-7可得: (3-8)由式3-3和式3-4可得; (3-9)经测试T0=25的计数器寄存器中的值=163

30、84。将T0 、值代入上式并用摄氏温度表示时水胆温度为; (3-10)因为89C52单片机无法进行直接的对数运算,按上述公式计算温度值将是十分困难的。在这里查表法是一种经常采用的解决办法,即事先计算出所有可能的计时结果所对应的温度值以表格形式写入控制程序,每次转换完毕后查表得出所对应的温度值。但此种方法需占用较多的程序储存空间本设计采用一次线性插值法对温度与A/D 转换结果之间的关系进行分段线性化,以少量单片机能直接进行的运算的组合去逼近目标函数。图3-11为温度T 与计时器计时结果N之间的关系曲线。图3-11 计时寄存器值N与温度T的关系曲线其中圆滑曲线为实际的T-N关系曲线设计中根据使用要

31、求将曲线在0 -90 范围内分3 段采用图中的3 段直线断代替实际曲线。曲线按式3-10 计算出图中各线段端点坐标值为:N1=1000,T1=90(); N2=7549,T2=43(); N3=20000,T3=20(); N4=56450,T4=0();分段线性化后温度T 的近似计算公式: ,() (3-11),() (3-12),() (3-13)为了能在单片机上进行计算,将以上三式进一步变换成如下形式(其中int为取整函数): T=97-int(N*8/1000), (3-14) T=50-int(N/1000), (3-15) T=30-int(N*5/10000), (3-16)式3

32、-14、 3-15 和3-16 的计算过程仅需通过简单的几步移位与加减法操作即可实现,与通过式3-10 计算并进行四舍五入圆整的结果相比较单片机通过式3-14、 3-15 和3-16计算出的温度值在020 范围内误差不超过2,在20 90 范围内误差不超过1,并且计算出的温度值与A/D 转结果之间保持良好的单调递增关系。3程序实现测量水温程序与水位程序类似,由单片机口给电容发矩形波充放电,然后检测中断计时,根据计数器中的值来判断当前温度。也就是水温测量程序包含中断计时和数据处理两部分。定时器0和1已经被水位测量电路,和充电定时占用,所以这里需可以编程序实现水位和水温中断轮流开关,来轮流使用定时

33、器0,计算温度传感器的上升时间。数据处理公式已在上面列出。下面列出数据处理程序,其中buf3、buf2为中断1得到的定时器1中的值,中断程序见附件。void TmRead() uint val; val=buf3*256+buf2; if(val7549) TMP=97-int(val*8/1000); else if(val0;i-)/往DS1302写入要读的内容(时或分),共8位 if(reg&0x01) Set_DS1302_SDA;/如果写入值的第一位为1发高电平 else Clr_DS1302_SDA;/否则发低电平 _nop_();延时两个时钟周期 _nop_(); Set_DS1302_SCLK; 发同步脉冲 _nop_(); _nop_(); Clr_DS1302_SCLK; _nop_(); _nop_(); reg=1;/发送内容右移一位 for(i=8;i0;i-)/从DS1302读出内容,共8位

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁