基于单片机的水温控制电路设计(含程序-中英文翻译).doc
《基于单片机的水温控制电路设计(含程序-中英文翻译).doc》由会员分享,可在线阅读,更多相关《基于单片机的水温控制电路设计(含程序-中英文翻译).doc(71页珍藏版)》请在咨信网上搜索。
基于单片机的水温控制电路设计 序言 无论是工业控制领域还是消费电子领域,温度控制的应用都非常广泛,如工业控制中的锅炉、加热炉的控制,消费电子领域的热水器、饮水机的控制,内部都涉及到温度控制[1]。 传统靠人工控制的温度、湿度、液位等信号的测压﹑力控系统,外围电路比较复杂,测量精度较低,分辨力不高,需进行温度校准(非线性校准、温度补偿、传感器标定等);且它们的体积较大、使用不够方便。随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生产的自动控制系统开始进入了人们的生活,以单片机为核心的温度采集系统就是其中之一[2]。采用MCS-51单片机对温度进行控制,不仅具有控制方便、简单和灵活等优点,而且可以大幅度提高温度控制的技术指标。本文正是介绍一个基于单片机的水温控制电路来控制电炉内的水温。 水温控制在工业及日常生活中应用广泛,分类较多,不同水温控制系统的控制方法也不尽相同,其中以PID控制法最为常见,但是,常规调节三个参数的整定一般需要经验丰富的工程技术人员来完成,步骤繁琐复杂,既耗时又耗力.而且当对象特征变化时,又要重新整定,并且在现代工业控制过程中,许多被控对象机理复杂,这种情况下,采用常规PID调节器,三个参数的整定比较困难,为此本文提出了采用归一参数整定法,即只整定一个参数,这样减少了许多工作量,提高了工作效率,为实现简易的自整定控制带来方便[3]。 本设计单片机控制部分采用AT89C51单片机为核心,采用软件编程,实现用PID算法来控制PWM波的产生,进而控制电炉的加热来实现温度控制。适用于环境参数经常变化的小型水温控制电路。设计中使用7407同相器作为数码管和固态继电器的驱动。 第一章 设计任务 1.1功能 1.总的工作功能 本设计的任务是:用电炉对水加热,基于单片机设计一个电炉水加热控制电路。要求显示实际温度和门限温度,并且要求门限水温可以由人工通过键盘来设定。电路可以通过对实际温度和门限温度的差值的处理来控制继电器进而控制电炉的开关,从而对水温进行控制,使水温保持在一定温度上。 2.各部分的功能 (1)电炉 接上220V 交流电,由继电器控制其开关,对水进行加热。 (2)传感器 对水温进行实时检测,输出温度信号给单片机。 (3)单片机基本系统 a.要采集温度传感器传过来的信号,进行相应的处理,送往显示部分; b.接受键盘输入的信号,进行相应的处理,送往显示部分; c.根据实测温度和设定温度的比较,进行相应的处理,给出控制信号。控制继电器开关,从而控制电炉开关。 (4) 显示 由六个七段数码管以及数码管的驱动电路组成,三位数码管显示出测量结果,三位数码管显示出限定温度。 (5) 按键 键入门限值。 (6)报警电路 当按键输入的温度在软件所限制的范围之外时,报警电路报警。 (7) 继电器 接受单片机传来的信号,通过其驱动,然后作出相应的操作来控制电炉工作与否。相当于一个由单片机控制的开关。 1.2 技术指标 1.门限温度可以在40~90℃之间设定; 2.可以通过用键盘人工设定门限温度; 3.用数码管显示设定温度和实际温度。 第二章 设计思路 2.1 总体设计 此设计一个基于单片机的水温控制电路,需要完成的功能是温度的设定、检测与显示以及的温度的控制和报警等。当温度小于设定温度时电炉工作,当温度大于设定温度时电炉不工作。 (1)软、硬件功能划分[4] 在绝大多数单片机应用电路中,电路功能的软、硬件划分往往是由应用电路对控制速度的要求决定的,在没有速度限制的情况下可以考录以软件换取硬件电路的简化,以求降低硬件成本。 a) 速度估算 在不考虑容器热容量和环境温度影响的情况下,水温上升1℃所需的时间达到秒,如果考虑容器热容量和环境温度的影响,时间可能更长。由此可见,对于指令执行时间一般为几个微妙的单片机应用电路来说,控制速度几乎没有热核限制。 b) 软、硬件功能划分 为了简化华电路硬、 降低硬件成本、提高电路灵活性和可靠性,有关PID运算,输入信号滤波及大部分控制过程都可由软件来完成,硬件的主要功能是温度信号的传感,设定值的键入,数值的显示及输出信号的转换。 2.2 简述 首先,要选择一个CPU控制芯片。由于电路控制方案简单,在运行过程中需要存放的中间变量只有给定温度、实测温度、PI运算中间结果及输出结果等十几个变量,因此选用AT89C51微控制器作为电路的核心,由于AT89C51的片内RAM已能满足存放要求,可不必再扩充外部RAM[4]。 其次,要选择一个温度敏感元件,它能够很灵敏的根据温度变化输出一定的信号。这样的器件种类很多,本设计选用的数字式集成温度传感器DS18B20。这是由于本设计中单片机除了要完成数据采集、处理、控制和显示任务外,还要完成按键值得采集、处理。如果用常规的数字加模拟电路实现就会相对困难一些。DS18B20是DALLAS半导体公司(现属MAXIM公司)设计生产的单总线数字温度传感器,其测量温度范围为-55℃~+125℃,在-10~+85℃时精度为±0.5℃,这个精度已可以满足普通型的环境温度控制或测温类消费产品的要求。这个传感器最大的特点就是能够从一根总线直接输出二进制的温度信号,不需要A/D转换和信号放大。这样的选择使得整个电路的硬件设计更为简化,节省了单片机的资源 [5] 。 再次,设计显示部分、按键部分和报警。显示部分的设计考虑到在软件设计过程中实际温度和设定温度之间会有影响,本设计采用实际温度和门限温度单独显示,各用一组I/O口。选用的是两组共阴极数码管,采用一块同相器74LS07集成块来驱动。动态扫描显示。按键部分的设计考虑到单片机I/O资源不足的缘故,本设计采用三个按键分别用来设定门限值十位、个位和一位小数位。报警部分就是当设定的门限温度在40~90℃之外,就要报警,用一个发光二极管表示。 最后,控制部分的设计,这一部分主要就是继电器的选择。本设计选择的是固态继电器。固态继电器(Solid state Relay-SSR)是近几年发展起来的一种新型电子继电器,其输入控制电流小,容易驱动,其输出利用晶体管或可控硅驱动,无触点。与普通的电磁式继电器和磁力开关相比,具有无机械噪声、无抖动和回跳、开关速度快、体积小质量轻、寿命长、工作可靠等特点,并且耐冲击、抗潮湿、抗腐蚀,因此在单片机测控等领域中[6]。本设计采用同相器74LS07集成块来驱动固态继电器。另外在选择继电器时还要注意它的供电电压和带负载能力。本设计中继电器是由单片机控制的所以它的供电电压选择5V直流电。继电器所带的负载为一个额定功率300W,接220V交流电的电炉。所以继电器的要选用交流型(AC-SSR),耐压在220V以上,电流为1.5A以上。本设计选用的是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 E(——)A(——) ALE P(——)S(——)E(——)N(——) 程序存贮器 4K字节 ROM 总线 控制 P0 P1 P2 P3 数据存贮器 128字节 RAM 4×8 I/O口 TXD RXD 串行口 外部计 数脉冲 定时器1 定时器0 图3-1 AT89C51内部结构框图 图3-2 AT89C51引脚图 二.引脚功能说明 AT89C51是双列制插封装形式的器件,其引脚图如图3-2所示。 AT89C51的引脚P00~P07、P10~P17、P20~P27、P30~P37为四个8位并行输入/输出口,其中P3口、P0口、P2口为双功能口,可以作为普通输入/输出口(第一功能),也可以作为特殊输入/输出口。RST为复位输入线,ALE、P(——)S(——)E(——)N(——)、E(——)A(——)为系统扩展控制线,XTAL1和XTAL2为时钟电路输入/输出线,VCC、VSS为电源输入线,一般接+5V和地。 3.1.2 AT89C51单片机最小系统 最小系统包括单片机的基本供电、时钟电路和复位电路。 一.时钟和时钟电路 时钟电路是计算机的心脏,它控制着计算机的工作节奏。AT89C51单片允许的时钟频率的典型值12MHZ,也可以是6MHZ。本设计采用12MHZ。单片机时钟电路图如图3-3 图3-3 单片机时钟电路 图3-10中晶振频率选择12MHZ。接到晶振两端的瓷片电容作用是使振荡器起振和对f 微调补偿,典型值为30PF,本设计中选用20PF瓷片电容。当单片机加电以后延迟约10ms的时间振荡器起振产生时钟,不受软件控制(XTAL2输出幅度为3V左右的正弦波。 二.复位和复位电路 计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位引脚是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 显示部分的设计 3.2.1 LED显示器接口原理[6] LED(Light Emitting Diode)是发光二极管的缩写。LED显示器是由发光二极管构成的。LED显示器在单片机中的应用非常普遍。 一. LED显示器的结构 (a) 外形 (b)共阳极 (c)共阴极 图3-7 七段发光显示器的结构 常用的LED显示器为8段(或7段,8段比7段多了一个小数点“dip”段)。每一个段对应一个发光二极管。这种显示器有共阴极和共阳极两种,如图3-7所示。共阴极LED显示器的发光二极管的阴极连结在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的发光二极管的阳极连结在一起,通常此公共阳极接正电压,当某个发光二极管的阳极为低电平时,发光二极管点亮,相应的段被显示[11]。 为了使LED显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可使LED相应的段发光,从而显示不同的字型,因此该代码称之为段码(或字型码)。 7段发光二极管,再加上一个小数点位,共计8段。因此提供给LED显示器的字型码正好是一个字节。各段与字节中的各位对应的关系如表3-1。 表3-1 显示段与代码位的对应关系表 代码位 D7 D6 D5 D4 D3 D2 D1 D0 显示段 dip g f e d c b a 按照表3-1格式,8段LED显示器的字型码如表3-2所示。 表3-2 8段LED显示器部分字型码 显示字符 共阴极段码 共阳极段码 显示字符 共阴极段码 共阳极段码 0 3FH C0H 6 7DH 82H 1 06H F9H 7 07H F8H 2 5BH A4H 8 7FH 80H 3 4FH B0H 9 6FH 90H 4 66H 99H “灭” 00H 88H 5 6DH 92H … … … 注:段码是相对的,它由个字段在字节中所处的位决定。应根据实际情况确定,以上表格用来参考。 二.LED显示器工作原理 LED显示器有静态显示和动态显示两种显示方式。 1.LED静态显示方式[7] 所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。这种显示方式的每一个8段显示器需要一个8位输出口控制。 如图3-8用AT89C51单片机控制LED静态显示方式接口 3.3K排阻 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,它是用来驱动共阴极数码管的。 在使用动态显示电路的时候,由于各位的段码线并联,8位I/O口输出的段码对各个显示位来说都是相同的。因此,要在同一时刻,如果各位的位选线都处于选通状态的话,那两位LED将显示相同的字符。若要各位LED能够同时显示出与本位相应的显示字符,就必须采用动态显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应位要显示的字符的段码。这样,在同一时刻2位LED中只有选通的那一位显示出字符,而其它的LED则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态。也就是说在同一时刻只有选通位才能显示出相应的字符,而其它位是熄灭的。如此循环下去就可以使各位显示出将要显示的字符。虽然这些字符是不在同一时刻出现的,但由于LED显示器的余辉和人眼的“视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮”的假象,达到同时显示的效果。这是用软件来实现的。下面我就来介绍一下LED显示器动态显示的软件子程序清单(以图3-9共阴极2位LED显示器为例):见附录四(本设计就是采用这种方式显示)。 3.3 按键部分的设计 3.3.1键盘接口技术[8] 键盘是一组按键组合,它是最常用的单片机输入设备。键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件译码器实现,并产生键编码或键值的称为编码键盘。靠软件识别的称为非编码键盘。本设计使用非编码键盘,下面主要介绍非编码键盘的原理、接口技术和程序设计。 一.键盘工作原理 键盘中每个按键都是一个常开开关电路,如图3-11所示。 图3-11 按键电路 当按键K未被按下时,P3.1输入高线平;当K闭合时,P3.1输入低电平。通常按键所用的开关为机械弹性开关,当机械触点端来、闭合时,电压信号波形如图3-12所示。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,如图3-12所示。抖动的时间的长短由按键的机械特性决定,一般为5~10ms。按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒。 按键抖动会引起一次按键被误读多次。为确保CPU对按键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别键号;当键释放稳定后,再做处理。按键的抖动,可用硬件或软件两种方法消除。本设计使用的是软件。 图3-12 键按下和释放时的电压波形 如果按键较多,常用软件方法去抖动,及检测出键闭合后执行一个延时程序,产生5~10ms的延时;让前沿抖动消失后,再一次检测按键的状态,如果仍保持闭合状态电平则确定真正有键按下。当检测到按键释放后,也要经过5~10ms的延时,待后沿抖动消失后,才能转入该键的处理程序。 二.独立式按键 图3-13 独立式键盘 键盘可分为独立连接式和行列式(矩阵式)两类,本设计使用的是独立连接式,所以这里只介绍独立连接式。 独立式按键是指各按键相互独立地接通一条输入数据线,如图3-13所示。这是最简单的键盘结构,该电路为查询方式电路。 当任何一个键按下时,与之相连的输入数据线即被清0(低电平),而平时该线为1(高电平)。要判别是否有键按下,用单片机的位处理指令十分方便。下面列出以图3-13为例的按键子程序:见附录五。 3.4前向通道的设计 3.4.1 数字温度传感器DS18B20的发展 美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 "一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。目前DS18B20批量采购价格仅10元左右。 3.4.2 DS18B20的主要特性[9] (1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 (3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。 (4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 (5)温度范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。 (6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。 (7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。 (8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。 (9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 3.4.3 DS18B20的外形、内部结构及引脚定义 一.DS18B20的外形及管脚排列。如图3-14所示 图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 高温系数晶振 温度寄存器 =0 LSB 置位/清除 斜率累加器 预置 比较 预置 图3-16 DS18B20测温原理 图3-16中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3-3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器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℃/LSB形式表达,其中S为符号位。DS18B20温度值格式表如表3-3所示 表3-3:DS18B20温度值格式表 LS Byte bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 23 22 21 20 2-1 2-2 2-3 2-4 BS Byte bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 S S S S S 26 25 24 这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 例如:+125℃的数字输出为07D0H, +25.0625℃的数字输出为0191H, -25.0625 ℃的数字输出为FF6FH,-55 ℃的数字输出为FC90H。如实际温度值十进制与传感器输出二进制、十六进制对应表3-4所示 表3-4 实际温度值十进制与传感器输出二进制、十六进制对应表 Temperature Digital Output (Binary) Digital Output (Hex) +125℃ 0000 0111 1101 0000 07D0H +85℃ 0000 0101 0101 0000 0550H +25.0625℃ 0000 0001 1001 0001 0191H +10.125℃ 0000 0000 1010 0010 00A2H +0.5℃ 0000 0000 0000 1000 0008H 0℃ 0000 0000 0000 0000 0000H -0.5 ℃ 1111 1111 1111 1000 FFF8H -10.125 ℃ 1111 1111 0101 1110 FF5EH -25.0625℃ 1111 1110 0110 1111 FF6FH -55 ℃ 1111 1100 1001 0000 FC90H 注:The power-on reset value of the temperature register is +85℃ (3)DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和第温度触发器TH、TL和结构寄存器。 (4)配置寄存器 该字节各位的意义如表3-5所示: 表3-5 :配置寄存器结构 TM R1 R0 1 1 1 1 1 低5位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如表3-6所示:(DS18B20出厂时被设置为12位) 表3-6:温度分辨率设置表 R1 R0 分辨率 温度最大转换时间 0 0 9位 93.75ms 0 1 10位 187.5ms 1 0 11位 375ms 1 1 12位 750ms 二. 高速暂存存储器 高速暂存存储器由9个字节组成,其分配如表3-7所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第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 保留 7 CRC校验值 8 根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。如表3-8 ROM指令表(a)、RAM指令表(b) 表3-8:(a) ROM指令表 指令 约定代码 功能 读ROM 33H 读DS18B20温度传感器ROM中的编码(即64位地址)。 符合ROM 55H 发出此命令之后,接着发出64位ROM编码,访问但总线上与该编码相对应的DS18B20使之作出响应,为下一步对该DS18B20的读写作准备。 搜索ROM 0F0H 用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址。为操作个器件做好准备。 跳过ROM 0CCH 忽略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字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存器 0CCH 将RAM中内容恢复到RAM中的第3、4字节。 重调EEPROM 0ECH 将EEPROM中内容恢复到RAM中的第3、4字节。 读供电方式 0B4H 读DS18B20的供电模式。寄生供电时DS18B20发送“0”,外界电源供电DS18B20发送“1”。 三.DS18B20的应用电路 DS18B20测温系统具有测温系统简单、测温精度高、廉洁方便、占用口线少等优点。下面就是DS18B20几个不同应用方式下的测温电路图: [1].DS18B20寄生电源供电方式电路图 如下图3-17所示,在寄生电源供电方式下,DS18B20从单总线信号线上汲取能量:在信号线DQ处于高电平器件把能量储存到内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给节省电源(电容)充电。 独特的寄生电源方式有三个好处: 1) 进行远距离测温时,无须本地电源; 2) 可以在没有常规电源的条件下读取ROM; 3) 电路更加简洁,仅适用一个I/O口实现测温。 要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,图3-4电路只适应于单一温度传感器测温情况下使用,不是一待用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。 注:此电路当VCC低于4.5V时,测出的温度值比实际的温度高,误差较大。当电源电压降为4V时,温度误差有3℃之多,应该是因为寄生电源汲取能量不够造成的,建议在开发测温系统是不要使用此电路。 图3-17 DS18B20寄生电源供电方式电路图 [2].DS18B20寄生电源强上拉供电方式电路图 改进的寄生电源供电方式如下面图3-18所示,为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10μS内把I/O线转换到强上拉状态。在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。 图3-18 DS18B20寄生电源强上拉供电方式电路图 注意:在图3-17和图3-18寄生电源供电方式中,DS18B20的VDD引脚必须接地。 [3].DS18B20的外部电源供电方式 外部电源供电方式如下图3-19所示,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,也是本设计选用的一种DS18B20工作方式,此方式可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器如下图3-20所示,组成多点测温系统。 图3-19 DS18B20的外部电源供电方式 注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85℃。 图3-20:外部供电方式的多点测温电路图 外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。站长推荐大家在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根VCC引线。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。 四.本设计中DS1820使用中注意事项[14] DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意一些问题,下面列出本设计中使用DS18B20应注意的问题: 1) 连接DS18B20的总线电缆是由长度限制的。当采用普通型号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 2) 在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。 测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。由于本设计要求不高,所以只采用了简单的电源线。 DS18B20温度检测子程序:见附录六 3.5 后向通道的设计 为了实现水温的PID控制,电路的输出不能是一个简单的开关量,输入电炉的功率必须连续可调。一般来说改变输入电炉的电压平均值就可以改变电炉的输出功率,而较简单的调压方法有相位控制调压和通断控制调压法。本设计采用的脉宽调制输出控制电炉与电源的接通和断开的比例,以通断控制调压法控制电炉的输入功率。这种方法不仅十输出通道省去了D/A转换器和移向触发电路,大大简化了硬件系统[4]。 在后向通道的控制中,一般采用继电器、可控硅等开关器件。继电器又有电磁继电器和固态继电器之分。一些常用的小型电磁继电器,由于受电流大小的限制,只能控制功率较小的负载。在实际的工程项目设计中,由于继电器控制的负载多为感性或容性负载(比如本设计中的电炉就是感性负载),如果电磁隔离不好,这些负载所产生的高次谐波信号便会串进单片机控制电路产生各种干扰。这种干扰信号往往会导致系统的可靠性降低,具体表现有系统死机、CPU反复复位、控制失灵等,也就是常说的“程序的跑飞”。因此对于大功率负载的控制,信号的隔离是电路设计中的一个非常重要的环节。我们可以采用光耦对电路进行隔离。由于电磁继电器启动瞬间会产生电磁火花干扰,所以在实际应用中如本设计类似的控制一般都选用固态继电器SSR[10]。下面我就重点介绍一下固态继电器。 3.5.1 固态继电器[6] 固态继电器(Solid state Relay-SSR)是近几年发展起来的一种新型电子继电器,其输入控制电流小,用TTL、HTL、CMOS等集成电路或加简单的辅助电路就可直接驱动,因此适宜于单片机测控系统中作为输出通道的控制元件;其输出利用晶体管或可控硅驱动,无触点。与普通的电磁式继电器和磁力开关相比,具有无机械噪声、无抖动和回跳、开关速度快、体积小质量轻、寿命长、工作可靠等特点,并且耐冲击、抗潮湿、抗腐蚀,因此在单片机测控等领域中,已逐渐取代传统的电磁式继电器和磁力开关作为开关量输出控制元件。 一.固态继电器的主要特性 (1) 功率小:由于其输入采用的是光电耦合器,其驱动电流仅需几毫安便能可靠地控制,所以可以直接用TTL、HTL、CMOS等集成驱动电路控制。 (2) 高可靠性:由于其结构上无可动接触不见,且采用全塑密闭式封装,所以SSR开关时无抖动和回跳现象,无机械噪声,同时能耐潮、耐振、耐腐蚀;由于无触点火花,可用在有依然易爆介质的场合。 (3) 低电磁噪声:交流型SSR在采用了过零触发技术后,电路具有零电压开启、零电流关断的特性,可使对外界和本系统的射频干扰减低到最低程度。 (4) 能承受的浪涌电流大:其数值可为SSR额定值的6~10倍。 (5) 对县原电压适应能力强:交流型SSR的负载电源电压可以在30~220V范围内任选。 (6- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 水温 控制电路 设计 程序 中英文 翻译
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文