免费预览已结束,剩余47页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
辽宁科技大学本科生毕业设计 第48页基于ds18b20的孵化器温度控制系统摘 要目前,大多数温度测控系统在进行温度检测时,都是用普通的模拟型温度传感器将温度转化为电量后,经信号放大电路放大到适当的范围,再由a/d转换器转换成数字量来完成的。这种电路结构复杂,调试困难,精度易受元器件参数的影响。本设计采用集成温度传感器ds18b20,该传感器可以将温度信号直接转化为数字量输出,该电路结构简单、可靠性强。本设计的硬件部分以pic16c57单片机为核心,扩展8255、ds18b20、键盘显示器等器件。通过单片机的编程,实现了以下功能:孵化器温度的测量与显示;用户设定功能;对电加热管的模糊化控制。实践证明,孵化器温度控制系统中应用单片机,具有设计简单、温控准确、可靠性高、功能易扩展等优点。关键词:温度检测,数字温度传感器,单片机,模糊控制hatchibator temperature control system based on ds1820abstractat present,the majority temperature observation control system when carries on the temperature examination, all is with the ordinary simulation temperature sensor the temperature after the electric quantity inversion, enlarges through the signal enlargement electric circuit to the suitable scope, and by a/ d switch transforms the digital quantity to complete. this kind of electric circuit structure complex, the debugging difficult, precision easily primary device parameter influence. this design uses integrated temperature sensor ds1820, this sensor may transform the temperature signal as the digital quantity output directly, this electric circuit structure simple, reliable.this design “hatchibator temperature control system based on ds1820 ” the hardware part take the pic16c57 single-chip microcomputer circuit as a core, expands 8255、ds1820、keyboard monitor and so on. through the single-chip microcomputer circuit programming, has realized the following function: hatchibator temperature survey and demonstration; user hypothesis function; to electric heating tube fuzzy control .the practice proved that, the hatchibator temperature control system, has the design simply, temperature control accuracy, the reliability high, the function easy to expand the merits and so on.key word: temperature measuring, digital temperature sensor, the single-chip microcomputer, fuzzy control目 录1 绪论11.1 本设计研究的意义11.2 单片机在温度控制上的探讨11.3 本设计采用的单片机及温度采集芯片21.4 本设计的研究内容32 ds18b20数字温度传感器的原理与构造42.1 ds18b20的特性42.2 ds18b20引脚及功能42.3 ds18b20的工作原理62.4 多片ds18b20连接时的结构与原理82.4.1 ds18b20的内部结构82.4.2 ds18b20的测温原理92.4.3 ds18b20与单片机的典型接口设计103 pic16c57单片机的原理与结构123.1 运算器alu及工作寄存器w123.2 程序存储器123.3 数据存储器133.4 i/o口134基于ds18b20的孵化器温度控制系统的硬件设计154.1 硬件设计154.2 键盘和显示功能164.3双向可控硅174.4 模糊控制器的实现194.4.1 概述194.4.2 实测值的模糊化204.4.3 模糊控制规则214.4.4 模糊关系矩阵与决策225软件设计245.1 主程序流程图245.2 ds18b20读温度流程图25结 论28致 谢29参考文献30附录a源程序311 绪论自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。在工业控制、自适应控制及数据采集等系统中,传统的处理单元通常采用通过计算机或工业计算机。但随着单片机技术的发展,很多传统的处理单元都可以用单片机系统或单片机加计算机来代替。如在温度、湿度、液位、浓度等控制设备中。通过单片机对被控对象进行控制将成为今后自动控制领域的一个重要发展方向。本设计就是用单片机构建一个孵化器温度控制系统。1.1 本设计研究的意义长期以来,人们在测量温度时,大部分是由常规的测温方法测量。检测精度要求较高时,调节电路复杂,a/d的位数高,使设计系统的成本居高不下,所以很难普及。随着电子技术的发展,出现了很多功能完备的低功耗、低电压、大规模集成电路,以单片机为核心,可实现自动化控制。具备控制精度高、耗能低、使用方便等优点。具有断电保护,断电后原设备参数保存,手自动转换功能,可实现自动开机与关机.。 单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制,但那些温度检测与控制电路通常较复杂,成本也高,本文提供了一种低成本的利用单片机i/o口实现的温度检测的电路,该电路非常简单,且易于实现,并且适用于几乎所有类型的单片机。 现代工业设计、工程建设及日常生活中常常需要用到温度控制。单片机控制温度不仅应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,家庭生活中都会见到单片机控制温度的影子,单片机控制温度将更好的服务于社会。1.2 单片机在温度控制上的探讨传统的热处理炉的温度控制系统,采用模拟系统,记录控制,无法实现曲线的输入。它由手动给定温度控制信号决定炉体的温度。当要按某一温度曲线运行时,必须频繁调节输入的给定温度信号,它必须参考时间在温度达到某一水平时,改变输入控制信号,从而又维持炉体温度在某一阶段。这种控制方法温度不高,而且模拟系统无法实现用电子方法显示炉体温度。由于近代工业技术的发展,对温度控制的要求越来越高,模拟系统由于有以上的缺点,已无法满足现代工业技术的需要,已被逐渐取代。微型计算机的问世给测温、控温技术的发展创造了有利的条件,使温控技术从传统记录控制进入了智能控制。近几年来,热处理炉温度的控制有了很大的发展,采用单片机的温控仪表相继投入市场,并广泛地应用在热处理的生产上。由于温控仪表为通用型仪表,它能实现温度曲线的输入,及显示和修改功能,附以相应的外围硬件电路,就能实现炉体温度的智能控制,它可广泛应用在工业的各个领域,而且其调节温度的精度较高,能满足现代工业技术的需要。但对一个专用的热处理炉,温控仪表其通用型的控制功能,在此使用会造成功能上的浪费,同时由于温控仪表的价格较高,故不宜采用。比较合理的热处理炉的温度控制系统,是采用单片机加以相应的外部硬件电路如检测、扩展、输出控制电路等来实现热处理炉的温度控制。由于使用单片机的核心的控制系统,可以实现炉温的智能控制,同时可以通过设置键盘,按工艺需要可以输入给定的温度数值。合理的硬件电路的设计及系统的控制程序,可以保证热处理炉的温度控制精度较高,同时使系统可以安全可靠地运行。由于单片机相对于温控仪表来说价格低,同时功能强大,故热处理炉的温度控制宜采用单片机为核心。1.3 本设计采用的单片机及温度采集芯片随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统已经应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件,热敏电阻成本低,但需要后续信号处理电路,而且热敏电阻的可靠性相对较差,测量温度的准确度低,检测系统的精度差。针对这种情况,我选用了美国dallas公司最新推出的ds18b20数字式温度传感器,它与传统的热敏电阻温度传感器不同,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现9位的数字值读数方式,可以分别在93.75ms和750ms内将温度值转化9位的数字量。因而使用ds18b20可使系统结构更趋简单,可靠性更高,并用ds18b20和pic16c57单片机研制了一个温度检测与控制系统,该系统具有实用性强、可靠性高等特点。pic16c57 八位单片机具有指令少、执行速度快等优点,其主要原因是pic系列单片机在结构上与其它单片机不同。该系列单片机引入了原用于小型计算机的双总线和两级指令流水结构。由于要进行7点温度检测与控制,pic16c57的i/o口不够,因此用它的a口和b口扩展了一片8255。该系统用于对7台孵化机温度的群控(在现代商用机械通风的孵化机内,温度通常设置为36.037.0)。可以通过键盘对每一台进行上下限的温度设定,只要有一台的温度超出设定范围,系统就报警并显示该温度点的序号和温度值。系统的测量精度为0.5,完全能满足孵化机控制系统的要求。该系统还可以作为控制温度在ds18b20测量温度范围内的多点温度通用控制器。1.4 本设计的研究内容 本文这个基于单片机孵化器温度控制系统能很好的完成适时控制,而且控制温度的精度也很高,投资小,效益高等,有许多以前系统所不具备的优点。本控制系统是以单片机控制为核心,外扩硬件电路、液晶显示器来完成系统的正常工作。并能根据用户的不同需要,给予提供不同的温度,并能使系统的自检的结果和故障的原因在液晶显示器上显示出来。本系统的外扩硬件电路是保证该系统正常运行必不可少的组成部分,本文将就每部分硬件电路的设计及模糊控制原理做以详细介绍。2 ds18b20数字温度传感器的原理与构造美国dallas公司生产的单线数字温度传感器ds18b20, ds18b20是由可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。可把温度信号直接转换成串行数字信号供微机处理。由于每片ds18b20含有唯一的硅串行数,所以在一条总线上可挂接任意多个ds18b20芯片。从ds18b20读出的信息或写入ds18b20的信息,仅需要一根口线(单线接口)读写。温度变换功率来源于数据总线,总线本身也可以向所挂接的ds18b20供电,而无需额外电源。ds18b20提供9位温度读数,构成多点温度检测系统而无需任何外围硬件。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9-12位的数字量。2.1 ds18b20的特性独特的单线接口方式:ds18b20在与微处理器连接时仅需要一条口线即可实现微处理器与ds18b20的双向通讯。在使用中不需要任何外围元件由总线提供电源.(35v/dc)测温范围为-55+125,在-10+85时精度为0.5九至十二位温度读数支持多点组网功能,多个ds18b20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温用户自设定温度报警上下限,其值是非易失性的报警搜索命令可识别哪片ds18b20超温度限2.2 ds18b20引脚及功能 ds18b20的管脚见图2.1(pr-35封装)。 gnd:电源地。 dq:数据输入输出脚(单线接口,可作寄生供电)。 vdd:vdd为外接供电电源输入端(在寄生电源接线方式时接地)。ds18b20是美国dauas公司生产的集成温度传感器。它具有独特的单线接口,只需一个接口引脚即可通信,不需要外部元件,不需要备份电源,可用数据线供电在1秒内把温度变换为数字量,以9位数字读出,测量范围从-55+125,增量值为0.5:具有用户、可定义的非易失性的温度告警设置;每一片ds182b0包括一个唯一的64位长的rom编码,因此,可以在同一根线上接多片ds18b20。进行多点温度的测量。ds18b20的pr-35的封装形式及管脚排列如表2.1所示。图2.1 ds18b20的pr-35封装形式及管脚排列ds18b20的控制命令有6条,见表2.1所示。对其内部rom的操作命令有5条,分别是读rom命令(33h):主机读ds18b20的64位编码;匹配rom命令(55h):对总线上的ds18b20寻址;搜索rom命令(foh):主机可对总线上的多个器件进行rom编码的搜索;跳过rom命令(cch):在单点测温度时,执行此命令跳过rom来节省访问时间;报警搜索命令(ech):搜索有报警的ds18b20的测温点。ds18b20内含暂存存储器,共有9个字节。字节0是温度的低字节,它是以补码的形式表示的。字节1表示的是符号,当温度为正时,是00hz,当温度为负时,是11h。字节2和字节3是上下限报警值,通过对字节6和字节7的计算,可以获得比0.5更高精度的温度值,即:温度=测得的温度值(由字节1和字节2决定)-0.5+(字节7-字节6)/字节7。2.3 ds18b20的工作原理图2.2 ds18b20的内部结构图ds18b20的读写时序和测温原理与ds1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 ds18b20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。ds18b20的内部结构如图2.2所示。由图2.2可知,ds1820由三个主要数字器件组成:(1)64bit闪速rom;(2)温度传感器;(3)非易失性温度报警触发器th和tl。64bit闪速rom的结构如下:它既可寄生供电也可由外部5v电源供电。在寄生供电情况下,当总线为高电平时,ds18b20从总线上获得能量并储存在内部电容上,当总线为低电平时,由电容向ds1820供电。 ds18b20的测温原理:内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时振荡器的脉冲无法通过门电路。计数器设置为-55时的值,如果计数器到达0之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55。同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到回零。如果门电路仍然未关闭,则重复以上过程。温度表示值为9bit,高位为符号位,其结构如下: 对ds18b20的使用,多采用单片机实现数据采集。处理时,将ds1820信号线与单片机一位口线相连,单片机可挂接多片ds1820,从而实现多点温度检测系统。 系统对ds18b20的操作以rom命令和存储器命令形式出现。 1)rom命令代码及其含义 readrom命令代码33h:如果只有一片ds1820,可用此命令读出其序列号,若在线ds18b20多于一个,将发生冲突。 matchrom命令代码55h:多个ds18b20在线时,可用此命令匹配一个给定序列号的ds18b20,此后的命令就针对该ds18b20。 skiprom命令代码cch:此命令执行后的存储器操作将针对在线的所有ds1820。 searchrdh命令代码f0h:用以读出在线的ds18b20的序列号。 alarmsearch命令代码ech:当温度值高于th或低于tl中的数值时,此命令可以读出报警的ds18b20。 2)存储器操作命令代码及其含义 writescratchpad命令代码4eh:写两个字节的数据到温度寄存器。 readscratchpad命令代码beh:读取温度寄存器的温度值。 copyscratchpad命令代码48h:将温度寄存器的数值拷贝到eeram中,保证温度值不丢失。 convert命令代码44h:启动在线ds12b80做温度a/d转换。 recall ee命令代码b8h:将eeram中的数值拷贝到温度寄存器中。 readpowersupply命令代码b4h:在本命令送到ds12b80之后的每一个读数据间隙,指出电源模式:“0”为寄生电源;“1”为外部电源。ds18b20单线通信功能是分时完成的,它有严格的时隙概念。因此系统对ds18b20的各种操作必须按协议进行。操作协议为:初始化ds18b20(发复位脉冲)发rom功能命令发存储器操作命令处理数据。2.4 多片ds18b20连接时的结构与原理 2.4.1 ds18b20的内部结构ds18b20采用3脚pr-35封装或8脚soic封装,其内部结构框图如图2.2所示。1、64 b闪速rom的结构如下:开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前56位的crc校验码,这也是多个ds18b20可以采用一线进行通信的原因。2、非易失性温度报警触发器th和tl,可通过软件写入用户报警上下限。3、高速暂存存储器ds18b20温度传感器的内部存储器包括一个高速暂存ram和一个非易失性的可电擦除的eprom。后者用于存储th,tl值。数据先写入ram,经校验后再传给eprom。而配置寄存器为高速暂存器中的第5个字节,他的内容用于确定温度值的数字转换分辨率,ds18b20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义如下:低5位一直都是1,tm是测试模式位,用于设置ds1820在工作模式还是在测试模式。在ds1820出厂时该位被设置为0,用户不要去改动,r1和r0决定温度转换的精度位数,即是来设置分辨率,如表2.2所示(ds1820出厂时被设置为12位)。由表2.2可见,设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要在分辨率和转换时间权衡考虑。高速暂存存储器除了配置寄存器外,还有其他8个字节组成,其分配如下所示。其中温度信息(第1,2字节)、th和tl值第3,4字节、第68字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的crc码,可用来保证通信正确。当ds18b20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0062 5 /lsb形式表示。对应的温度计算:当符号位s=0时,直接将二进制位转换为十进制;当s=1时,先将补码变换为原码,再计算十进制值。表2.3是对应的一部分温度值。ds18b20完成温度转换后,就把测得的温度值与,作比较,若或,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只ds18b20同时测量温度并进行告警搜索。4、crc的产生在64 b rom的最高有效字节中存储有循环冗余校验码(crc)。主机根据rom的前56位来计算crc值,并和存入ds18b20中的crc值做比较,以判断主机收到的rom数据是否正确。2.4.2 ds18b20的测温原理ds18b20的测温原理是由于低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,当计数门打开时,ds18b20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是ds18b20的测温原理。 另外,由于ds18b20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对ds18b20的各种操作必须按协议进行。操作协议为:初始化ds18b20(发复位脉冲)发rom功能命令发存储器操作命令处理数据。2.4.3 ds18b20与单片机的典型接口设计如图2.4所示,采用寄生电源供电方式, p1.1口接单线总线为保证在有效的ds18b20时钟周期内提供足够的电流,可用一个mosfet管和89c51的p1.0来完成对总线的上拉。当ds18b20处于写存储器操作和温度a/d变换操作时,总线上必须有强的上拉,上拉开启时间最大为10 s。采用寄生电源供电方式是vdd和gnd端均接地。由于单线制只有一根线,因此发送接收口必须是三态的。主机控制ds18b20完成温度转换必须经过3个步骤:初始化、rom操作指令、存储器操作指令。假设单片机系统所用的晶振频率为12mhz,根据ds18b20的初始化时序、写时序和读时序,分别编写3个子程序:init为初始化子程序,write为写(命令或数据)子程序,read为读数据子程序,所有的数据读写均由最低位开始,实际在实验中不用这种方式,只要在数据线上加一个上拉电阻4.7 k,另外2个脚分别接电源和地。本设计ds18b20的接法用pic16c57的rc0接dq线,rc1接ds18b20的电源,当对ds18b20进行操作时,使rc1输出高电平,否则置0。图2.4 ds18b20与微处理器的典型连接3 pic16c57单片机的原理与结构pic16c57单片机是microchip公司生产的8位单片机。内含2k12位eprom、728位ram。各引脚功能如表3.1。其主要功能有:片内上电复位电路及振荡器起振定时器,可省去外部复位电路;具有20个i/o引脚,每个引脚可独立编程为输入输出口:8位定时/计数器和8位可编程预分频器;二级硬件堆栈;有抗干扰的看门狗定时器;有可选择的四种振荡方式:阻容振荡rc、标准晶/陶瓷振荡xt、高速晶体/陶瓷振荡hs、低功耗低频晶体振荡lp;有低功耗睡眠方式等功能。现在我们已经知道要单片机工作,就需用汇编语言编制程序。而对某个pic单片机编程时,还需对选用的pic单片机内部硬件资源有所了解。这里介绍pic16c57单片机的内部结构,其基本组成可分为四个主要部分,即运算器alu和工作寄存器w;程序存储器;数据存储器和输入/输出(i/o)口;堆栈存储器和定时器等。现分别介绍如下。3.1 运算器alu及工作寄存器w运算器alu是一个通用算术、逻辑运算单元,用它可以对工作寄存器w和任何通用寄存器中的两个数进行算术(如加、减、乘、除等)和逻辑运算(如与、或、异或等)。16c57是八位单片机,alu的字长是八位。在有两个操作数的指令中,典型的情况是一个操作数在工作寄存器w中,而另一个操作数是在通用寄存器中,或者是一个立即数。在只有一个操作数的情况下,该数要么是在工作寄存器w中,要么是在通用寄存器中。w寄存器是一个专用于alu操作的寄存器,它是不可寻址的。根据所执行的指令,alu还可能会影响框图中状态寄存器status的进位标志c、全零标志z等。3.2 程序存储器单片机内存放程序指令的存储器称为程序存储器。pic16c57的所有指令字长为14位。所以程序存储器的各存储单元是14位宽。一个存储单元存放一条指令。16c57的程序存贮器有1024(28)个存储单元(存储容量为1k)。这些程序存储器都是由fperom构成的。程序存储器是由程序计数器pc寻址的。pic16c57的程序计数器为13位宽,可寻址8k(81024)的程序存储器空间,但pic16c57实际上只使用了1k的空间(单元地址为03ffh)。当访问超过这些地址空间的存储单元时,将导致循环回到有效的存储空间。3.3 数据存储器在单片机pic16c57中,除了有存放程序的程序存储器外,还有数据存储器。单片机在执行程序过程中,往往需要随时向单片机输入一些数据,而且有些数据还可能随时改变。在这种情况下就需用数据存储器。由于数据存储器不但要能随时读取存放在其各个单元内的数据,而且还需随时写进新的数据,或改写原来的数据。因此,数据存储器需由随机存储器ram构成。ram存储器在断电时,所存数据随即丢失,这在实际应用中有时会带来不便。但是,在16c57中有648位eprom数据存储器。存放在eprom中的数据在断电时不会丢失。16c57中的ram数据存储器分为两个存储体:即存储体0(bank0)和存储体1(bank1)。每个存储体均可以直接用内部总线传送信息,所以它们都是以寄存器方式工作和寻址。这些八位寄存器,又可分为通用寄存器和专用寄存器两个部分。通用寄存器存放数据,专用寄存器存放控制单片机运作的信息。每个存储体最大可扩展到7fh(128个字节)。在每个存储体中,专用寄存器被安排在低位地址空间,通用寄存器被安排在高位地址空间。3.4 i/o口单片机作为一个控制器件必定有数据输入和输出。输入量可能是温度、压力、转速等,而输出量可能是开关量和数据,以保证受控过程在规定的范围内运行。数据的输入和输出都需通过单片机内部有关电路,再与引脚构成输入/输出(i/o)端口。pic16c57芯片有两个i/o端口(prota和portb)。端口a为5位口,端口b为8位口,共占用13位引脚。每个端口由一个锁存器(即数据存储器中的特殊功能寄存器05h、06h单元)、一个输出驱动器和输入缓冲器等组成。当把i/o口作输出时,数据可以锁存;作输入口时,数据可以缓冲。16c57 porta口中的ra4是斯密特触发输入、漏极开路输出。而其它的ra口引脚都是ttl电平输入和全cmos驱动输出。端口portb是一个八位双向可编程i/o口。各端口虽然也由锁存器、驱动器、缓冲器等构成,但因功能略有不同而导致电路亦存在差别。pic16c57的输出可提供20ma的电流,所以它可直接驱动led。porta和portb各个位均可分别定义为输入和输出。4基于ds18b20的孵化器温度控制系统的硬件设计4.1 硬件设计由于ds18b20具有多点分布的功能,我们设计的测温点有7个因此连了7个ds18b20。用pic16c57的rc0接dq线,rc1接ds18b20的电源,当对ds18b20进行操作时,使rc1输出高电平,否则置0。rc2-rc3接24lc01b型eprom,各个ds18b20的序列号保存在eprom中;rc4用作超温报警。由于要进行7点温度检测与控制,pic16c57的i/o口不够,因此用它的a口和b口扩展了一片8255,见图4.1和图4.2。用8255的pa0-pa4和pc0-pc2组成3*5的键盘和5位显示;8255的pc4-pc7和pic16c57的rc5-rc7用作对7路加热电炉的控制。系统框图如图4.3所示 图4.1 键盘显示部分电路图图4.2 单片机部分硬件电路图4.3 系统框图4.2 键盘和显示功能键盘共有15个键,其中10个数字键,5个功能键。操作顺序,若要显示某测量点的温度,则按下设定/显示键、测量点的序号,就显示该点的测量温度,若还要检查上、下限温度、则继续按上/下限键,若是设定上、下限温度,此时按上档键、设定/显示键,就可输入温度值,再按确定键结束。设定温度也可以一开始按上档键、设定/显示键进行。显示器的最高位为测量点的序号,后面的四位是温度值。4.3双向可控硅如果将两个反向并联的单向控制硅做在同一硅片上,则组成一个双向可控硅其符号如图4.4 所示。这种可控硅具有双向导通功能,其通断情况由控制极g决定,当g上无信号时,mt与mt间呈高阻状态,管截止;而当mt与mt之间加一大于阀值的电压(一般大于1.5v)时,就可利用控制g端电压来使管导通。但需注意的是,当双向可控硅接有感性负载时,电流与电压间有一定的位相差,在电流为零时,反向电压可能不为零,且超过转换电压,使管子反向导通,故要管子能承受这种反向电压,并在回路中加rc网络加以吸收。图4.4 双向可控硅表示符号尽管双向可控硅正、反相均能导通,带在实际使用时,不建议将其两端调换使用。有关双向可控硅的参数可参照单向可控硅的特性参数。由于双向可控硅具有双向导通功能,能在交流、大电流场合使用,且开关无触点,因此在工业控制领域有着极为广泛的应用,下面介绍这种器件的接口方法。图 4.5为一种可控硅温度控制器电路,从s端输入变量后的电压信号,利用比较器的输出端翻转来控制双向可控硅的导通,从而达到温度控制的目的。由于双向可控硅的广泛应用,与之配套的光电隔离器也已有产品,这种器件一般称为光耦合双向可控硅驱动器,如图4.6所示,与一般的光隔不同在于其输出部分是一硅光敏双向可控硅,一般还带有过零触发检测器(如图 4.6 中的a),以保证在电压接近为零时触发可控硅。常用的有moc3000系列等,运用于不同负载电压使用;如moc3011用于110v交流,而moc3041等可适用于220v交流使用,图 4.7 为这两类光隔与双向可控硅的典型接线图,下面通过分析该电路的工作原理来了解这种接口方法的应用。图4.5 双向可控硅输出驱动温控电路图 4.6双向可控硅输出型光隔不同的光隔,其输入端驱动电流也不一样,如moc3041为15ma,3011的驱动电流仅为5ma,因此,在驱动回路中可加一限流电阻r,一般在微机测控系统中,其输出可用oc门驱动,在光隔输出端,与双向可控硅并联的rc是为了在使用感性负载时吸收与电流不同步的过压;而门极电阻则是为了提高抗干扰能力,以防误除法。ab图4.7 moc3011/3041接口电路4.4 模糊控制器的实现模糊控制是一种鲁棒性很强的控制方法。运用两输入单输出的模糊控制模型,对被控对象的温度偏差、温度变化率、和控制输出进行了具体的模糊化;并根据模糊集合理论的计算结果和被控对象的特点得出精确化的模糊控制表。在此基础上,用单片机实现了该模糊控制器。实际温度控制实验表明该控制器对不同被控对象的控温精度可达0.5。4.4.1 概述目前,温度控制领域还大量地采用pid控制方式。这种控制方法,对不同的控温对象,采用不同的pid参数,且调整不方便。对于产品规格多、尺寸变化大、温度特性差别大的情况,其不同对象的pid参数选择是令人头痛的事。而模糊控制是一种语言控制器,能更为近似地反映最佳控制者人的控制行为,有很强的鲁棒性和控制稳定性,能适用与不同对象的控制。模糊控制器有单输入单输出型和两输入单输出型两种常用形式。为了提高控制精度和速度,我们采用温度偏差和温度变化率两个输入及控制变量输出的两输入单输出控制方式。其基本原理见图4.8。由图4.8看出,要实现模糊控制器,关键步骤有三个:实测值的模糊化;模糊关系矩阵的获取;模糊决策及结果的精确化。图4.8 两输入单输出模糊控制器4.4.2 实测值的模糊化1、温度偏差的模糊化将温度偏差分为8个模糊状态:(正的大温度偏差),(正的中温度偏差),(正的小温度偏差),(正的零温度偏差),(负的零温度偏差),(负的小温度偏差),(负的中温度偏差),(负的大温度偏差)。并将温度偏差细分为14个点,分别给出了它们对8个模糊状态的隶属度值。2、温度变化的模糊化理论上应该指温度变化速度对控制输出的影响。实际应用时,那么将温度变化定义为一个采样间隔内的温度变化。由于温度变化是比较慢的,我们将温度变化值在0.3以内定为模糊控制区,并将其分为7个模糊状态;(正的大温度变化),(正的中温度变化),(正的小温度变化),(零温度变化),(负的小温度变化),(负的中温度变化),(负的大温度变化)。将温度变化模糊控制区0.3,分为13个段,分别给出了它们对7个模糊状态的隶属度值。对于大于+0.3的温度变化,取为+0.3;对于小于-0.3的温度变化,取为-0.3。3、控制输出的模糊化将控制器输出状态规定为15种,分别对应于不同的加热器、冷却器和通风器的组合。它们的定义如下:-7-6:加热器全关;-5-4:加热器全关;-3-2:加热器全关;-10:加热器全关;+1+2:13功率加热;+3+4+5:23功率加热;+6+7:全功率加热。将这15种输出状态分为7个模糊输出状态;(大功率加热),(中功率加热),(小功率加热),(不加热,不冷却),(小功率冷却),(中功率冷却),(大功率冷却)。每种具体输出状态对这7种模糊输出状态的隶属度值见表4.1。4.4.3 模糊控制规则对于双输入单输出模糊控制器,起控制规则为“if a and b then c”来描述。本文所述温度模糊控制器有多条这样的规则。如表4.2所示。表4.2中的*表示实际中不会出现的情况。表4.1 输出的模糊化表4.2模糊控制规则表4.4.4 模糊关系矩阵与决策由于采用的控制规则是“if a and b then c ”,因此模糊关系r可写成: r=abc (1)式中 a温度差值的模糊值 b温度变化的模糊值 某一时刻的模糊输出c可写成; c=r/ (2)由模糊数学理论知,r是一个141315的矩阵,每次控制计算都处理这样一个矩阵是很困难的,为此,事先将r矩阵算出,然后根据(2)式算出每种输入状态下的模糊控制输出c,最后用最大隶属度决策算法,将c转化为精确的实际输出动作。最终的计算结果示于表4.3。表4.3模糊控制表5软件设计控制系统的程序分别由主程序、键盘处理子程序、显示子程序、ds18b20的复位子程序、读子程序、写子程序、定时子程序、数据转换子程序、以及与24lc01b通讯子程序等组成。温度的检测和键盘的检测采用扫描方式进行,每检测完一点温度后就对键盘进行扫描,并调用显示程序,处理完键盘以后,再检测下一点的温度。通常显示器显示1号点的温度,其它点的温度可通过键盘查看,若某一点的温度超出设定范围,则显示器显示该点的温度同时报警,直到该点温度恢复正常。5.1 主程序流程图 开始初始化模糊控制温度采集显示结束图5.1 孵化器主程序框图5.2 ds18b20读温度流程图 图5.2 ds1820读温度流程图ds18b20初始化子程序:ini: clr dqmov r2, #200l1: clr dqdjnz r2,l1;主机复位脉冲持续3200=600 ussetb dqmov r2, #30l2: djnz r2,l2 ;ds1820等待320=60 usclr cmov c,dq;ds1820数据线应变低jc ini;ds1820没准备好,重来mov r2, #30l3: mov ec,dqjc l4 ;ds18b20 数据线变高,初始化成功djnz r6,l3;ds18b20数据线低电平状态可持续240 ussjmp ini ;初始化失败,重来l4: mov r2,#240;ds18b20应答过程最少2240=480 usl5: djnz r2,l5ret写ds18b20的子程序:write: mov r3, #8wr1: setb dqmov r4, #8rrc aclr dqwr2: djnz r4,wr2;ds18b20在数据线变低后28=16 us开始采样 mov dq,c mov r4,#30wr3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 液化气体生产工安全知识宣贯知识考核试卷含答案
- 生活垃圾焚烧操作工冲突解决竞赛考核试卷含答案
- 白酒灌装工10S考核试卷含答案
- 压延玻璃成型工QC管理知识考核试卷含答案
- 保险公估人班组安全测试考核试卷含答案
- 汽车零部件再制造装调工达标知识考核试卷含答案
- 急诊护理与患者家属沟通
- 外科护理伦理与职业素养
- 莱州湾东岸海水入侵的数值模拟与风险评价:基于多模型与多因素分析
- 药用菌桑黄黄酮代谢调控机制与优化策略研究
- 危重心律失常的处治
- HG/T 6262-2024 再生磷酸铁(正式版)
- 2020年10月自考00178市场调查与预测试题及答案含解析
- 幕墙结构计算表格(excel)
- 自闭症评定量表版pep3
- 建筑减震器中英文对照外文翻译文献
- 北师大版一年级下册数学 期末测试卷(四)(含答案)
- 龙源法库八虎山150MW风电项目环境影响报告
- 深基坑开挖中的地下水控制技术
- 2023上海市高中中考自主招生物理试题真题四(含答案详解)
- GB/T 37153-2018电动汽车低速提示音
评论
0/150
提交评论