基于单片机的温度控制系统设计论文

上传人:x**** 文档编号:69511707 上传时间:2022-04-05 格式:DOCX 页数:67 大小:1.11MB
收藏 版权申诉 举报 下载
基于单片机的温度控制系统设计论文_第1页
第1页 / 共67页
基于单片机的温度控制系统设计论文_第2页
第2页 / 共67页
基于单片机的温度控制系统设计论文_第3页
第3页 / 共67页
资源描述:

《基于单片机的温度控制系统设计论文》由会员分享,可在线阅读,更多相关《基于单片机的温度控制系统设计论文(67页珍藏版)》请在装配图网上搜索。

1、经济管理职业学院毕业论文题目:单片机温度控制系统研制系 院:工程技术学院学生:德培学 号:专 业:机电一体化年 级:2013指导教师:荣瑞芳完成日期:5月11日毕业设计(论文)任务书设计(论文)题目单片机温度控制系统研制学生 德培 专业 机电一体化 指导教师 荣瑞芳 下发日期 2015 年 12 月 29 日任务起止日期: 2015年 12月 29 日至 2016 年 5 月 15 日设计(论文)的主要容:进 度 安 排序号设计(论文)工作任务日 期1指导教师指导毕业生选题2015.12.292016.3. 42指导教师指导论文提纲2016.3.42016.3.113指导教师指导论文第一稿20

2、16.3.122016.3.314指导教师指导论文第二稿2016.4.12016.4.305指导教师指导论文定稿2016.5.12016.5.126 论文答辩2014.5.132016.5.14主要参考文献:1 耀宗.机械加工实用手册编写组.机械工业,20092 军.数控机床参考点的设定间.制造技术与机床,20133 许镇宇.机械零件.:高等教育,20124 孔庆复.计算机辅助设计与制造.:工业大学,20115 雷宏,机械工程基础.:2012 6 王中发.实用机械设计。:理工大学20137 唐宗军,机械制造基础。:机械工业.2010 系负责人意见:摘 要温度是表征物体冷热程度的物理量,是工农业

3、生产过程中一个很重要而普遍的参数。由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位。温度控制的发展引入单片机后,可以降低对某些硬件电路的要求。基于单片机的温度控制系统,可以实现对温度的精确控制。 本文以温室为研究对象,以AT89C51单片机为核心所实现的温度控制系统具有自动完成数据采集、数据处理、数据转换控制、键盘终端处理与显示的功能。当实际温度低于设定值,PTC进行加热,反之PTC就停止加热。实际温度超上限或者低下限时,系统自动报警。温度控制采用的是双位控制,简单易行,在精度要求不是特别高的温室,可行度很高。 最后对系统进行调试并在PROTEUS里仿真,结果表明该系统原理可行。又在

4、一个小空间进行试验,误差在1左右,结果符合预期。运行稳定、控制效果好、性价比高。关键词:单片机,温度控制,DS18B20,温室44 / 67目 录摘 要IAbstractI目 录II第一章 绪论11.1课题研究背景与意义11.2国外研究现状11.2.1国外研究现状11.2.2国研究现状11.2.3总的发展阶段21.3课题研究的容2第二章 硬件系统总体方案设计32.1硬件系统总体设计方案一32.2硬件系统总体设计方案二42.3硬件系统的方案选择4第三章 控制系统硬件设计63.1单片机63.2 数字温度计DS18B2093.2.1 DS18S20数字温度计的主要特性93.3 4X4键盘93.4数码

5、管103.5光电耦合器123.6 双向晶闸管133.7 PTC加热器143.8 反相器7406153.9双四输入与门74LS21163.9蜂鸣器16第四章 控制系统软件设计174.1 主程序模块设计174.1.1主程序流程图174.2温度采集模块程序设计184.2.1 DS18B20的时序184.2.3 读温度子程序流程图204.3温度设定模块程序设计214.3.1中断服务子程序214.3.2 键盘扫描子程序214.4温度显示模块设计234.4.1设定值显示子程序234.4.2 实际值显示子程序244.5温度控制模块设计254.5.1双位控制算法设计254.5.2温度控制子程序流程图254.6

6、报警模块程序设计26第五章 结果分析275.1 PROTEUS仿真275.1.1 键盘设定温度仿真275.1.2 温度采集仿真285.1.3 整体仿真285.2实际运行结果29第六章 总结与展望316.1总结316.2展望31致 32附录程序33参考文献42第一章 绪论1.1课题研究背景与意义温度是表征物体冷热程度的物理量,是工农业生产过程中一个很重要而普遍的参数。温度的测量与控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位。而且随着科学技术和生产的不断发展,温度传感器的种类还是在不断增加丰富

7、来满足生产生活中的需要。在单片机温度测量系统中的关键是测量温度、控制温度和保持温度,温度测量是工业对象中主要的被控参数之一。温度控制采用单片机设计的全数字仪表,是常规仪表的的升级产品。温度控制的发展引入单片机后,可以降低对某些硬件电路的要求,但依然需要重视测试电路本身的重要性,尤其是直接获取被测信号的传感器部分,仍应给以充分的重视,有时提高整台仪器的性能的关键仍然在于测试电路尤其是传感器的改进。现在传感器也正在受着微电子技术的影响,不断发展变化。传感器正朝着小型、固态、多功能和集成化的方向发展。基于单片机的温度控制系统,可以实现对温度的精确控制,使得在某些场合下人们对温度高低的要求得以实现。对

8、人们的生产和生活影响巨大,比如,在我国的北方,冬天温度极低,但引入温室大棚后,冬天的时候人们也能吃到新鲜的蔬菜;钢铁厂里炼铁,对温度的要求更高,这就使得温度控制变得极为有意义,而在我们的日常生活中,空调让冬天不冷夏天不热,确实让我们感受到温度控制对我们生活质量的提高也有着极大的作用。总之,现代工业设计,工程建设与日常生活中温度控制都起着重要的作用。1.2国外研究现状1.2.1国外研究现状国外对温度控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。990

9、年代中期,智能温控仪问世,它是微电子技术、计算机技术和自动测试技术的结晶。目前,国际上已开发出多种智能温控器系列产品。智能温控器部都包含温度传感器、A/D转换器、信号处理器和接口电路。有的产品还有多路选择器、中央控制器(CPU)、随机存储器(RAM)和只读存储器(ROM)。现在世界各国的温度测控技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。1.2.2国研究现状我国对于温度测控技术的研究较晚,始于20世纪80年代。我国工程技术人员在吸收发达国家温度测控技术的基础上,才掌握了温度室微机控制技术,该技术仅限于对温度的单项环境因子的控制。我国温度测控设施计算机应用,在总

10、体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。我国温度测量控制现状还远远没有达到工厂化的程度,生产实际中仍然有许多问题困扰着我们,存在着装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点。1.2.3总的发展阶段总的来说,温控器被广泛应用于工农业生产、科学研究和生活等领域,数量日渐上升。近百年来,温控器的发展大致经历了三个阶段:1.模拟温度控制器;2.集成温度控制器;3.能温度控制器,目前,国际上新型温控器正从模拟式向数字式、由集成化

11、向智能化、网络化的方向发展。1.3课题研究的容本文所要研究的课题是基于单片机的温度控制系统的设计,控制对象为温室,主要目标是实现温度的设定值显示、实际值实时测量与显示,温度超上限和低下限危险报警。单片机连接的温度调节装置由软件与硬件电路配合来实现温度实时控制,显示可由软件控制并在数码管中显示。比较采集到温度与设定值与上下限的大小,然后做出相应的反应,控制执行机构是否降温或升温,判断警报与否。第二章 硬件系统总体方案设计本次毕业设计以 51系列单片机为核心对温度进行控制,使被控对象的温度稳定在某一指定数值上,允许有1的误差(不包括元件本身的制造引起的误差),键盘输入设定温度值,LED数码管显示温

12、度值(实际的或设定的)。基于上述要求,提出以下两种方案,下文是对两种方案的具体论述。2.1硬件系统总体设计方案一方案一如图2-1所示,此方案选用DS18B20芯片进行温度采集与模拟量与数字量之间的转换,并直接输出数字量,无需信号放大,且只占用一根口线,然后将其送数码管显示。4X4矩阵式键盘,首先要对其进行键盘扫描,判断是否有键按下,如有键按下,要判断是那个键按下,确定键值,然后对其进行输入,把最后设定的温度值送给数码管进行显示。如果对一个温度值已经设定完毕后,无需再按任何键即有效,如果温度值设定得不合理,可对温度进行重新设定,温度的上下限可由软件编程设定,这样就完成了对温度的总体设置。对于数码

13、管显示模块,采用了动态显示的方法,在程序的设计中也相应的采用动态显示方法对其进行编写。首先把设定的(或采集到)数据的十进制数进行字节拆分,分别求出要显示个位数、十位数、百位数(显示实际温度时,还要求出十分位),然后将其送至数码管显示。显示设定值还是实际值,可由按键进行切换。对于温度控制模块,首先是把采集的数据和设定的温度上下限进行比较,如低于下限值或高于上限值,蜂鸣器警报,再把实际温度和设定的温度比较,决定加热与否以与加热时间的控制。 单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制,不需要向外扩展存储器,可使系统整体结构更为简单。信号的传递路线短,可以提高系统精度。DS1

14、8B20 单 片 机键盘设定温度双向可控硅光电耦合器加热装置 报 警 数 码 管 显 示图2-1 方案一框图2.2硬件系统总体设计方案二方案二如图2-2所示,采用 AT89C51作为控制核心,以使用最为普遍的器件 ADC0809作模数转换,控制上使用电阻丝进行加热。此方案简易可行,器件的价格便宜,且 ADC0809是 8位的模数转换,测温围是 0-800,误差为 0.5%,即分辨率为 1/200,而 ADC0809的分辨率为 1/256,故能满足本题目的精度要求。系统要有温度设定部分,由于 8051的接口不够的问题,所以对其进行接口扩展,采用最常用的 8255并行接口芯片对其扩展,采用 44矩

15、阵式键盘接在 8255的 A口和 B口,键盘中有 0到 15之间十六个数字键,对温度的显示采用三个数码管对其进行显示,分别是百位、十位、个位。且系统设置报警装置,使用户能够实时知道温度是否在所设定所的围。控制电路部分采用MOC3041控制可控硅的通断以实现对温室温度的控制。AD590放大电路 单 片 机模数转换键盘设定温度82555A双向可控硅光电耦合器 数码管显示加热装置 报 警图2-2 方案二框图2.3硬件系统的方案选择两种方案的区别在于温度的采集部分,由上可知,DS18B20相对于AD590在此系统的优势相当明显,节约单片机的I/O口线,数据传送路径短,精确度高,节约成本,故选用方案一。

16、此方案以单片机为该系统的控制核心。温度的检测部分使用了DS18B20、AT89C51单片机与数码管的硬件电路完成对室温的实时检测与显示,通过44键盘设定温室的温度,比较温度的设定值与实测值的大小,然后由单片机发出信号,控制光电耦合器和双向可控硅导通与否,由此控制PTC加热器的通断,实现对温室温度的恒温控制。因为温室的温度波动比较小,故不必采用软件滤波对温度进行平滑控制。报警部分采用一个3V的有源蜂鸣器,发出危险警报。此单片机温度控制系统具有微型化、低功耗、高性能、易配微处理器等优点,可以进行多点测温,DS18B20可以直接将温度转化成串行数字信号供微机处理,而且每片DS18B20都有唯一的产品

17、号,可以一并存入其ROM中,以便在构成大型温度测控系统时在单线上连接多个DS18B20芯片,当然一个I/O口能挂接多少片DS18B20,因单片机的不同而异。从DS18B20读出或写入DS18B20信息仅需要一根口线,其读写与温度变换功率来源于数据总线,该总线本身也可以向所连接的DS18B20供电,不需要外部电源,同时DS18B20能提供9-12位温度读数,出厂默认是12位,无需任何外围硬件即可方便地构成温度检测系统。单片机具体实现的功能如下:1、连续测量温室的温度值,控制数码管显示温室的实际温度;2、控制键盘设定温室的温度值,并用数码管显示。设定围为室温至125;实现温室的恒温控制,比如设定值

18、为50,则应使实际值与50相接近。第三章 控制系统硬件设计基于上章的分析,我选择了方案一,方案一的原理图如图3-1所示。本章主要介绍介绍控制系统中所使用到的各种元器件。图3-1 系统原理图3.1单片机将运算器、控制器、存储器和各种输入输出接口等计算机的主要部件集成在一块芯片上,就能得到一个单芯片的微型计算机。它虽然只是一个芯片,但在组成和功能上已经具有了计算机系统的特点,因此称之为单片微型计算机(Single-ChipMicrocomputer),简称单片机。因为其体积小、功耗低、价格低廉、抗干扰能力强且可靠性高,适合应用于工业过程控制、智能仪器仪表和测控系统的前端装置。本次毕业设计所采用的是

19、AT89C51。以下简述本次毕业设计所用到的与其相关的知识。1、主要特性:(1)与MCS-51兼容(2)4K字节可编程闪烁存储器,寿命为1000次写/擦循环,数据可保留时间为10年(3)全静态工作:0Hz-24Hz(4)三级程序存储器锁定(5)128X8位部RAM(6)4个I/O口,共32根可编程口线(7)两个16位定时器/计数器(8)5个中断源(9)可编程串行通道(10)低功耗的闲置和掉电模式(11)片振荡器和时钟电路2、管脚说明:AT89C51的管脚布置如图3-2所示VCC:供电电压。 GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一

20、次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。

21、并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示

22、:P3口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低8位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号

23、,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指令期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1时,E

24、A将部锁定为RESET;当EA端保持高电平时,此间部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。图3-2 AT89C51管脚3.2 数字温度计DS18B20在传统的模拟信号远距离传送的测量系统中,需要很好的解决引线误差补偿问题、多点切换误差问题和放大电路的零点误差问题等技术。另外考虑到一般的测量现场的电磁环境非常的恶劣,各种干扰信号较强,模拟信号很容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用抗干扰能力较强的新型数字温度传感器是解决这些问题的最有效的方案。在实际的温度测量过程中被广泛应用,同时也取得了良好的测量效果。3.2.1 DS18S

25、20数字温度计的主要特性1、DS18S20的适应电压围更宽,其围为:3.0-5.5V,而且它能够直接由数据线获取电源(寄生电源),无需外部工作电源。2、DS18S20提供了9-12位摄氏温度测量,具有非易失性、上下触发门限用户可编程的报警功能。3、DS18S20通过1-Wire总线与中央微处理器通信,仅需要单根数据线(或地线)。同时,在使用过程中,它不需要任何的外围的元件,全部的传感元件和转换电路集成在形状如一只三极管的集成电路。4、DS18S20具有-55C至+125C的工作温度围,在-10C至+85C温度围精度为0.5C。5、每片DS18B20具有唯一的64位序列码,这些序列码允许多片DS

26、18B20在同一条1-Wire总线上工作,因而,可方便地使用单个微处理器控制分布在大围的多片DS18S20器件。 6、DS18S20的测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时还可以传送给CRC校验码,它具有极强的抗干扰纠错的能力。7、DS18S20具有负载特性,当电源极性接反时,芯片不会因发热而烧毁,但是不能正常的工作。 3.3 44键盘用于计算机系统的键盘通常有两类:一类是编码键盘,即键盘上闭合键的识别由专用硬件来实现:另一类是非编码键盘,即键盘上闭合键的识别由软件来完成。本次毕业设计采用的是44矩阵键盘,矩阵键盘由行线与列线组成,按键位于行列线的交叉点上。如图3-

27、3所示,一个44的行列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵键盘较之独立式键盘要节省很多的I/O口线。 本次毕业设计中键盘的设计思路如下:对P1赋值使P1=0xff,然后令第一行即P1.0等于零,如果第一行有按键按下,则P1.4至P1.7的值会发生变化:如果第一个按键按下,则P1.4等于0;如果第二个按键按下,则P1.5等于0;如果第三个按键按下,则P1.6等于0;如果第四个按键按下,则P1.7等于0。按此规律,直至第四行扫描完成。图3-3为键盘的原理图在此系统中,键盘用于设定温度值,只是CPU的工作容之一。CPU对键盘的响应取决于键盘的工作方式,键盘的工作方式应根

28、据实际运用系统中CPU的工作状况而定,其选择的原则是既要保证CPU能与时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有3种,即编程扫描、定时扫描和中断扫描,本次毕业设计采用中断扫描。采用编程扫描或定时扫描,无论是否有键按下,CPU都要定时扫描,而按键按下不是经常发生的事件,这样CPU对键盘会时常进行空扫描。为进一步提高CPU的工作效率,故选用中断扫描,其工作过程如下:当无键按下,CPU处理自己的工作,当键盘上有键按下时才产生一个外部中断请求,CPU响应键盘中断请求,在中断服务子程序中扫描并判别键盘上闭合的键号,求出输入的数值。CPU对键盘上闭合键的键号进行确定,可以根据行

29、线和列线的状态确定;也可以预先在程序存储器中放入键盘键值表,本次毕业设计采用前者。3.4数码管在单片机应用系统常使用的是七段LED,这种显示器的结构如图2-1所示,共有8个发光二极管,其中7个发光二极管七段字形“8”,一个发光二极管构成小数点。本次毕业设计用的是四位共阴极数码管,数码管的发光二极管阴极接地,当某个发光二极管的阳极为高电平,即逻辑“1”时,发光二极管点亮。如图3-4所示,P0口接一个5V的上拉电阻,P0.0-P0.7依次与数码管的A-DP相接,构成数码管的段选,P2.0-P2.3依次与1-4相接,构成数码管的位选。图3-4 数码管显示原理图LED显示器工作原理:点亮显示器有静态和

30、动态两种方法。所谓静态显示,就是当显示某一字符时,相应的发光二极管恒定的导通或截止,如上图中七段显示器的a、b、c、d、e、f导通,g截止,则显示“0”。这种显示方式每一位显示器都需要有一个8位输出口控制,其优点是显示稳定,无闪烁,缺点是占用口线多,适用于显示位数较少的场合。当显示位数较多时,一般采用动态显示方法。所谓动态显示就是一位一位的轮流点亮各位显示器,对于每一位显示器来说每隔一段时间点亮一次。由于循环显示的频率高较高时,利用人眼的暂留特性,看不出闪烁现象,显示器的点亮既跟点亮时的导通电流有关,也跟点亮时间和间隔时间有关,调整电流和时间的参数,可实现亮度较高较稳定的显示。若显示的位数不大

31、于8位,则控制显示器的公共电极只需一个I/O口控制各位显示器,所显示的字形也只需一个I/O口。LED数码管分为共阳极和共阴极,不同的共极方式,显示同样的字符,数码管的段选是不同的,如下表1为七段共阴极LED字型码。表1 七段共阴极LED段字型码显示字符dpGfedcba共阴极0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH3.5光电耦合器光电隔离器件从大的方面来看,可粗略的分为光耦合器与应用光耦合器或其他

32、电子器件制成或应用光耦合器制成的器件。光耦合器因可实现输入与输出电位上的严格隔离,所以在电力电子设备中晶闸管的门极控制与全控型器件的驱动与信号传输实现输入输出的隔离等方面都得到了广泛的应用,光电耦合器虽种类较多,部结构有所不同,其速度也有差别,但其基本特性和参数定义却有共同点。在光电耦合器部,由于发光二极管和光敏管之间的耦合电容很小,所以共模输入电压通过极间耦合电容对电流Ic的影响很小,因而共模抑制比很高。光电耦合器中光敏管的集电极电流与发光二极管的注入电流之比称之为电流传输比。对于微小变量输出电流与注入电流之比叫微变电流传输。对于线性度比较好的光耦合器,以上两者近似相等。光耦合器的发光二极管

33、和光敏晶体管之间额隔离电阻(绝缘电阻)较大 ,隔离电压为5004000V,有的可达10KV,隔离电容小于2pF。光耦合器与晶体管一样,可以线性工作,也可开关状态工作。在电源的驱动电路中,光耦合器一般用来传送脉冲信号,所以光耦合器工作在开关状态。在高频工作时,应考虑光耦合器的响应时间。发光二极管电阻Ri的大小影响光耦合器的响应时间,Ri越小,光耦合器响应的时间越短,所以,在实际应用中,在光耦合器允许的集电极电流围,尽量减小负载电阻,以提高光耦合器的响应速度。MOC3041是直流输入双向晶闸管输出的光耦合器。该器件有输入、输出两部分组成,它的输入端有两个引脚,输入极是一个砷化镓红外发光二极管,工作

34、时该二极管发出足够的红外光,触发输出部分,它的输出端也有两个引脚组成,输出极为具有过零触发的光控双向晶闸管,当红外发光二极管过515mA的正向电流时,发出红外光,输出极的双向晶闸管的光敏基极受到红外光的照射,而触发双向晶闸管,使输出端电压接近0时导通,即输入与输出端有光耦合,器件导通后,其输出端电压降至很低,当电流小于双向晶闸管维持电流100A时,双向晶闸管关断。如图3-5所示,单片机的P3.0通过7406反相器接在MOC3041的阴极(管脚2),当P3.0口置1时,MOC3041的管脚2被置零,又5/330=0.015A,即MOC的触发电流小于但约等于15Am,MOC3041的红外发光二级管

35、发出足够的红光,触发输出部分。当P3.0置0时,MOC3041的管脚2被置1,处于高电平,此时,MOC3041的红外发光二极管处于截至状态,输出部分不被触发。 MOC3041相关参数如下:(1)、隔离电压:7500V ac(2)、输出类型:过零检测(3)、输入电流:60mA(4)、输出电压:400V(5)、针脚数:6(7)、光电耦合器类型:三端双向可控驱动器(8)、关态电压:400V(9)、功耗:250mW(10)、工作温度围:-40C至+85C(11)、正向电压Vf最大:1.5V(12)、电压, Vf典型值:1.25V(13)、触发电流, If最大:15mA3.6 双向晶闸管在温度控制系统中

36、,主电路一般使用晶闸管组成开关电路,通过控制晶闸管的导通时间来控制加热时间,因此本系统中,主电路采用了双向晶闸管,在交流电压的正半周期使其沿某方向导通,在负半周期则逆向导通。主要参数的选取:负载为220V,120W的PTC加热器负载电流有效值为负载电流峰值为因为当双向晶闸管全开时,单方向的电流为交流半个周期的电流,所以而流过双向晶闸管的电流的平均值晶闸管额定电压的选择:晶闸管的额定电压应为正常工作峰值电压的2-3倍。所以取U=600V。晶闸管额定电流的选择:晶闸管通态平均电流为实际正常平均值的1.5-2.0倍。=2.0=2.00.49=0.98A所以晶闸管的额定电流可取8A。根据计算的数据选择

37、双向晶闸管的型号为BTA08-600C。主要参数为:通态电流IT(RMS)=8A浪涌电流ITSM=80A正向耐压VDRM600V反向耐压VRRM600V触发电流IGT25mA通态压降VTM1.55V晶闸管的过流,过压保护采用了一般的阻容保护电路,其参数为:=500.1(220)=0.0484w图3-5 光电耦合器控制可控硅原理图3.7 PTC加热器加热装置是对温室进行加热,使温度稳定在设定的温度值。本系统采用PTC加热器进行加热。PTC是Positive Temperature Coefficient 的缩写,意思是正的温度系数,泛指正温度系数很大的半导体材料或元器件。通常我们提到的PTC是指

38、正温度系数热敏电阻,简称PTC热敏电阻。图3-6是其电阻随温度变化的曲线,PTC热敏电阻是一种典型具有温度敏感性的半导体电阻,超过一定的温度(居里温度)时,它的电阻值随着温度的升高呈阶跃性的增高。瓷材料通常用作高电阻的优良绝缘体,而瓷PTC热敏电阻是以钛酸钡为基,掺杂其它的多晶瓷材料制造的,具有较低的电阻与半导特性。通过有目的的掺杂一种化学价较高的材料作为晶体的点阵元来达到的:在晶格中钡离子或钛酸盐离子的一部分被较高价的离子所替代,因而得到了一定数量产生导电性的自由电子。对于PTC热敏电阻效应,也就是电阻值阶跃增高的原因,在于材料组织是由许多小的微晶构成的,在晶粒的界面上,即所谓的晶粒边界(晶

39、界)上形成势垒,阻碍电子越界进入到相邻区域中去,因此而产生高的电阻,这种效应在温度低时被抵消:在晶界上高的介电常数和自发的极化强度在低温时阻碍了势垒的形成并使电子可以自由地流动。而这种效应在高温时,介电常数和极化强度大幅度地降低,导致势垒与电阻大幅度地增高,呈现出强烈的PTC效应。图3-6 PTC电阻温度曲线PTC型瓷加热器采用PTC瓷发热组件与波纹铝条经高温胶粘组成。该类型PTC加热器有热电阻小、换热效率高的优点,是一种自动恒温、省电的电加热器。它的显著特点有加热器本体的设计加热温度在200摄氏度以下的多档次,任何情况下本体不发红且有保护隔离层,任何应用场合均不需要石棉等隔热材料进行降温处理

40、,可放心使用不存在对人体烫伤和引发火灾的问题。比较电热管和电阻丝加热产品,本产品是靠材料自身的特性,根据环境温度的改变来调节自身的热功率输出,所以它能将加热器的电能消耗优化控制在最小,同时高发热效率的材料也大幅提升了电能的利用效率。本次毕业设计我所选用的PTC加热器的主要参数有电压:220V,功率120w,长40mm,宽40mm,厚7mm。属于小功率类型,用其加热时恒温发热、无明火、热转换率高、受电源电压影响小。3.8 反相器7406在本系统中,两次运用了7406反向器,一次是在单片机的P3.0口与MOC3041的管脚2之间,作用是使P3.0被置1时,MOC3041的管脚2被置0,且与真实的0

41、更接近,MOC3041的光敏二级管导通;当P3.0被置0时,MOC3041的管脚被置1,且更接近5V,使MOC3041的光敏二级管真正能够处于截至状态。另一处是与蜂鸣器的阴极相接,作用和上述的类似。我所采用的型号是SN7406N,14管脚,6路独立反向驱动,VCC的围为4.75-5.25V。图3-7 反相器7406管脚3.9双四输入与门74LS2174LS21是双输入四与门,Y=ABCD,我所使用的型号是SN74LS21N,14管脚,VCC的围为4.75-5.25V,推荐使用5V。在此系统中,按键未按下时,P3.2始终为高电平,当有键按下时,通过74LS21的作用,输出低电平,使P3.2的高电

42、平变为低电平,触发外部中断0,在中断程序里扫描键盘,并计算输入的温度的设定值。使用中断的好处是使CPU在有键按下时才扫描键,提高了CPU的效率。图3-8 四输入与门74LS21管脚3.9蜂鸣器本次毕业设计的警报部分是通过一个有源的3V蜂鸣器来实现的,当实际温度超上限或低下限时进行危险报警,其长脚为正极,短脚为负极,正极与5V电压相接,负极通过一个7406与P3.1相接。第四章 控制系统软件设计 为了实现系统的温度检测和控制,并能够实时显示,整个系统由如下几个主要模块组成,主程序模块、温度采集模块、温度设定模块、温度显示模块,报警模块,温度控制模块等几个模块组成。本章将对如上所叙述的几个模块分别

43、进行介绍,并阐述程序的编写思路和所实现的功能。4.1 主程序模块设计主程序的主要设计思想是围绕题目基本要求而展开的,系统按键设定温度产生外部中断0,转入中断服务程序,在中断服务程序中获取设定的温度值,之后在主程序进行数据存储、调用数码管显示、报警控制、温度控制等子程序模块。所以主程序主要是对系统的初始化和调用各子程序模块。4.1.1主程序流程图图4-1为主程序流程图图4-1 主程序流程图4.2温度采集模块程序设计温度的采集是数字温度计DS18B20通过单片机进行严格的时序控制来完成的,在空间不是很大的围,采用一片DS18B20进行单点测温即可实现对温度的较为精确的控制。4.2.1 DS18B2

44、0的时序DS18B20的时序可分为三个部分:初始化时序、写时序和读时序。只有遵守严格的时序,DS18B20才能进行温度的采集。4.2.2.1 初始化时序DS18B20的所有通信都是由复位脉冲组成的初始化序列开始。该初始化序列由主机发出,后跟由DS18B20发出的存在脉冲(presence pulse)。图4-2阐述了这一点,当发出应答复位脉冲的存在脉冲后,DS18B20通知主机它在总线上并且准备好操作了。在初始化步骤中,总线上的主机通过拉低单总线至少480s来产生复位脉冲。然后总线主机释放总线并进入接收模式。当总线释放后,5k的上拉电阻把单总线上的低电平拉回高电平。当DS18B20检测到上升沿

45、后等待15到60s,然后以拉低总线60-240S的方式发出存在脉冲,主机将总线拉低最短480S,之后释放总线。由于5k上拉电阻的作用,总线恢复到高电平。至此,初始化和存在时序完毕。4.2.2.2写时序如图4-3所示,所有的写时隙必须至少有60s的持续时间。相邻两个写时隙必须要有最少1s的恢复时间。所有的写时隙(写0和写1)都由拉低总线产生。为产生写1时隙,在拉低总线后主机必须在15s释放总线(拉低的电平要持续至少1us)。由于上拉电阻的作用,总线电平恢复为高电平,直到完成写时隙。为产生写0时隙,在拉低总线后主机持续拉低总线即可,直到写时隙完成后释放总线(持续时间60-120s)。写时隙产生后,

46、DS18B20会在产生后的15到60s的时间采样总线,以此来确定写0还是写1。4.2.2.3读时序如图4-4所示,DS18B20只有在主机发出读时隙时才能发送数据到主机。因此,主机必须在BE(读存储器)命令,B4(读电源)命令后立即产生读时隙以使DS18B20提供相应的数据。另外,在44(温度转换)命令,B8(recall)命令后也要产生读时隙。所有的读时隙必须至少有60s的持续时间。相邻两个读时隙必须要有最少1s的恢复时间。所有的读时隙都由拉低总线,持续至少1s后再释放总线(由于上拉电阻的作用,总线恢复为高电平)产生。DS18B20输出的数据在下降沿产生1后5s有效。因此,释放总线和主机采样

47、总线等动作要在15s完成。图4-2 DS18B20复位时序图图4-3 DS18B20写时序图图4-4 DS18B20读时序图4.2.3 读温度子程序流程图读温度子程序是在单片机的控制下,形成严格的时序,完成温度的转换并作数据的相应处理。温度转换命令子程序主要是发温度转换开始命令,本次毕业设计采用12位分辨率,转换所需的时间约为750ms。因为是单点测温,不需要CRC校验。图4-5为读温度子程序流程图图4-5 读温度子程序流程图4.3温度设定模块程序设计温度设定模块是用来设定温度的,通过4X4键盘输入想要控制的温度值。本次毕业设计通过中断进行扫描。4.3.1中断服务子程序 系统中中断采用的是外部

48、中断0,外部中断0的初始化子程序在主程序开始时即被调用,当键盘上有键按下时,即产生一个外部中断0,执行中断子程序,获取输入的设定值,之后中断回。 图4-6为中断服务子程序的流程图图4-6 中断服务子程序流程图4.3.2 键盘扫描子程序键盘的扫描是中断扫描,若有键按下,则从第一行开始扫描,直到确定按键的行与列,确定键值,并返回键值。图4-7为键盘扫描子程序流程图图4-7 键盘扫描子程序流程图4.4温度显示模块设计温度显示模块要显示的温度有设定值与实际值,通过P3.5的电平的高低来控制,而P3.5电平的高低由与其相连的开关的通断来控制。4.4.1设定值显示子程序设定的数值围为自然状态下室温-125

49、且为整数,所以四位七段的数码管的左数第一位的位选信号始终被置零,P0口进行段选,P2口的低四位依次进行千、百、十、个位的数码管的位选。图4-8为设定值显示子程序的流程图图4-8 设定值显示子程序4.4.2 实际值显示子程序实际值是一个温室自然状态下的室温-125之间的数,其带有一位小数,四位八段的数码管从左至右依次是百位、十位、个位、十分位。数码管的段选口还是P0口,P2口的低四位依次是百位、十位、各位、十分位数码管的位选口线。图4-9为实际值显示子程序的流程图。图4-9 实际值显示子程序流程图4.5温度控制模块设计温度控制模块简单的说就是要实现温度的控制,实际温度高于设定值,降温;实际温度低

50、于设定值,加热。系统中加热的装置为PTC加热器。4.5.1双位控制算法设计温室环境是一个复杂分布式参数系统,由于其本身的复杂性和外界大气候较强的影响,要使自控系统将其控制到一定的指标上存在一定的难度,但由于温室作物对于各种参数变化不是很敏感,因此,没有必要将各种参数进行精确控制,只要控制在一段适宜的围即可,又考虑到本智能终端的通用性,本次毕业设计采用实现起来比较简单的双位控制算法。双位控制又称为继电器接触控制,理想的双位控制规律的数学表达式为:双位控制规律是测量值大于(或小于)给定值时,控制器的输出为最大(或最小)值,即系统只有两个输出值,在此系统中,P3.0就相当于一个双位控制器。其只有“1

51、”和“0”这两种状态。执行机构也只有“开和“关两个极限工作位置。给定温度的设定值,当被控温室的温度低于设定值时,P3.0置1,PTC加热器工作,而当温室的温度高于设定值时,P3.0置0,关闭PTC加热器,从而实现温度的控制。双位控制对象特性好、负荷变化较小、过程滞后小、允许被控制参数在一定的围波动,可以适用于温室系统的控制。4.5.2温度控制子程序流程图图4-10为温度控制子程序流程图图4-10 温度控制子程序流程图4.6报警模块程序设计报警模块的工作很简单,就是判断实际温度超上限或低下限报警。图4-11为报警控制子程序流程图图4-11报警控制子程序流程图第五章 结果分析5.1 PROTEUS

52、仿真总体电路原理图设计好后,在KEIL3里用C语言编出相应的程序,程序调试在没有问题后,接着就对程序进行仿真,总体思路是:由局部到整体。首先进行键盘设定温度值并用数码管显示的仿真,再进行DS18B20采集温度并用数码管显示的仿真,这两个关键部分完成后,就进行总体程序的仿真。5.1.1 键盘设定温度仿真将44键盘的扫描程序编好后,在PROTEUS里进行仿真,发现当我按下某个按键时,数码管的百位,十位,各位显示的都是那个键的值,比如我按下3的时候,这三个位的数码管都是3,思考了许久,我初步判断原因可能是是按键按下后,因为键盘一直处于按下的状态,而按键扫描程序扫描按键的速度非常快,以至于我按下一次,

53、键盘扫描了好些次,如此想后,我就设定一个标志位,按键按下置1,键抬起置0,但效果依旧不佳;最后,我在扫描每行键的最后都加上一个判断按键是否释放的程序,如释放,再读取键值,如此之后,就能正确输入按键的值,比如,我要输入123,就只需要依次按下1、2、3。如图5-1所示,键盘设定初值32并用数码管显示图5-1 键盘设定温度32仿真5.1.2 温度采集仿真根据DS18B20的时序图编好程序并在KEIL3里检查好语法没有错误后,到PROTEUS里进行仿真。开始在PROTEUS里设定改变温度的步长为1,在软件里也就相应的将采集到的温度设置为整数,上下限与这个整数相差为一度。这样会使误差加大,之后将仿真的

54、步长改为0.1,程序也做出相应的的修改,使实际温度保留一位小数。仿真能够获取实际温度,这个实际温度可从DS18B20的仿真模型中设置。如图5-2所示,PROTEUS仿真温度采集,获取当前的环境温度为28.7。图5-2 温度采集仿真5.1.3 整体仿真因为实际温度保留一位小数,在仿真的时候,就出现了一个错误,比如,我设定的温度为28摄氏度时,在正确的情况下,蜂鸣器会在实际温度小于27和大于29报警,但是仿真出来的结果是小于27时,蜂鸣器报警,但是当温度大于29时蜂鸣器并未报警,直至实际大于30时蜂鸣器才会报警。仔细检查程序后,我发现在读温度子程序模块中,我读取的是实际温度的10倍并取整,然后在我

55、将其与实际值比较之前,又让其除以10,所得值赋给一个整形数,这样就出现了这样种情况,比如,我最初测得的实际值是27.8,10倍变为278,这是为了方便显示,为了判断是否报警,我要将其与设定值比较,又设定值是个整形数,因此,将此数缩小10倍,赋给一个整形数后实际温度就变为27。如此实际温度就当于自减了1,故要到实际值为30时才能报警。实际温度比设定小1能报警,又是因为,只有实际值比设定值小1才会报警,实际温度等于设定的下限并不会报警,因此,(27.0-27.9)赋值给整形数始终是27,只有当实际温度小于27时,实际值才会小于下限(设定值28-1),蜂鸣器才会警报。找出问题的所在后,我将设定值扩大

56、10倍,再与实际值的10倍比较,这样就很好的解决了这个问题。仿真总体完毕。由上可知,在仿真调试过程中,我遇到了很大的麻烦。在仿真的过程中,有时会感觉程序和硬件都没有一点问题,但是就是不能实现系统所要实现的功能,因为它不允许软件和硬件有一点问题,哪怕是细小的一点问题都不允许。举一个最简单的例子,就拿数码管显示程序的调试仿真来说,PROTEUS 里单片机的I/O口可以直接驱动动态显示的数码管,但在实际中却是不可以的。因为在PROTEUS中加热装置和实际出入大,所以在PROTEUS里进行加热仿真就是成功也没有太大的实际意义,所以我只进行了系统中两个重要部分的软件仿真,以与这两部分合起来的一个总体仿真

57、。5.2实际运行结果仿真结果符合预期后,我就着手实物的制作,将所用到的元件焊接在电路板后,就开始测试系统性能。第一次因为焊接技术不过关,数码管显示时好时坏,为了求得个良好的结果,我又重新将元件焊接在另一块板子上,积累了上次焊接的经验后,第二次的焊接效果比之前好了很多,数码管显示正常。由于是动态显示,数码管的亮度不是很高。加热装置我选择的是PTC加热器,其功率为120W,很小,只能在比较小的空间才能进行温度控制。在实际的试验中,DS18B20在以此加热器为圆心,以半径20CM为圆,高度不超过15CM圆柱围,控制效果良好,误差较小。以下简述实际试验的一些情况。首先,给单片机上电后,设定温度为29,

58、这个值就是我的期望值了,与此同时,软件中相应的把系统能容忍的温度上下限分别定为30和28,按下温度的切换键,显示当前温度为27.6,低于温控系统要求的下限,产生报警。因为实际温度小于设定温度,PTC加热,一小段时间后,警报解除,说明温度已进入温度控制系统的上下限之间,又过了一段时间(时间长短由DS18B20离PTC加热器的距离而变,但当系统稳定后,时间的差异性变小),实际温度达到29,PTC关断,其余温使温度继续上升,但没有触发警报,一段时间后,温度又降到29度,比29稍低一点,PTC就会加热,因为PTC的加热很快,冷却较慢,实际温度在PTC关断后,下降超过设定值的幅度很小,即使再小,PTC也

59、会进行加热,如此循环,经过多次长时间的试验,实际温度28.8T29.8,误差为1左右,又由于DS18B20的误差为0.5,累计的最大误差为2,这个误差在本系统中是可以容忍的。故本次毕业设计总体来说是成功的。图5-3,为本次毕业设计的实物显示设定温度图5-4,为本次毕业设计的实物显示实际温度图5-3 系统运行显示设定温度图5-4 系统运行显示实际温度第六章 总结与展望6.1总结无论仿真还是在实际试验中,本系统都达到了预期的要求。本次毕业设计主要完成的工作有:硬件电路图设计、软件编程与仿真调试、硬件制作等。以下是具体的总结:(1)以AT89C51单片机为核心进行系统设计,输入通道采用DS18B20

60、芯片,完成温度的采集以与输出数字量;输出通道采用光电耦合器控制双向可控硅作为开关管理PTC加热器的通断。通过双位控制调节可实现对温度的自动控制。由于输入端与输出端有光电隔离,能够有效地抑制干扰;(2)在温度控制系统中采用双位控制算法,将单片机的某个口线作为双位控制器,通过置“0”或置“1”控制输出通道的通断。(3)采用C51进行编程,通用性强。在原理图设计过程中使用了PROTEUS仿真,这些都节约了设计的时间,而且便于编写、调试、修改和增删,系统软件的编制采用了模块化的设计方法。(4)制作硬件的时候采用双面的焊接板,辅于焊锡膏,焊接可靠,在完成时,用万用表对焊接件进行“虚焊”与短路测试。减少硬件调试不成功寻找因素的麻烦。(5)根据温控空间的大小选择加热装置功率的大小。(6)使用温度计对18B20所测得的温度进行校正,可使结果更接近真实情况。6.2展望本系统使用的AT89C51属于与C51系列兼容的8位单片机,这种单片机共4个I/O口,32根口线,资源较少,运用于较复杂的系统中需要扩展,而且扩展的空

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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