已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录太阳能热水器控制电路毕业设计目 录摘 要IAbstractII目 录III第一章 引 言11.1 课题的背景与意义11.2 太阳能热水器和其控制系统的发展现状11.3 课题的研究内容3第二章 太阳能热水器智能水位控制系统整体结构介绍4第三章 水位和水温测量电路硬件设计53.1 水位测量电路53.1.1 方案比较选择53.1.2 水位测量电路的具体设计及优化83.2 水温测量电路153.2.1 方案比较选择153.2.2 水温测量电路的设计及温度计算方法163.3 水位、水温测量电路的整体设计20第四章 显示电路214.1 方案选择214.1.1 8255A芯片介绍214.1.2 8255A在太阳能热水器控制电路中的作用244.2 显示电路工作原理254.2.1 8255A显示电路的硬件结构。254.2.2 8255A实现显示方法27第五章 其他硬件电路设计305.1 上水电磁阀、电加热、报警等驱动电路305.1.1 上水控制电路305.1.2 电加热控制电路305.1.3 报警控制电路305.1.4 水位显示电路315.2 电源电路31参考文献33致 谢34附 录35第一章 引 言第一章 引 言1.1 课题的背景与意义随着太阳能热水器的迅速推广,广大消费者对太阳能热水器特别是太阳能热水器控制器的要求越来越高,太阳能热水器商家为使自己的产品能在市场上生存和发展,在不断提高太阳能热水器热水性能的同时,也不断加大力度满足消费者对于太阳能使用方便的要求,于是太阳能热水器的智能化程度越来越高。本设计追踪科技应用前沿,跟踪市场,根据论文资料及市场现有产品模型,在加上自己的理解和创意,模仿出了一套智能化的太阳能热水器控制系统。本系统完全跟随太阳能热水器本身智能化程度和成本的要求,为太阳能热水器提供了一套智能化程度高、性能良好、使用方便、经济实惠的配套控制系统。1.2 太阳能热水器和其控制系统的发展现状中国太阳能热水产业的发展始于上世纪80年代,当时的市场定位是农村或中小城镇的低收入家庭。90年代后期,住宅商品化的发展以及家庭对热水需求的大幅度增长为太阳能热水器的发展提供了市场空间, 太阳能热水器的生产规模进一步扩大,形成了一些有一定知名度的产品和品牌。自上世纪90年代以来,我国太阳能热水器行业保持了10多年的快速增长 ,2005年 太阳能热水器年生产量为1500万平方米,是2000年640万平方米的2倍多,到2005年底,我国太阳能热水器保有量超过7500万平方米是2000年2600万平方米的近3倍。目前,我国既是世界上最大的太阳能热水器生产国,同时也拥有世界上最大的太阳能热水器市场。至2005年,全国有1000多家有一定规模的太阳热水器生产企业,年总产值达150多亿元,出口创汇2000万美元,全行业提供约30多万个就业机会,产生了显著的经济、环境和社会效益1。到目前已有许多太阳能品牌为大家耳熟能详,如皇明、桑乐、四季牧歌、力诺等。总之,太阳能热水器已是一件和电视机、洗衣机一样必不可少的家用电器。进步源于竞争,在我国太阳能拥有广阔的市场,当然也有更大的竞争,各大商家为了使自己的产品在市场上立足并长远发展,不断提高太阳能热水器的性能,其中太阳能热水器控制器以其灵活、贴近客户成为商家竞争的热点。目前,各大商家纷纷提高太阳能热水器的智能化程度来满足消费者的需求。许多太阳能热水器的功能有:开机自检、温控上水、强制上水、水位预置、水质设置、水温指示、低水压上水、水位显示、防高温空晒、缺水报警、自动防溢流、 缺水上水、手动上水、故障提示等许多贴近客户需求的功能。目前太阳能控制器的控制器基本实现数字化,以单片机为控制核心的控制系统占领太阳能热水器的主要市场。在市场调查中发现,太阳能控制单片机的型号较多,其中应用最多的是51系列和PIC系列单片机。其基本框图如图1-1所示。图1-1 市场太阳能热水器基本框图2太阳能热水器控制系统可以实现水位显示、水位控制、温度显示、防冻等多种功能,其中对水位的检测、控制,实现水位显示、自动上水、超限报警是太阳能热水器控制系统的核心。目前大多数太阳能热水器的水位传感器都采用分段式水位传感器,因为太阳能热水器对水位精确度的要求不高,并且分段式传感器的成本很低。图1-2是常用的一种分段式热水器传感器的基本原理。对于温度的检测便于用户的使用和控制电加热。目前,温度传感器的应用种类较为繁杂,有直接使用热电阻、热电偶的,也有使用数字温度变送器(如MAX6674)的。在显示方面多采用LED显示或LCD液晶显示。图1-2 一种分段式水温传感器31.3 课题的研究内容本课题主要是对市场现有产品的仿制,要能够实现太阳能热水器的完整功能。本课题以89C52单片机为核心配合传感器、显示器件、电磁阀、电加热器、报警器等外围器件,采集热水器储水箱中的水位、水温信号,通过控制电动机的运转、电加热器加热来控制储水器的水位、温度,并完成水位、水温显示,时间显示,水溢报警等功能。另外配有键盘,可以实现手动上水、手动电加热、设置水位、设置温度等功能。第二章 太阳能热水器智能水位控制系统整体结构介绍第二章 太阳能热水器智能水位控制系统整体结构介绍太阳能热水器整体结构大致可以分为四大部分:1水位、水温测量电路。这部分用于采集水位水温信号给单片机,是太阳能热水器控制器最关键的部位。2时间、水位、温度显示和键盘电路。这部分用于系统和人的信息交互,有对太阳能热水器状态的直观显示,也有用于人对系统控制的键盘电路。3时钟电路。给系统提供时间显示和参考时间。4驱动电路。包括电加热、上水电磁阀、报警电路,是整个系统的执行部分。系统的整体结构图如图2-1所示。图2-1 太阳能热水器控制系统整体结构图结 论第三章 水位和水温测量电路硬件设计水位测量和水温测量是太阳能热水器控制系统的最重要部分,是实现其他功能的基础,此部分性能好坏将关系到整个系统的优良程度,所以设计一个性能良好的水位、水温测量系统是本设计的重点。3.1 水位测量电路水位测量可以有多种方法,需从性能和成本两方面进行考虑,选择合适的方案。3.1.1 方案比较选择1排阻分档键盘式水位传感器在许多资料中都介绍了一种类似键盘电路的分档水位传感器,其原理图如图3-1所示。图3-1 排阻式水位测试电路示意图4它的工作原理类似于键盘的工作原理,用 5根不锈钢针分别置于水箱内的 四种不同高度的位置,当某个钢针不接触水面时,其输出为高电平;当其与水面接触时则输出低电平。它们的输出接至电子开关CD4069,经过CD4069反向并经74LS244驱动后分别接入89C52的 P10P13引脚。CPU对这些引脚进行判断后 ,送去显示相应的水位值。显示共分 4档 ,每档为满水位的25% 。这种方法简单,易实现,省去了传统的 AD转换器,成本低,虽然不精确但可以满足使用要求4。2RC充放电式水位传感器测量电路这种电路资料较少,但我们在市场上购买的桑乐太阳能的水位和水温传感器就是基于这种原理,其基本形状如图3-2所示。图3-2 桑乐太阳能水位水温传感器外形图从图3-2中我们可以清楚的地看到传感器外形非常简单,一共只有4个端口,其中一个是防冻接口,没有使用,使用的只有3个端口,在可用的三个端口上分别标有公共、水位、水温标志,由此可知测量水位、水温都只用了一个端口。观察传感器可知水位传感器有5个与水接触点,我们从上到下依次命名它们为15触点。我们分别测量了触点不同接法时公共和水位两端口之间的电阻,数据如表3-1所示。由上述测试结果的电阻值得出这样的规律,那就是电阻的并联短接,其原理如图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充放电式水位传感器测量电路,明显优于排阻分档键盘式水位传感器的地方有:(1)接线简单,排阻分档键盘式水位传感器需要四根导线传输水位信号,而RC充放电式水位传感器仅需要两根就能完成,这对于线路较长的太阳能热水器传输信号电路来说能节省相当多的导线资源。(2)给水温测量电路设计带来方便,RC充放电式水位传感器的原理可以同样运用到热电阻温度测量电路中。(3)占用较少的I/O口,仅需两个I/O口就能完成水位检测任务,极大地节约了单片机的I/O 口资源。综上比较可见选用第二种方案较为优越。3.1.2 水位测量电路的具体设计及优化1直接接单片机I/O口检测单片机中的定时器可以提供电压变化时间的纪录,接下来就是如何将电压的变化传递给单片机。一种简单的方案是:用P1.0口给RC电路周期性的充放电,然后用P1.1口监测电容的电平变化,完成计时,这种方案看上去简单易实现,但实际则行不通。按刚才提到的方法接图如图3-5。这样做得到的结果是P1.1的电压一直保持高电平,即电容电压一直保持高点平。这与单片机内部电路有关,单片机的内部电路如图3-6所示。图3-5 直接用I/O检测电容电压测量水位电路原理图图3-6 P1口的位结构5从图中可见,P1口只有高电平和低电平两种状态,当P1.1口为高电平时,将电容端与P1.1连接,VCC会通过内部上拉电阻持续给电容充电,所以监测电容电压一直为高电平。而当将其置低电平时,P1口相当于接地,将会出现相反的情况,其通过地一直给电容放电,电容电压一直低电平。2采取与I/O隔离并用中断监测电容电压的电路这样需要将电容电压与单片机监测端口隔离,采取如图3-7所示电路。 图3-7 水位测量电路1 LM358的应用LM358的正向输入端接电容电压正端,反向输入端与输出端相连,构成电压跟随器。电压跟随器的显著特点就是,输入阻抗高,而输出阻抗低,一般来说,输入阻抗要达到几兆欧姆是很容易做到的。输出阻抗低,通常可以到几欧姆,甚至更低,也就是说电压跟随器有较好的隔离作用,使输出对输入影像较小,正好满足我们的要求6。LM358的输出电压幅度为0 至Vcc-1.5V,而要跟随的电压范围为05V,所以应选用大于+6.5V的电源供电,这里选用+12V单电源供电2LM393的作用给比较器设置+3V的参考电压,将电容电压的指数曲线变成矩形波,波形图如图3-8所示。将参考电压接同相输入端,比较电压接反相输入端,从而实现电容电压在上升到参考电压时比较器产生下降沿信号,作为单片机的外部中断信号。如图3-8所示。根据LM393的特性本设计电源电路提供的电压,选用+5v给其供电。由LM393的内部原理图可知LM393的输出为集电极开路,它的输出高电平与LM393的电源无关,但须接外部电源和上拉电阻。在图3-7所示的水位测量电路中并未有这样的上拉电压电路,是因为单片机内部INT0、INT1口已经具备了这样的电路。INT0、INT1的内部电路类似于P1口如图3-6所示。另外LM393的同相输入端输入和反相输入端输入之间有相互嵌位作用,+5V电源和分压电阻提供的+3v参考带电平对反相输入端输入有嵌位作用,如果不接LM358 电源跟随器而与电容直接相连,显然会影响电容电压的变化,这就是要加电压跟随器进行隔离的原因。图3-8 电容电压与比较器输出信号(仿真和实测)3充电时间的设定和电容的选择电容充电时间的计算公式为: (3-1)T即位电容电压上升时间。编程使P1.0口输出周期性的方波,给电容充放电,方波半周期(充电或放电时间)为,应使方波半周期大于电容电压上升时间,即: (3-2)如果使用单片机主程序一直循环给P1.4口输出方波,方波的周期可以很大,超过几秒甚至几十秒,但是这样主程序就只能干这一项工作,影响单片机的其他工作。所以要用定时器来实现方波输出。这样用定时器就可以用定时中断使P1.4口输出方波,又不影响单片机的其他工作。这样方波的周期就受定时器定时时间的限制。89C52单片机定时器共有4种定时方式,其中定时时间最长的为定时方式1。当定时器/计数器在方式1下做定时器用时,其定时时间计算公式为: (3-3)采用12M的晶振,晶振周期为S,因为采取定时器终端方式,所以N=0XFFFF=65536。所以: (3-4)那么当T=30ms,计数初值为0X8AD0=35536。定时输出30ms其程序如下:void main() initial(); 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 不同电容大小时计数器寄存器中的值一水位二水位三水位四水位TH0TL0TH0TL0TH0TL0TH0TL02uFA0B48598708360651uF64704950384032340.22uF2180A31728016472由表格数据可见当选用2uF电容时,应需较大的充放电时间,充放电不够充分,所以计数器寄存器中的值大而不准;而当取0.22uF电容式计数寄存器TH0的值仅为1或2,非常不利用区分;当取1uF电容时,数据大小合适,分段明显,所以应选用1uF电容。另外,电容两端的最高电压为+5V,最低电压为0V,所以所选电容的耐压留有一定裕量为最大电压的3倍,所以应选取耐压为15V以上的电容。由表3-2知R最大值为25K,所以: (3-5)又由式3-8得: (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;/ 显示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转换变成数字信号送给单片机。这种电路测量比较精确,但需用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 水温测量电路的设计及温度计算方法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的计数器寄存器中的值=16384。将T0 、值代入上式并用摄氏温度表示时水胆温度为; (3-10)因为89C52单片机无法进行直接的对数运算,按上述公式计算温度值将是十分困难的。在这里查表法是一种经常采用的解决办法,即事先计算出所有可能的计时结果所对应的温度值以表格形式写入控制程序,每次转换完毕后查表得出所对应的温度值。但此种方法需占用较多的程序储存空间本设计采用一次线性插值法对温度与A/D 转换结果之间的关系进行分段线性化,以少量单片机能直接进行的运算的组合去逼近目标函数。图3-11为温度T 与计时器计时结果N之间的关系曲线。图3-11 计时寄存器值N与温度T的关系曲线其中圆滑曲线为实际的T-N关系曲线设计中根据使用要求将曲线在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-14、 3-15 和3-16 的计算过程仅需通过简单的几步移位与加减法操作即可实现,与通过式3-10 计算并进行四舍五入圆整的结果相比较单片机通过式3-14、 3-15 和3-16计算出的温度值在020 范围内误差不超过2,在20 90 范围内误差不超过1,并且计算出的温度值与A/D 转结果之间保持良好的单调递增关系。3程序实现测量水温程序与水位程序类似,由单片机口给电容发矩形波充放电,然后检测中断计时,根据计数器中的值来判断当前温度。也就是水温测量程序包含中断计时和数据处理两部分。定时器0和1已经被水位测量电路,和充电定时占用,所以这里需可以编程序实现水位和水温中断轮流开关,来轮流使用定时器0,计算温度传感器的上升时间。数据处理公式已在上面列出。下面列出数据处理程序,其中buf3、buf2为中断1得到的定时器1中的值,中断程序见附件。void TmRead() uint val; val=buf3*256+buf2; if(val7549) TMP=97-int(val*8/1000); else if(val20000) TMP=50-int(val/1000); else TMP=30-int(val*5/10000); 3.3 水位、水温测量电路的整体设计 由上面的分析知道,两者的电路原理一样,都是用P1口给电容充电,用中断检测电容电压变化。作为充电口P1口的作用相当于电源(充电时)或地(方电时),所以可以用同一个口为两个冲放电回路充电,两个回路是独立的。LM393和LM358 都是双运放、8脚DIP封装,恰好用于水位和水温检测两路。下面图3-12 是实际的水位和水温测量电路图。图3-12 水位和水温测量电路实际电路图以P1.0口作为水位和水温电路的公共充0放电口,以INTO作为水位测量电路的中断检测口,以INT1作为水温测量电路的中断检测第四章 显示电路键盘和显示电路是太阳能热水器水位控制系统与用户的接口,用户通过显示来观察水温、水位、时间等状态值,再根据观察到的值,通过键盘对太阳能热水器进行控制。本章设计了较为合理的键盘和显示电路完成这些功能。4.1 方案选择太阳能热水器系统需要用数码管显示时间和温度,时间精确到分,24或12小时制,这就需要4位显示;而温度显示范围为099度,这又需要2位显示。对于六位显示,采用占用I/O较少的动态扫描方式,也需要六位位选码数据线,八位段选码数据线,共需14个I/O口。键盘采用复用方式,仍需要至少4个I/O口。键盘和显示电路共需18个I/O口,89C52单片机共有48个I/O口,而又有8个口有特殊功能,也就是常用的共有38个I/O口,该系统的其他设置也还要占用大量I/O口,显然这样太浪费资源。4.1.1 8255A芯片介绍Intel公司生产的可编程并行接口芯片8255A已广泛应用于实际工程中,例如8255A与A/D、D/A配合构成数据采集系统,通过8255A连接的两个或多个系统构成相互之间的通信,系统与外设之间通过8255A交换信息,等等,所有这些系统都将8255A用作为并行接口。 18255A的引脚功能定义8255A的原理结构如图5-1所示。它采用40脚的DIP封装,其引脚定义如表5-1所示。8255A为一可编程的通用接口芯片。它有三个数据端口A、B、C,每个端口为8位,并均可设成输入和输出方式,但各个端口仍有差异: 端口A(PA0PA7):8位数据输出锁存/缓冲器,8位数据输入锁存器;端口B(PB0PB7):8位数据I/O锁存/缓冲器,8位数据输入缓冲器;端口C(PC0PC7):8位输出锁存/缓冲器,8位输入缓冲器(输入时没有锁存)。控制寄存器高四位 低四位端口A端口B端口CB组A组VCCD7D0A1RESETA0PC3PC0PA7PA0PB7PB0PC7PC4GND图4-1 8255A输入输出口和编程模型表4-1 8255A引脚定义引脚名功能连接去向D0D7数据总线(双向)CPURESET复位输入CPU片选信号译码电路读信号CPU写信号CPUA0,A1端口地址CPUPA0PA7端口A外设PB0PB7端口B外设PC0PC7端口C外设VCC电源(+5V)/GND地/在模式控制下这个端口又可以分成两个4位的端口,它们可单独用作为输出控制和状态输入。 端口A、B、C又可组成两组端口(12位):A组和B组,参见图5-2。在每组中,端口A和端口B用作为数据端口,端口C用作为控制和状态联络线。 在8255A中,除了这三个端口外,还有一个控制寄存器,用于控制8255A的工作方式。因此8255A共有4个端口寄存器,分别用A0、A1指定: A1=0,A0=0,表示访问端口A; A1=0,A0=1,表示访问端口B; A1=1,A0=0,表示访问端口C; A1=1,A0=1,表示访问控制寄存器。28255的工作方式图4-2 方式控制字8255A有三种基本工作方式: 方式0:基本的输入/输出 方式1:有联络信号的输入/输出; 方式2:双向传送。A组可采用方式0方式2,而B组只能采用方式0和方式1,这由8255A的方式控制字控制。当向A1=1、A0=1的端口寄存器(即控制寄存器)发送D7=1的控制字时,其作用为方式控制字,各个位的含义如图5-2所示。工作方式介绍方式0 基本的输入/输出 将端口信号线分成4组,分别由方式控制字的D4、D3、D1、D0控制其传送方向,当某位为1时,相应的端口数据线设置成输入方式;当某位为0时,相应的端口数据线设置成输出方式。 特别注意,当将C口的低4位设置成同一传送方向时,则端口C可用作为独立的端口,因此,8255A提供了3个独立的8为端口9。方式1 有联络信号的输入/输出方式2 双向传送本设计用方式0,所以方式1、方式2不再详细介绍。4.1.2 8255A在太阳能热水器控制电路中的作用单片机与8255A的连接如图5-3所示,如图所示分别将8255A的 读、写、复位端口与单片机的读、写、复位端口相连。A0、A1、为8255A的地址口,D0-D9为数据口。P2.5与A1相连,P2.6与A2相连,P2.7与相连,提供8255的端口地址信号。单片机的P0口为8255A提供数据输出输入。8255A共占用单片机11个常用I/O口,比直接显示键盘电路节省了7个I/O口。图5-3 单片机与8255A连接图4.2 显示电路工作原理4.2.1 8255A显示电路的硬件结构。8255A扩展显示及键盘电路如图 5-4所示。图4-4 用8255A扩展的键盘和显示电路在显示电路中用8255A的PA口输出位选信号,通过74F07接LED显示器的片选引脚。7407是TTL门集成的六路输出缓冲器/驱动器,因为本系统采用的是共阴极LED显示器,位选应接低电平,可能有几十毫安的电流输出,而单片机的I/O口最大能承受几毫安的灌电流,所以需用7407来接受较大的输出电流。PB口输出的段选信号,通过74LS245芯片接LED段码引脚,因为8255A的输出电流一般是微安级的,而LED一般则要求5到几十毫安的电流,不能直接驱动LED,而74LS245的高电平输出电流在15毫安左右,可以驱动LED显示。另外74LS245的输出接上拉电阻,帮助驱动显示器。LED显示器是由发光二极管显示子段组成的显示器件。在单片机系统中通常使用的是七段LED显示器,这种显示器有共阴极共阳极两种,在这次设计中选用共阴极LED显示器。共阴极七段LED显示器的管脚如图5-5所示图4-5 共阴极LED显示器的原理和管脚图表4-1 共阴极LED显示器七段码显示字符共阴极七段码显示字符共阴极七段码03FH96F106A7725BB7C34FC39466D5E56DE7967DF71707P7387FU3E4.2.2 8255A实现显示方法8255A 的PA、PB口作为输出口驱动数码管显示;PC口用作输入口监测键盘输入,所以这里须用工作方式0基本输入输出口工作方式,其方式控制字为10001001。8255A的RESET引脚与单片机的RESET引脚直接相连,当单片机复位时,8255A同时复位。单片机的P2.7口与8255A的片选信号 相连,显示期间一直输出低电平,选中8255。在P2.5、P2.6都输出高电平时,即A1=1,A2=1时,=0,单片机输出写信号,访问控制寄存器,将方式控制字10001001通过单片机的P0口与8255A的D0-D7数据口送给8255的控制字寄存器。由图5-3的连接方式知控制字寄存器地址为:0111 1111 1111 1111,即0x7FFF,向该地址写入控制字即可。当P2.5、P2.6都输出低电平时,A1=0,A2=0时,=0,单片机输出写信号,访问端口A,将位选码送出,选中要显示的位,即端口A地址为:0001 1111 1111 1111=0x1FFF,向该地址写入位选码即可。然后将P2.5=0,P2.6=1,即A1=0,A2=1,=0,单片机输出写信号,访问端口B,将段选码送出,保持几毫秒的延时,使LED显示。即端口C地址为:0101 1111 1111 1111=0x5FFF,向该地址写入段选码即可。显示程序如下:/*定义8255A字符型字位口*/#define DIGPORT XBYTE0x1FFF/PA口地址,位选码地址#define WORDPORT XBYTE0X3FFF/PB口地址,段选码地址#define CCOM XBYTE0X7FFFF/控制字寄存器地址#define KPORT XBYTE0X5FFF/PC口,键盘扫描地址void display(void) uchar i; /显示缓冲区首址 uchar delay; /显示延时 uchar disp; /显示内容 uchar digit; /定义数码管显示位 digit=0x08; for(i=0;i100) disp=BUFFERi%10+10; else disp=BUFFERi%10; DIGPORT=digit; WORDPORT=TABLEdisp; for(delay=0;delay1; disp=BUFFERi/10; DIGPORT=digit; WORDPORT=TABLEdisp; for(delay=0;delay1; 第五章 其他硬件电路设计上水、电加热、报警电路属于大功率驱动电路,需用开关控制外部电源的关断。水位显示是简单的三极管驱动电路。电源电路微单片机的主电路及部分驱动开关提供电源。本章对这些综合介绍。5.1 上水电磁阀、电加热、报警等驱动电路上水电磁阀、电加热开关、水位显示、报警开关等驱动电路均采用9013三极管进行放大驱动,如图6-1所示。5.1.1 上水控制电路由单片机P1.1口的输出来控制上水电磁阀。单片机P1.1口通过一个2.2K的电阻接9013三极管的基极,9013的集电极通过一个单刀继电器接正12V电源,9013射极接地。当P1.1输出低电平时,三极管截至,几乎没有电流通过三极管的基极到射极、集电极到射极,即,所以此时流过继电器的电流几乎为0,继电器打开。当P1.1口输出高电平时,三极管9013导通,有较大的饱和电流流过继电器,使其吸合、关闭,从而开启电磁阀。5.1.2 电加热控制电路电加热的继电器采用双开关继电器,一个开关控制电加热器的火线,另一个控制零线。当P1.0输出低电平时,三极管不导通,继电器无电流通过,开关开启,电加热器不工作。当P1.0输出高电平时,三极管导通,继电器有较大电流通过,开关闭合,电加热器开始工作。5.1.3 报警控制电路报警输出三极管的集电极接蜂鸣器,蜂鸣器的另一端接正5伏电源。有P1.2口控制报警电路,当水位超标时P1.口输出高电平报警,不报警时将P1.2口置低电平。5.1.4 水位显示电路水位显示电路由P2.0-P2.4口来控制,其中P2.4口输出高低电平控制水位的显示与否,P2.0-P2.3口输出高低电平控制二极管的亮灭来显示水位。图5-1 主要驱动电路电路图5.2 电源电路对于太阳能用户来讲,最常用、最方便的电源当然是220V的工频交流电源,但太阳能容热水器控制系统需要的是稳定的+5V和+12V电源,所以要为控制系统设计直流电源电路。 由于本设计由+5V和+12V两个不同的电压供电,并且+5V是主电源。变压器分别采用220/8和220/15的变压器,稳压电路分别采用集成稳压器件7805和7812进行稳压。图6-2为系统+5V直流电源的整体图,+12V电源与它基本相同。图6-2 系统直流电源总图结 论本课题设计了一个以89C52单片机为核心配合其他外围电路的太阳能热水器智能控制系统,完成了对太阳能热水器容器内的水位、水温测量、显示;时间显示;缺水时自动上水,水溢报警;手动上水、参数设定;定时水温过低智能电加热等功能模块的设计。1 完成了太阳能热水器水位、水温的测量和显示电路的设计,并作了硬件调试,调试结果较为理想,得到了准确的分档水位测量,和误差较小的温度测量,验证了RC充放电测量电阻的可行性。2 通过对水位、水温的测量监控,实现了自动上水、水溢报警、智能加热等功能。3 完成了用8255A扩展键盘和显示电路的设计,实现了温度时间共六位动态显示,和4个独立键盘输入。4 完成了时钟电路设计,为系统提供了准确的时间显示,显示时、分。并为定时加热提供了时间参考,从而完成自动电加热。5 用键盘实现了手动上水、电加热、参数设置等功能。参考文献参考文献1 胡润青. 蓬勃发展的太阳能热水器产业. 可再生能源.2 袁小平,陈跃. 一种智能型太阳能热水器控制器的研制. 江苏煤炭.3 范延滨,王正彦. 太阳能热水器控制器中测量模型. 电子测量技术,2004,3.4 唐德礼,鲍连升. 太阳能热水器水温水位控制器. 十堰职业技术学院学报,2002,15(4).5 姜志海,黄玉青等. 单片机原理及应用. 电子工业出版社,2005. 113-120.6 刘润华,刘立山. 模拟电子技术. 石油大学出版社,2003. 250-254.7 孙东胜. 新型电热水器控制器的研制:硕士学位论文. 上海:上海交通大学, 20041001.8 欧阳乔. 时钟芯片DS1302的原理及其Proteus仿真设计. 计算机与信息技术,2006,6 .9 周荷琴,吴秀清. 微型计算机原理. 中国科学技术大学出版社,2004. 325-354.10 Sandrine CLAQUIN, Alain CARRIERE, Franqois ROCARIES. Modelling and Application of Adaptive Control to a Gas Heater. The 3rd IEEE Conference on Control Applications(CCA94), Glasgow (U.K) 24-26 August 1994.11 Popovic D, V P Bhatkar. Distributed Computer Control for Industrial Automation. Marcel Dekker Inc, 1992.12 王兆安,黄俊. 电力电子技术. 机械工业出版社,2005.13 Lattice Date Book. LATTICE SEMICON DATEBOOK CORPORATION. 1994.致 谢致 谢在本次课程设计过程中和其他与*老师的接触中,*老师对我们都是悉心教导、躬亲示范,在生活上对我们也是十分关怀,特别是*老师博学的知识、耐心的教诲给了我极大的支持和鼓舞。在即将离开大学的时候,在*老师教诲下度过的这段时光将成为终生受益的经历。在此,对边老师致以衷心的感谢和崇高的敬意,愿边老师学术攀高峰,桃李满天下。在此也特别感谢在毕业设计中给我很大帮助的*等同学。对实验室的其他老师给予的大力支持和指导表示真诚的谢意。附 录附 录附录1 主程序流程图和程序太阳能热水器智能控制系统程序:/定义头文件和各个输入管脚以及变量声明#include #include #include #include #define uint unsigned int/定义变量类型名#define uchar unsigned char/*定义8255a字符型字位口*/#define DIGPORT XBYTE0x1FFF/PA口地址,位选码地址#define WORDPORT XBYTE0X3FFF/PB口地址,断选码地址#define CCOM XBYTE0X7FFFF/控制字寄存器地址#define KPORT XBYTE0X5FFF/PC口,键盘扫描地址/DS1302_RST=1/定义DS1302时钟芯片引脚操作#define Set_DS1302_RST DS1302_RST=1/DS1302_RST=0#define Clr_DS1302_RST DS1302_RST=0/DS1302_SDA=1#define Set_DS1302_SDA DS1302_SDA=1 /DS1302_SDA=0#define Clr_DS1302_SDA DS1302_SDA=0/DS1302_SCLK=1#define Set_DS1302_SCLK DS1302_SCLK=1/DS1302_SCLK=0#define Clr_DS1302_SCLK DS1302_SCLK=0/定义读时间控制字#define DS1302_SEC_Reg 0x80#define DS1302_MIN_Reg 0x82#define DS1302_HR_Reg 0x84#define DS1302_DATE_Reg 0x86#define DS1302_MONTH_Reg 0x88#define DS1302_DAY_Reg 0x8a#define DS1302_YEAR_Reg 0x8c#define DS1302_CONTROL_Reg 0x8e#define DS1302_CHARGER_Reg 0x90#define DS1302_CLKBURST_Reg 0xbe /全局变量 /为了方便,我把个位和十位分开了ucha
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网球教练年终总结
- 给水项目环境影响评估与应对方案
- 2025年如何制作考试题库及答案
- 2025年宜宾小学面试题库及答案
- 三年级学生安全课件下载
- 面向产出导向的高职旅游英语课程创新研究
- 工业园区土地开发利用方案
- 消防安全教育公益课件
- 2026届重庆市十一中、七中等七校高二化学第一学期期末学业质量监测试题含答案
- 生产线生产效率提升方案
- 病理切片制作技术-课件
- 2023版思想道德与法治专题1 担当复兴大任 成就时代新人
- 某县接受省义务教育质量监测的情况反馈报告
- GB/T 6074-1995板式链、端接头及槽轮
- GB/T 13871.1-2007密封元件为弹性体材料的旋转轴唇形密封圈第1部分:基本尺寸和公差
- 小学英语逆向教学设计策划课件
- 食品原料、食品添加剂、食品相关产品进货查验记录台账
- 洁净车间管理培训课件
- 荣誉证书模板范例可修改
- 糖尿病治疗-三重奏到八重奏课件
- 初中数学华东师大版九年级上册第二十四章解直角三角形241测量-【学案】241测量
评论
0/150
提交评论