单片机水温控制电路设计_第1页
单片机水温控制电路设计_第2页
单片机水温控制电路设计_第3页
单片机水温控制电路设计_第4页
单片机水温控制电路设计_第5页
已阅读5页,还剩64页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 单片机水温控制电路设计序言无论是工业控制领域还是消费电子领域,温度控制的应用都非常广泛,如工业控制中的锅炉、加热炉的控制,消费电子领域的热水器、饮水机的控制,内部都涉及到温度控制1。传统靠人工控制的温度、湿度、液位等信号的测压力控系统,外围电路比较复杂,测量精度较低,分辨力不高,需进行温度校准(非线性校准、温度补偿、传感器标定等);且它们的体积较大、使用不够方便。随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生产的自动控制系统开始进入了人们的生活,以单片机为核心的温度采集系统就是其中之一2。采用MCS-51单片机对温度进行控制,不仅具有控制方便、简单和灵活等优点,而且可以大

2、幅度提高温度控制的技术指标。本文正是介绍一个基于单片机的水温控制电路来控制电炉内的水温。水温控制在工业及日常生活中应用广泛,分类较多,不同水温控制系统的控制方法也不尽相同,其中以PID控制法最为常见,但是,常规调节三个参数的整定一般需要经验丰富的工程技术人员来完成,步骤繁琐复杂,既耗时又耗力.而且当对象特征变化时,又要重新整定,并且在现代工业控制过程中,许多被控对象机理复杂,这种情况下,采用常规PID调节器,三个参数的整定比较困难,为此本文提出了采用归一参数整定法,即只整定一个参数,这样减少了许多工作量,提高了工作效率,为实现简易的自整定控制带来方便3。 本设计单片机控制部分采用AT89C51

3、单片机为核心,采用软件编程,实现用PID算法来控制PWM波的产生,进而控制电炉的加热来实现温度控制。适用于环境参数经常变化的小型水温控制电路。设计中使用7407同相器作为数码管和固态继电器的驱动。 第一章 设计任务1.1功能1.总的工作功能 本设计的任务是:用电炉对水加热,基于单片机设计一个电炉水加热控制电路。要求显示实际温度和门限温度,并且要求门限水温可以由人工通过键盘来设定。电路可以通过对实际温度和门限温度的差值的处理来控制继电器进而控制电炉的开关,从而对水温进行控制,使水温保持在一定温度上。2.各部分的功能(1)电炉 接上220V 交流电,由继电器控制其开关,对水进行加热。(2)传感器

4、对水温进行实时检测,输出温度信号给单片机。(3)单片机基本系统 a.要采集温度传感器传过来的信号,进行相应的处理,送往显示部分;b.接受键盘输入的信号,进行相应的处理,送往显示部分; c.根据实测温度和设定温度的比较,进行相应的处理,给出控制信号。控制继电器开关,从而控制电炉开关。显示 由六个七段数码管以及数码管的驱动电路组成,三位数码管显示出测量结果,三位数码管显示出限定温度。按键键入门限值。 (6)报警电路 当按键输入的温度在软件所限制的范围之外时,报警电路报警。继电器 接受单片机传来的信号,通过其驱动,然后作出相应的操作来控制电炉工作与否。相当于一个由单片机控制的开关。1.2 技术指标

5、1门限温度可以在4090之间设定; 2可以通过用键盘人工设定门限温度; 3用数码管显示设定温度和实际温度。第二章 设计思路2.1 总体设计此设计一个基于单片机的水温控制电路,需要完成的功能是温度的设定、检测与显示以及的温度的控制和报警等。当温度小于设定温度时电炉工作,当温度大于设定温度时电炉不工作。(1)软、硬件功能划分4 在绝大多数单片机应用电路中,电路功能的软、硬件划分往往是由应用电路对控制速度的要求决定的,在没有速度限制的情况下可以考录以软件换取硬件电路的简化,以求降低硬件成本。速度估算 在不考虑容器热容量和环境温度影响的情况下,水温上升1所需的时间达到秒,如果考虑容器热容量和环境温度的

6、影响,时间可能更长。由此可见,对于指令执行时间一般为几个微妙的单片机应用电路来说,控制速度几乎没有热核限制。软、硬件功能划分为了简化华电路硬、 降低硬件成本、提高电路灵活性和可靠性,有关PID运算,输入信号滤波及大部分控制过程都可由软件来完成,硬件的主要功能是温度信号的传感,设定值的键入,数值的显示及输出信号的转换。2.2 简述首先,要选择一个CPU控制芯片。由于电路控制方案简单,在运行过程中需要存放的中间变量只有给定温度、实测温度、PI运算中间结果及输出结果等十几个变量,因此选用AT89C51微控制器作为电路的核心,由于AT89C51的片内RAM已能满足存放要求,可不必再扩充外部RAM4。其

7、次,要选择一个温度敏感元件,它能够很灵敏的根据温度变化输出一定的信号。这样的器件种类很多,本设计选用的数字式集成温度传感器DS18B20。这是由于本设计中单片机除了要完成数据采集、处理、控制和显示任务外,还要完成按键值得采集、处理。如果用常规的数字加模拟电路实现就会相对困难一些。DS18B20是DALLAS半导体公司(现属MAXIM公司)设计生产的单总线数字温度传感器,其测量温度范围为55125,在-10+85时精度为0.5,这个精度已可以满足普通型的环境温度控制或测温类消费产品的要求。这个传感器最大的特点就是能够从一根总线直接输出二进制的温度信号,不需要A/D转换和信号放大。这样的选择使得整

8、个电路的硬件设计更为简化,节省了单片机的资源 5 。再次,设计显示部分、按键部分和报警。显示部分的设计考虑到在软件设计过程中实际温度和设定温度之间会有影响,本设计采用实际温度和门限温度单独显示,各用一组I/O口。选用的是两组共阴极数码管,采用一块同相器74LS07集成块来驱动。动态扫描显示。按键部分的设计考虑到单片机I/O资源不足的缘故,本设计采用三个按键分别用来设定门限值十位、个位和一位小数位。报警部分就是当设定的门限温度在4090之外,就要报警,用一个发光二极管表示。最后,控制部分的设计,这一部分主要就是继电器的选择。本设计选择的是固态继电器。固态继电器(Solid state Relay

9、-SSR)是近几年发展起来的一种新型电子继电器,其输入控制电流小,容易驱动,其输出利用晶体管或可控硅驱动,无触点。与普通的电磁式继电器和磁力开关相比,具有无机械噪声、无抖动和回跳、开关速度快、体积小质量轻、寿命长、工作可靠等特点,并且耐冲击、抗潮湿、抗腐蚀,因此在单片机测控等领域中6。本设计采用同相器74LS07集成块来驱动固态继电器。另外在选择继电器时还要注意它的供电电压和带负载能力。本设计中继电器是由单片机控制的所以它的供电电压选择5V直流电。继电器所带的负载为一个额定功率300W,接220V交流电的电炉。所以继电器的要选用交流型(AC-SSR),耐压在220V以上,电流为1.5A以上。本

10、设计选用的是5V供电,2A 250VAC的固态继电器。2.3设计框图 1.设计过程框图如图2-1软件各模块设计、修改硬件各部分设计、修改软硬件划分查资料整体工作电路设计结束软硬件的联调图2-1 设计过程框图2.电路框图如图2-2 键盘 报警电路 显示电路 单片机基本系统 继电器传感器 电炉图 2-2 水温控制电路总体框图第三章 理论设计3.1 控制部分的设计3.1.1 AT89C51单片机的结构7 一.AT89C51结构框图 AT89C51内部结构框图如图3-1内部中断中断控制 外部中断 CPU OSC ALE 程序存贮器4K字节 ROM总线控制 P0 P1 P2 P3 数据存贮器128字节

11、RAM 48 I/O口TXD RXD 串行口外部计数脉冲定时器1定时器0 图3-1 AT89C51内部结构框图图3-2 AT89C51引脚图二.引脚功能说明 AT89C51是双列制插封装形式的器件,其引脚图如图3-2所示。 AT89C51的引脚P00P07、P10P17、P20P27、P30P37为四个8位并行输入/输出口,其中P3口、P0口、P2口为双功能口,可以作为普通输入/输出口(第一功能),也可以作为特殊输入/输出口。RST为复位输入线,ALE、为系统扩展控制线,XTAL1和XTAL2为时钟电路输入/输出线,VCC、VSS为电源输入线,一般接5V和地。3.1.2 AT89C51单片机最

12、小系统最小系统包括单片机的基本供电、时钟电路和复位电路。一.时钟和时钟电路 时钟电路是计算机的心脏,它控制着计算机的工作节奏。AT89C51单片允许的时钟频率的典型值12MHZ,也可以是6MHZ。本设计采用12MHZ。单片机时钟电路图如图3-3 图3-3 单片机时钟电路 图3-10中晶振频率选择12MHZ。接到晶振两端的瓷片电容作用是使振荡器起振和对f 微调补偿,典型值为30PF,本设计中选用20PF瓷片电容。当单片机加电以后延迟约10ms的时间振荡器起振产生时钟,不受软件控制(XTAL2输出幅度为3V左右的正弦波。二.复位和复位电路计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其

13、它部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位引脚是RST,当振荡器起振后,该引脚上出现2个周期的高电平,是器件复位,只要RST保持高电平,单片机保持复位状态。单片机复位方式有二种:上电复位(如图3-4)、人工复位(如图3-5)。 图3-4 上电复位电路 图3-5 上电复位和开关复位注:RST与Vss之间的那个电阻在NMOS型单片机种需要接,但是在CMOS型单片机中不接。其中电容一般为10UF的电解电容。三.AT89C51单片机最小系统连接原理图 本设计的AT89C51单片机最小系统原理图。如图3-6图3-6 AT89C51最小系统连接原理图3.2 显示部分的设计 LED显

14、示器接口原理6 LED(Light Emitting Diode)是发光二极管的缩写。LED显示器是由发光二极管构成的。LED显示器在单片机中的应用非常普遍。LED显示器的结构(a) 外形 (b)共阳极 (c)共阴极图3-7 七段发光显示器的结构 常用的LED显示器为8段(或7段,8段比7段多了一个小数点“dip”段)。每一个段对应一个发光二极管。这种显示器有共阴极和共阳极两种,如图3-7所示。共阴极LED显示器的发光二极管的阴极连结在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的发光二极管的阳极连结在一起,通常此公共阳极

15、接正电压,当某个发光二极管的阳极为低电平时,发光二极管点亮,相应的段被显示11。为了使LED显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可使LED相应的段发光,从而显示不同的字型,因此该代码称之为段码(或字型码)。7段发光二极管,再加上一个小数点位,共计8段。因此提供给LED显示器的字型码正好是一个字节。各段与字节中的各位对应的关系如表3-1。表3-1 显示段与代码位的对应关系表代码位D7D6D5D4D3D2D1D0显示段dipgfedcba按照表3-1格式,8段LED显示器的字型码如表3-2所示。表3-2 8段LED显示器部分字型码显

16、示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03FHC0H67DH82H106HF9H707HF8H25BHA4H87FH80H34FHB0H96FH90H466H99H“灭”00H88H56DH92H注:段码是相对的,它由个字段在字节中所处的位决定。应根据实际情况确定,以上表格用来参考。二.LED显示器工作原理 LED显示器有静态显示和动态显示两种显示方式。 1.LED静态显示方式7所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。这种显示方式的每一个8段显示器需要一个8位输出口控制。如图3-8用AT89C51单片机控制LED静态显示方式接口3.3K排阻

17、AT89C51单片机图3-8 用AT89C51单片机控制LED静态显示方式接口 2.LED动态显示方式所谓的动态显示,就是一位一位地轮流点亮各位显示器(扫描)。在多位LED显示时,为简化硬件电路,节省I/O口资源,通常将所有位的段码线相应的并联在一起,由一个8位I/O口控制,而各位的共阳极或共阴极分别由相应的I/O线控制,形成各位的分时选通。如图3-9用AT89C51单片机控制LED动态显示方式接口。图3-9用AT89C51单片机控制LED动态显示方式接口图3-10 集成块7407的内部结构图其中7407是同相器集成块,其内部结构如图3-10,它是用来驱动共阴极数码管的。 在使用动态显示电路的

18、时候,由于各位的段码线并联,8位I/O口输出的段码对各个显示位来说都是相同的。因此,要在同一时刻,如果各位的位选线都处于选通状态的话,那两位LED将显示相同的字符。若要各位LED能够同时显示出与本位相应的显示字符,就必须采用动态显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应位要显示的字符的段码。这样,在同一时刻2位LED中只有选通的那一位显示出字符,而其它的LED则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态。也就是说在同一时刻只有选通位才能显示出相应的字符,而其它位是熄灭的。如此循环下去就可以使各位显示出将要显示的

19、字符。虽然这些字符是不在同一时刻出现的,但由于LED显示器的余辉和人眼的“视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮”的假象,达到同时显示的效果。这是用软件来实现的。下面我就来介绍一下LED显示器动态显示的软件子程序清单(以图3-9共阴极2位LED显示器为例):见附录四(本设计就是采用这种方式显示)。3.3 按键部分的设计键盘接口技术8键盘是一组按键组合,它是最常用的单片机输入设备。键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件译码器实现,并产生键编码或键值的称为编码键盘。靠软件识别的称为非编码键盘。本设计使用非编码键盘,下面主要介绍非编码键盘的原理、接口技术和

20、程序设计。一.键盘工作原理键盘中每个按键都是一个常开开关电路,如图3-11所示。图3-11 按键电路当按键K未被按下时,P3.1输入高线平;当K闭合时,P3.1输入低电平。通常按键所用的开关为机械弹性开关,当机械触点端来、闭合时,电压信号波形如图3-12所示。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,如图3-12所示。抖动的时间的长短由按键的机械特性决定,一般为510ms。按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒。按键抖动会引起一次按键被误读多次。为确保CPU对按键的一次闭合

21、仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别键号;当键释放稳定后,再做处理。按键的抖动,可用硬件或软件两种方法消除。本设计使用的是软件。图3-12 键按下和释放时的电压波形如果按键较多,常用软件方法去抖动,及检测出键闭合后执行一个延时程序,产生510ms的延时;让前沿抖动消失后,再一次检测按键的状态,如果仍保持闭合状态电平则确定真正有键按下。当检测到按键释放后,也要经过510ms的延时,待后沿抖动消失后,才能转入该键的处理程序。二.独立式按键图3-13 独立式键盘键盘可分为独立连接式和行列式(矩阵式)两类,本设计使用的是独立连接式,所以这里只介绍独立连接式。独立式按

22、键是指各按键相互独立地接通一条输入数据线,如图3-13所示。这是最简单的键盘结构,该电路为查询方式电路。当任何一个键按下时,与之相连的输入数据线即被清0(低电平),而平时该线为1(高电平)。要判别是否有键按下,用单片机的位处理指令十分方便。下面列出以图3-13为例的按键子程序:见附录五。3.4前向通道的设计3.4.1 数字温度传感器DS18B20的发展 美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 一线总线接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻

23、松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。目前DS18B20批量采购价格仅10元左右。3.4.2 DS18B20的主要特性9(1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一

24、只三极管的集成电路内。(5)温度范围55125,在-10+85时精度为0.5。(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(8)测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 3.4.3 DS18B20的外形、内部结构及引脚定义一.DS18B20的外形及管脚排列。如图3-1

25、4所示图3-14 DS18B20的外形及管脚排列 二.DS18B20的内部结构。如图3-15所示图3-15 DS18B20的内部结构图三.DS18B20引脚定义: (1)DQ为数字信号输入/输出端; (2)GND为电源地线; (3)VDD为外界供电电源输入端(在寄生电源接线方式时接地)。3.4.4 DS18B20工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图3-16所示。 计数器1加1低温系数晶振振 停止0 计数器2高温系数晶振温度寄存器0LSB置位/清除斜率累加器

26、 预置比较 预置 图3-16 DS18B20测温原理 图3-16中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3-3中的斜率累加器用于补偿和修正测温过程中

27、的非线性,其输出用于修正计数器1的预置值9。一.DS18B20有4个主要的数据部件: (1) 光刻ROM中的64位序列号是出厂前被光刻好的,他可以看作是该DS18B20的地址序列码。64为光刻ROM的排列是:开始八位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 (2) DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LS

28、B形式表达,其中S为符号位。DS18B20温度值格式表如表3-3所示表3-3:DS18B20温度值格式表LS Bytebit7bit6bit5bit4bit3bit2bit1bit0232221202-12-22-32-4BS Bytebit15bit14bit13bit12bit11bit10bit9bit8SSSSS262524 这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得

29、到实际温度。例如:125的数字输出为07D0H, 25.0625的数字输出为0191H, 25.0625 的数字输出为FF6FH,55 的数字输出为FC90H。如实际温度值十进制与传感器输出二进制、十六进制对应表3-4所示表3-4 实际温度值十进制与传感器输出二进制、十六进制对应表TemperatureDigital Output(Binary)Digital Output (Hex)1250000 0111 1101 000007D0H850000 0101 0101 00000550H25.06250000 0001 1001 00010191H10.1250000 0000 1010 0

30、01000A2H0.50000 0000 0000 10000008H00000 0000 0000 00000000H0.5 1111 1111 1111 1000FFF8H10.125 1111 1111 0101 1110FF5EH25.06251111 1110 0110 1111FF6FH55 1111 1100 1001 0000FC90H注:The power-on reset value of the temperature register is 85(3)DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E

31、EPRAM,后者存放高温度和第温度触发器TH、TL和结构寄存器。(4)配置寄存器该字节各位的意义如表3-5所示:表3-5 :配置寄存器结构TMR1R011111低5位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如表3-6所示:(DS18B20出厂时被设置为12位)表3-6:温度分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms二. 高速暂存存储器 高速暂存存储器由9个字节组成,其分配如表3-7所示。当温度

32、转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表3-4是对应的一部分温度值。第九个字节是冗余检验字节。表3-7:DS18B20暂存寄存器分布寄存器内容字节地址温度值低位(LS Byte)0温度值高位(BS Byte)1高温限值(TH)2低温限值(TL)3配置寄存器4保留5保留6保留7CRC校验值8 根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度

33、转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。如表3-8 ROM指令表(a)、RAM指令表(b)表3-8:(a) ROM指令表指令约定代码功能读ROM33H读DS18B20温度传感器ROM中的编码(即64位地址)。符合ROM55H发出此命令之后,接着发出64位ROM编码,访问但总线上与该编码相对应的DS18B20使之作出

34、响应,为下一步对该DS18B20的读写作准备。搜索ROM0F0H用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址。为操作个器件做好准备。跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发温度变换指令命令。适用于单片机工作。告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。表3-8:(b) RAM指令表指令约定代码功能温度变换33H启动DS18B20进行温度转换,12位抓换时间最长为750ms(9位为93.75 ms)。结果存入9字节RAM中。 读暂存器55H读内部RAM中9字节的内容。写暂存器0F0H发出向内部RAM的3、4字节写上、下限温度

35、数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器0CCH将RAM中内容恢复到RAM中的第3、4字节。重调EEPROM0ECH将EEPROM中内容恢复到RAM中的第3、4字节。读供电方式0B4H读DS18B20的供电模式。寄生供电时DS18B20发送“0”,外界电源供电DS18B20发送“1”。三.DS18B20的应用电路 DS18B20测温系统具有测温系统简单、测温精度高、廉洁方便、占用口线少等优点。下面就是DS18B20几个不同应用方式下的测温电路图:1.DS18B20寄生电源供电方式电路图 如下图3-17所示,在寄生电源供电方式下,DS18B20从单总线信号线上汲取能量:在信号线D

36、Q处于高电平器件把能量储存到内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给节省电源(电容)充电。 独特的寄生电源方式有三个好处:进行远距离测温时,无须本地电源;可以在没有常规电源的条件下读取ROM;电路更加简洁,仅适用一个I/O口实现测温。 要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,图3-4电路只适应于单一温度传感器测温情况下使用,不是

37、一待用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。 注:此电路当VCC低于4.5V时,测出的温度值比实际的温度高,误差较大。当电源电压降为4V时,温度误差有3之多,应该是因为寄生电源汲取能量不够造成的,建议在开发测温系统是不要使用此电路。图3-17 DS18B20寄生电源供电方式电路图 2.DS18B20寄生电源强上拉供电方式电路图 改进的寄生电源供电方式如下面图3-18所示,为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的

38、电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10S内把I/O线转换到强上拉状态。在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。图3-18 DS18B20寄生电源强上拉供电方式电路图 注意:在图3-17和图3-18寄生电源供电方式中,DS18B20的VDD引脚必须接地。3.DS18B20的外部电源供电方式外部电源供电方式如下图3-19所示,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,也是本设计选用的一种DS18B20工作方式,此方式可以保证转换精度,同时

39、在总线上理论可以挂接任意多个DS18B20传感器如下图3-20所示,组成多点测温系统。图3-19 DS18B20的外部电源供电方式注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85。图3-20:外部供电方式的多点测温电路图 外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。站长推荐大家在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根VCC引线。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度

40、量精度。四.本设计中DS1820使用中注意事项14DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意一些问题,下面列出本设计中使用DS18B20应注意的问题:连接DS18B20的总线电缆是由长度限制的。当采用普通型号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。在DS18B2

41、0测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。由于本设计要求不高,所以只采用了简单的电源线。DS18B20温度检测子程序:见附录六3.5 后向通道的设计为了实现水温的PID控制,电路的输出不能是一个简单的开关量,输入电炉的功率必须连续可调。一般来说改变输入电炉的电压平均值就可以改变电炉的输出功

42、率,而较简单的调压方法有相位控制调压和通断控制调压法。本设计采用的脉宽调制输出控制电炉与电源的接通和断开的比例,以通断控制调压法控制电炉的输入功率。这种方法不仅十输出通道省去了D/A转换器和移向触发电路,大大简化了硬件系统4。在后向通道的控制中,一般采用继电器、可控硅等开关器件。继电器又有电磁继电器和固态继电器之分。一些常用的小型电磁继电器,由于受电流大小的限制,只能控制功率较小的负载。在实际的工程项目设计中,由于继电器控制的负载多为感性或容性负载(比如本设计中的电炉就是感性负载),如果电磁隔离不好,这些负载所产生的高次谐波信号便会串进单片机控制电路产生各种干扰。这种干扰信号往往会导致系统的可

43、靠性降低,具体表现有系统死机、CPU反复复位、控制失灵等,也就是常说的“程序的跑飞”。因此对于大功率负载的控制,信号的隔离是电路设计中的一个非常重要的环节。我们可以采用光耦对电路进行隔离。由于电磁继电器启动瞬间会产生电磁火花干扰,所以在实际应用中如本设计类似的控制一般都选用固态继电器SSR10。下面我就重点介绍一下固态继电器。 固态继电器6固态继电器(Solid state Relay-SSR)是近几年发展起来的一种新型电子继电器,其输入控制电流小,用TTL、HTL、CMOS等集成电路或加简单的辅助电路就可直接驱动,因此适宜于单片机测控系统中作为输出通道的控制元件;其输出利用晶体管或可控硅驱动

44、,无触点。与普通的电磁式继电器和磁力开关相比,具有无机械噪声、无抖动和回跳、开关速度快、体积小质量轻、寿命长、工作可靠等特点,并且耐冲击、抗潮湿、抗腐蚀,因此在单片机测控等领域中,已逐渐取代传统的电磁式继电器和磁力开关作为开关量输出控制元件。一.固态继电器的主要特性(1) 功率小:由于其输入采用的是光电耦合器,其驱动电流仅需几毫安便能可靠地控制,所以可以直接用TTL、HTL、CMOS等集成驱动电路控制。(2) 高可靠性:由于其结构上无可动接触不见,且采用全塑密闭式封装,所以SSR开关时无抖动和回跳现象,无机械噪声,同时能耐潮、耐振、耐腐蚀;由于无触点火花,可用在有依然易爆介质的场合。(3) 低

45、电磁噪声:交流型SSR在采用了过零触发技术后,电路具有零电压开启、零电流关断的特性,可使对外界和本系统的射频干扰减低到最低程度。(4) 能承受的浪涌电流大:其数值可为SSR额定值的610倍。(5) 对县原电压适应能力强:交流型SSR的负载电源电压可以在30220V范围内任选。(6) 抗干扰能力强:由于输入与输出之间采用了光电隔离,割断了两者的电气联系,避免了输出功率负载电路对输入电路的影响。另外,又在输出端附加了干扰抑制网络,有效地抑制了线路中的dv/di和di/dt的影响。二.固态继电器的分类 固态继电器是一种四端器件,两端输入,两端输出。他们之间用光电耦合器隔离。(1) 以负载电源类型分类

46、:可分为直流型(DC-SSR)和交流型(AC-SSR)两种。直流型是用功率晶体管做开关器件;交流型则用双向晶闸管做开关器件,分别用来接通和断开直流或交流负载电源。(2) 以开关触点形式分类:可分为长开式和常闭式。目前市场上以常开式为多。图3-21 触点控制(3) 以控制触发信号的形式分类:可分为过零型。他们的区别在于负载交流电流导通的条件。非过零型在输入信号时,不管负载电源电压相位如何,负载端立即导通。而过零型必须在负载电源电压接近零且控制信号有效时,输出端负载电源才导通。其关断向晶闸管的负载电流为零时,SSR关断。三.固态继电器的典型应用 1.输入端的驱动 (1)触点控制最基本的驱动触点控制

47、,见图3-21。 (2)TTL驱动SSR,见图3-22。 (3)CMOS驱动SSR,见图3-23。图3-23 CMOS驱动SSR图3-22 TTL驱动SSR2.输出端驱动负载(1)DCSSR驱动大功率负载,见图3-24。(2)DCSSR驱动大功率高压负载,见图3-25。图3-25 DCSSR驱动大功率高压负载图3-24 DCSSR驱动大功率负载 本设计固态继电器的选择与应用10图3-26 固态继电器控制电路由于固态继电器的输出采用的光电耦合器对信号进行了隔离,本设计无需再接光电耦合器了。接口驱动本设计使用的是集成块7407(在3.1处略有介绍)。具体连接如图3-26所示。本设计中继电器是由单片

48、机控制的所以它的供电电压选择5V直流电。继电器所带的负载为一个额定功率300W,接220V交流电的电炉。所以继电器的要选用交流型(AC-SSR),耐压在220V以上,电流为1.5A以上。本设计选用的是5V供电,2A 250VAC的固态继电器。 后向通道中单片机对继电器的控制方案的确定4 由于水温控制电路的控制对象具有热贮存能力大,惯性也较大的特点,水在容器内的流动或热量传递都存在一定的阻力,因而可以归于具有纯滞后的一阶大惯性环节。一般来说,热过程大多具有较大的滞后,他对热核信号的响应都回推迟一些时间使输出与输入之间产生相移。对于这样一些存在大的滞后特性的过渡过程控制,一般可采用以下几种控制方案

49、4:输出开关量控制 对于惯性较大的过程可简单地采用输出开关量控制的方法,这种方法通过比较给定值与被控参数的偏差来控制输出的状态:开通或关断,因此控制过程十分简单也容易实现。但由于输出控制量只有两种状态,使被控参数在两个方向上变化的速率均为最大,因此容易引起反馈回路产生振荡,对自动控制会产生十分不利的影响,甚至会因为输出开关的频繁动作而不能满足系统对控制精度的要求。因此,这种控制方案一般在大惯性系统对控制精度和动态特性要求不高的情况下采用。比例控制(P控制) 比例控制的特点是控制器的输出与偏差成比例,输出量的大小与偏差之间有对应关系。当负荷变化时,抗干扰能力强,过渡过程时间短,但过程终了存在余差

50、。因此它适应于控制通道滞后较小,负荷变化不大、允许被控量在一定范围内变化的系统。应用时还应注意经过一段时间后需要将累计误差消除。比例积分控制(PI控制) 由于比例积分控制的特点是控制器的输出与偏差的积分比例,积分的作用使过渡过程结束时无余差,但系统的稳定性降低。虽然加大比例度可使稳定性提高,但又使过渡过程时间家常。因此,适用于之后较小,负荷变化不大,被控量不允许有余差的控制系统,它是工程上使用最多、应用最广泛的一种控制方法。比例积分加微分控制(PID控制) 比例积分加微分控制的特点是微分的作用使控制器的输出与偏差变化的速度成比例,它对克服对象的容量之后有显著的效果。在比例基础上加入微分作用,使

51、稳定性提高,再加上积分作用,可以消除余差。因此,PID控制适用于负荷变化大、容量滞后较大、控制品质要求有很高的控制系统。 综合本设计任务与要求,我选用最常用的比例积分控制(PI控制),由于是集于单片机实现控制过程,采用这种方法不会增加系统硬件成本。而且采用PI控制在满足电路要求的基础上,在软件编写方面也比PID控制简单很多。3.6硬件的整合与软件设计 硬件的整合11水温控制电路的原理图见附录二 根据原理图,实际水温显示的字型码是由P0口送出,十位、个位和小数位分别由P1.0、P1.1、P1.2选通;设定温度显示的字型码是由P2口送出,十位、个位和小数位分别由P1.3、P1.4、P1.5选通。按

52、键接在P3.1、P3.2、P3.3,分别控制设定温度的十位、个位和小数位。温度传感器输入到P3.1口,单片机的输出控制信号由P3.5输出。 软件的设计1.主程序流程图12如图3-27所示图3-27 水温控制电路的主流程图2.按键处理子程序流程图2如图3-28所示图3-28 按键处理子程序3.预置温度非法报警程序流程图2如图3-29显示40Y调显示子程序显示90报警Y按键预置温度40?N按键预置温度90?N报警图3-29 预置温度非法报警程序流程图4.输出可采用PWM波,加在电炉上的平均电压与脉宽成正比7、13。PWM流程图(定时中断1子程序1ms定时)如图3-30。否是P-1=0?100?P初

53、值UK置P3.5高(上升沿)T送初值100返回置P3.5低(下降沿)P初值UK图3-30 PWM流程图5.控制系统的数学模型14、15温度控制系统可采用比例积分调节器来校正,按一定采样周期采集r(k)和F(k),其偏差值为 e(k)= r(k)-F(k) ()根据偏差值来计算输出u(k),其对应差分方程为:u(k)= u(k-1)+ a0e(k)- a1e(k-1) ()其中: a0=Kp(1+T/T1) () a1= Kp ()e(k)= r(k)-F(k) ()u(k)为输出 比例积分调节流程图如图3-31所示取温度F(k)取给定温度r(k)e(k)= r(k)F(k),存放在EK单元计算

54、a0e(k)结果存在A0Ek单元Ek1Ek返回Uk1Uk从EK1取出e(k-1)计算a1e(k-1)结果存在A1Ek单元计算uk1+ a0e(k)- a1e(k-1)结果存在Uk将Uk送入PWM单元图3-31 比例积分调节流程图第四章 电路安装和调试4.1 安装和调试工具一.安装工具 1.电烙铁 2.焊锡丝 3.锡枪 4.钳子等二.调试工具 1.电脑2.仿真机3.电源 4.MF47型万用表 5.焊接工具一套4.2 设计中遇到的问题 在设计按键电路的时候我最初的想法是用矩阵键盘,我用到了AT89C51芯片的P3.6、P3.7。经过多次修改程序发现,这两个口都没有反应,后来经过查资料发现,如果将0

55、写入P3.6、P3.7,则CPU不能对外部RAM/IO进行读/写。由于I/O口资源较少所以后来改用独立式键盘电路,并且没有使用P3.6、P3.7口。 在软件程序中加上测温子程序时,原来很稳定的显示变得很闪烁,多次修改扫描时间,不能达到好的效果。经过仔细的分析发现这与测温子程序有关,检测温度的频率和延时会影响整个电路的稳定性,这与机器周期有关系,一开始我用的是6MHZ的晶振(机器周期为2um),后来换了一个12MHZ的晶振(机器周期为1um),显示稳定了许多,然后修改了一下显示延时程序,显示稳定。 第五章 本课程设计的拓展通常,以微处理器,单片机为核心的智能仪器工作现场的环境比较恶劣,存在着诸如

56、电网波形畸变及各种电磁干扰,严重时,会使智能仪器正常工作的程序遭到破坏,发生人们习惯称为的“程序跑飞”。这是智能仪器便失去控制,需迅速采取有效措施恢复程序的正常运行。5.1看门狗电路的设计16 采用屏蔽、隔离、去耦、滤波等措施,虽然可以提高智能仪器的抗干扰能力,但这不仅需要增加仪器的成本、增大仪器的体积和复杂性,而且不可能从根本上杜绝智能仪器发生程序跑飞问题。所以需要提出一个充分利用CPU的智能,采用以软件为主、软硬件结合检测程序跑飞的方法,使智能仪器在受严重干扰、发生程序跑飞时能实现自诊断和自恢复运行。下面介绍看门狗电路的具体分析和电路看门狗电路的原理与设计智能仪器一旦接通电源便首先进入复位

57、状态。复位结束后,仪器的CPU便从程序计数器的复位值开始执行初始化程序。初始化程序结束后,系统便进入主程序模块。主程序结构是仪器而定。本设计就是不断从数据采集系统、外设输入信息,按程序规定的方式进行数据处理;得出结果后,一方面输出显示;另一方面向控制执行的I/O口输出一定的控制信息。为及时监视某些外设的变化和定时地做一些诸如扫描键盘显示器,有规律地控制执行器等,往往需要设立一些中断。CPU在接到中断申请后,若中断开发,便中断主程序执行,八主程序中断,中断结束后再返回到主程序执行,如此不断循环。一程序跑飞的表现当仪器遇到某种强的干扰时,可能会影响和破坏程序的正常运行。通常表现为:CPU突然离开监

58、控程序规定的正常顺序杂乱无章地执行一些莫名其妙的指令,显示和输出出错,仪器与系统完全按失控。这种情况是因干扰使CPU执行程序的指挥棒程序计数器(PC)值突然出错所至。实践和经验证明,相对RAM和其它寄存器而言,程序计数器最容易受干扰的影响。RAM区和寄存器某些参数和标志全部或局部被破坏。造成这种情况最主要的可能是PC值破坏后,跑飞程序访问了RAM区和使用了有关寄存器,也可能因干扰非常严重直接破坏了寄存器和RAM区中的数据,通常后一种可能性较少发生。而一旦出现直接破坏RAM数据的强干扰。PC值通常已先遭破坏。全部或某些中断不响应。这种现象通常是CPU在执行中断服务程序时,智能仪器受干扰后使PC值

59、发生突变,越过了开放中断指令和中断返回指令所致。另外,象键盘无法输入,数据采集系统是偶那个等一般也是仪器干扰后PC值出错、程序跑飞所造成的。为了防止智能仪器受到某种强干扰时出现“程序跑飞”的情况,我们可以设计响应的看门狗电路,即采用软、硬件结合检测程序跑飞的方法,使智能仪器在受严重干扰、发生程序跑飞时能实现自诊断和自恢复运行。二看门狗电路的具体设计由于以主动方式从电源、信号传输通道、I/O口能产生电磁耦合的任何空间方向检测各种干扰将是极端复杂和困难的;即使能测出来也难以计算它们对智能一般与系统的实际影响。因此,我们可以采用被动方式即检测智能仪器与系统干扰的情况。其原理是,若程序一直正常运行,R

60、AM单元未遭破坏,即使仪器受到很大的干扰,也照样不闻不问;但当干扰一旦破坏了程序的正常运行,通过软硬件相结合的办法就能立即发现程序已经跑飞。进而由CPU作一系列故障检测和分析判断,然后自动在合适的地址上迅速恢复程序的正常运行。根据上面的思路,我们采用一片双可再触发单稳态多谢震荡器74LS123、一片四2输入或门7432、一片四2输入或非门7402及机制电阻电容来组成这个电路。该电路如图5-1所示。74123的真值表如表5-1所示。该电路的原理图如下:图5-1 看门狗电路U4:B的清零端CLR和正触发端B接高电平,因此整个电路的输出完全取决于负触发端A输入状态和Cx、Rx的数值。在CPU上电复位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论