基于单片机的PWM控制方法的精密温度控制毕业设计(论文).doc

上传人:laozhun 文档编号:3939782 上传时间:2023-03-28 格式:DOC 页数:41 大小:938.50KB
返回 下载 相关 举报
基于单片机的PWM控制方法的精密温度控制毕业设计(论文).doc_第1页
第1页 / 共41页
基于单片机的PWM控制方法的精密温度控制毕业设计(论文).doc_第2页
第2页 / 共41页
基于单片机的PWM控制方法的精密温度控制毕业设计(论文).doc_第3页
第3页 / 共41页
基于单片机的PWM控制方法的精密温度控制毕业设计(论文).doc_第4页
第4页 / 共41页
基于单片机的PWM控制方法的精密温度控制毕业设计(论文).doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《基于单片机的PWM控制方法的精密温度控制毕业设计(论文).doc》由会员分享,可在线阅读,更多相关《基于单片机的PWM控制方法的精密温度控制毕业设计(论文).doc(41页珍藏版)》请在三一办公上搜索。

1、惠州学院 HUIZHOU UNIVERSITY毕 业 论 文(设 计) 中文题目:基于单片机的PWM控制方法的精密温度控制 系统设计 英文题目:Design of Precise Temperature Control System Based on PWM Control Method of Microprocessor 姓 名: 姚佑鹏 学 号: 090701224 专业班级: 09电气工程及其自动化2班 指导教师: 李卫平 提交日期: 2013-05-15 教务处制 摘 要本文设计了一种以单片机STC89C52为核心的精密温度控制系统。它使用一线制数字温度传感器DS18B20采集温度,并

2、通过四位数码管显示实时温度。通过设置按键,设定恒温运行时的温度值,并显示在数码管上。单片机采用PID控制算法对测量值和设定值进行处理,计算输出PWM波控制继电器调节发热电路的发热功率,最终控制被控对象温度。通过原理分析,软硬件设计及实验调试,温度能够实时检测和自动控制,系统的温度控制精度可达到0.5,表明该温度系统比较稳定并且精确,能够实现对温度的精密控制。关键词:温度控制 MCS-52 DS18B20 PID PWM Abstract A precise temperature control system with the core of microprocessor STC89C52 i

3、s designed in this paper. In this system, one-wire digital thermometer DS18B20 is used to transform analog temperature signal to digital signal,through four real-time digital of a digital thermometer temperature.bysettingthebutton,set the thermostat temperature at the timeofoperation,anddigitaldispl

4、ayofthetemperature.Single-chip Microcomputer used PID control algorithm to process the data measurement and data settings,and calculate the PWM signal, is outputted and magnified to drive a solid state relay so that the power of heat circuit is adjusted.Thus the temperature of the object can be cont

5、rol. Through many of theory, design and experiments, the temperature of real-time detection and automatic control test is reached,and the error of this system is 0.2. It show that the system is precise and steady, and control precise temperature.Keywords: Temperature control MCS-52 DS18B20 PID PWM 目

6、 录1 前言12 设计理论基础22.1 PWM控制技术22.2 数字PID算法23 系统的方案设计43.1系统设计内容及要求43.1.1设计内容43.1.2设计要求43.2方案设计的比较与论证44 系统硬件电路的设计64.1单片机最小系统模块74.1.1 单片机STC89C52的简介74.1.2 单片机系统模块的硬件设计104.2 功能实现模块114.2.1 采样模块114.2.2 按键模块124.2.3 显示模块134.4 温度控制模块145 系统软件设计155.1 主程序模块155.2 功能实现模块175.2.1 温度采样子程序175.2.2 显示子程序175.3 运算控制模块186 系统

7、调试196.1 Keil软件的简介196.2 Proteus软件的简介196.3 软件仿真206.4 硬件调试216.5调试结果227 结论24致谢25参考文献26附录271 前言温度是众多行业生产中的基础参数之一,也是与人们生活息息相关的一个重要物理量。温度的测量和控制在日常生活和工业领域中具有广泛的应用,随着社会的进步、工业的发展,温度控制技术的不断革新,人们生活水平的大幅提高,对温度测量控制的精度和范围也有着更高的要求。因此,温度控制是生产工艺流程中极为重要的一个环节,尤其在电力、航天、交通、造纸、装备制造、食品加工等行业有广泛的应用。利用单片机来对温度进行控制,不仅能够有效地提升控制能

8、力与生产的自动化,而且还有可能尽早实现智能化的目标。和传统的温度控制相比,基于单片机数字PID算法和PWM控制技术的温度控制系统不仅能保持系统稳定精确,还可以降低能源消耗。因为传统的温度控制都是通过电阻限流的方式达到的温度控制,这类控制对象惯性大,滞后现象严重,从而导致控制系统性能不佳,甚至出现控制不稳定、失控等现象,而且其整体的功率并没有根本性的改变,造成了能源的浪费。而PID控制方式控制稳定且精度高,能满足精密温度控制系统的稳定要求。PWM控制技术则通过占空比的改变实现对加热电路发热功率的调节,不存在限流的损失,减少了能源的消耗。本设计又采用DS18B20数字温度传感器,该传感器具有微型化

9、、封装简单、低能耗、高性能抗干扰能力、测量范围广、强易配处理器等优点,可使系统测量更加精确,电路更加简单。2 设计理论基础 本设计系统以单片机STC89C52为核心,采用温度传感器DS18B20获取实时温度,结合数字PID控制算法和PWM控制技术,控制调节加热电路的发热功率,最终控制被控对象的温度。本章将逐一介绍以上所涉及到的控制算法和控制技术。2.1 PWM控制技术PWM是英文“Pulse Width Modulation”的缩写,即脉冲宽度调制,简称脉宽调制。它是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式

10、能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 PWM是开关型稳压电源中的术语。这是按稳压的控制方式分类的,除了PWM型,还有PFM型和PWM、PFM混合型。脉宽宽度调制式(PWM)开关型稳压电路是在控制电路输出频率不变的情况下,通过电压反馈调整其占空比,从而达到稳定输出电压的目的。 其中方波高电平时间跟周期的比例叫占空比,例如1秒高电平1秒低电平的PWM波占空比是50% 。PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换,PWM相对于模拟控制的另一个优点

11、是增强对噪声抵抗的能力。2.2 数字PID算法 PID算法是本系统软件程序中的核心部分。我们采用PID模糊控制技术,通过Pvar、Ivar、Dvar(比例、积分、微分)三方面的结合调整形成一个模糊控制来解决惯性温度误差问题。其原理如下: 本系统的温度控制器的电热元件是发热片。发热片通过电流加热时,内部温度都很高。当容器内温度升高至设定温度时,温度控制器会发出信号停止加热。但这时发热片的温度会高于设定温度,发热片还将会对被加热的器件进行加热,即使温度控制器发出信号停止加热,被加热器件的温度还往往继续上升几度,然后才开始下降。当下降到设定温度的下限时,温度控制器又开始发出加热的信号,开始加热,但发

12、热片要把温度传递到被加热器件需要一定的时间,这就要视发热热与被加热器件之间的介质情况而定。通常开始重新加热时,温度继续下降几度。所以,传统的定点开关控制温度会有正负误差几度的现象,但这不是温度控制器本身的问题,而是整个热系统的结构性问题,使温度控制器控温产生一种惯性温度误差。增量式PID算法的输出量为 式中,e(k)、e(k-1)、e(k-2)分别为第n次、n-1次和n-2次的偏差值,Kp、Ki、Kd分别为比例系数、积分系数和微分系数,采样周期为T。 计算机每隔固定时间 T将现场温度与用户设定目标温度的差值带入增量式PID算法公式,由公式输出量决定PWM方波的占空比,后续加热电路根据此PWM方

13、波的占空比决定加热功率。现场温度与目标温度的偏差大则占空比大,加热电路的加热功率大,使温度的实测值与设定值的偏差迅速减少;反之,二者的偏差小则占空比减小,加热电路加热功率减少,直至目标值与实测值相等,达到自动控制的目的。 PID参数的选择是系统设计成败的关键,它决定了温度控制的准确度。数字PID调节器参数的整定可以仿照模拟PID调节器参数整定的各种方法,根据工艺对控制性能的要求,决定调节器的参数。各个参数对系统性能的影响如下: 1.比例系数P对系统性能的影响:比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小;P偏大,振荡次数加多,调节时间加长;P太大时,系统会趋于不稳定;P太小,又会使系

14、统的动作缓慢。P可以选负数,这主要是由执行机构、传感器以及控制对象的特性决定的。如果P的符号选择不当对象测量值就会离控制目标的设定值越来越远,如果出现这样的情况P的符号就一定要取反。 2.积分控制I对系统性能的影响:积分作用使系统的稳定性下降,I小(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。 3.微分控制D对系统性能的影响:微分作用可以改善动态特性,D偏大时,超调量较大,调节时间较短;D偏小时,超调量也较大,调节时间也较长;只有D合适,才能使超调量较小,减短调节时间。3 系统的方案设计3.1系统设计内容及要求3.1.1设计内容 1.温度信号采集与处理;2.PID算法的设

15、计;3.PWM占空比的改变;4.设计电路并进行仿真; 5.制作硬件电路并完成软件、硬件的联调及测试。3.1.2设计要求 1.温度控制范围:室温0+100;2.温度控制精度:0.5;3.温度设置:由按键设置控制温度;4.显示:四位有效值显示;5.报警装置:实时温度超过设置温度时蜂鸣器提示报警。 3.2方案设计的比较与论证对本次设计进行深入的分析和思考,可将整个系统分为控制电路、温度测量电路、显示电路、按键电路、加热电路和报警装置六部分。系统整体结构如图3-1所示。单片机加热电路报警装置显示电路温度测量电路按键电路图3-1 系统整体结构框图根据系统设计要求,选择发热片作为加热电路的加热元件,所需供

16、电电源12V直流电。这具体的方案有二:1. 方案一 采用AT89C51作为控制核心,使用热敏电阻作为测温元件,配合使用最为普遍的器件ADC0809作模数转换,在控制上使用对电阻丝加电使其升温。此方案简易可行,器件的价格便宜,但其扩展的外围电路较多,增加了电路的复杂性,且ADC0809是8位的模数转换,不能满足本题目的精度要求。2. 方案二采用比较流行的STC89C52作为电路的控制核心,使用自带模数转换的温度传感器DS18B20,结合数字PID算法,实现闭环控制,并通过PWM控制技术控制继电器的通断以实行对发热片温度的连续调节,此方案电路简单并且可以满足题目中的各项要求的精度。 综上所述,本着

17、简单实用的原则,最后选择第二种方案,并通过四位数码管显示电路和按键电路来完善整个系统的功能。4 系统硬件电路的设计硬件的功能由总体设计所规定,硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的电路原理图,以此同时用软件对电路原理图进行仿真,以确定电路图的正确性,以及电路板的焊接等。 硬件电路主要由三大模块构成,分别是:单片机最小系统模块、功能实现模块、温度控制模块。其硬件原理框图如图4-1所示:单片机STC89C52蜂鸣器报警发热片继电器数码管显示按键电路DS18B20采样 图4-1 硬件原理框图温度传感器DS18B20将获取到的温度值以数字量

18、形式传至单片机,并在LED数码管上实时显示出来,单片机结合现场实时温度与通过按键设定的目标温度,按照已经编程好的数字PID控制算法计算出实时控制量,并转化为输出PWM波所需的占空比值,以此控制继电器的开通和关断,决定加热电路的工作状态,使发热片的温度逐步稳定于设定的目标温度。在发热片的温度到达设定的目标温度后,由于自然冷却而使其温度下降时,单片机通过采样的实时温度与设置的目标温度比较,做出相应的控制,开启继电器,为发热片通电加热。当所测温度超出设定好的温度值,报警装置的蜂鸣器将会报警提示。单片机温度控制系统设计的硬件设计仿真图如图4-2所示:图4-2 仿真原理图4.1单片机最小系统模块4.1.

19、1 单片机STC89C52的简介 STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统5

20、1的5向量2级中断结构),全双工串行口。 STC89C52有40引脚双列直插(DIP)形式。其与89C51引脚结构基本相同,其逻辑引脚图如图4-3。 图4-3 STC89C52引脚图 管脚说明:1. VCC:供电电压。2.GND:接地。3.P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。4.P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲

21、器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 5.P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2

22、口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。6.P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如表4-1。口管脚 备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6 /WR(外部数据存

23、储器写选通)P3.7 /RD(外部数据存储器读选通)表4-1 P3口特殊功能表 7.RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。8.ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该

24、引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。9./PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 10./EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。11.XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。12.XTAL2:来自反向振

25、荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模

26、式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。4.1.2 单片机系统模块的硬件设计STC89C52单片机为40引脚双列直插芯片,有四个8位I/O口(P0、P1、P2、P3),每一位I/O端口都能独立地作为输出或输入。其中,P0口为一个8位漏级开路双向I/O口,其驱动能力强于其他三个I/O口。由于P0口内部没有上拉电阻,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。一般51单片机的P0口在作为地址/数据复用时不接上拉电阻。但作为一般

27、的I/O口时用时是要接上拉电阻。单片机的最小系统电路原理图如图4-4所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。第9引脚为复位输入端,接上电容,电阻及开关后能够形成上电复位电路。图4-4 最小系统电路原理图4.2 功能实现模块 功能实现模块主要包括采样模块、按键和显示模块及报警和指示灯模块,一起构成了温度控制系统的功能4.2.1 采样模块 DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样

28、,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。 DS18B20的主要特性: 1.适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电; 2.独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现

29、微处理器与DS18B20的双向通讯; 3.DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温; 4.DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内; 5.温范围55125,在-10+85时精度为0.5; 6.可编程的分辨率为912位,对应的可分辨温度分为0.5、0.25、0.125和0.0625,可实现高精度测温; 7.在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快; 8.测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传

30、送CRC校验码,具有极强的抗干扰纠错能力; 9.负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 因此,本系统采样电路采用的是温度传感器DS18B20,其内部自带A/D转换,无需任何外围元件,可以直接输出温度值的912位串行数字量,其温度转换最大时间为750ms,能够满足本系统的设计要求。温度采样电路如图4-5所示。其中DQ为数字信号输入/输出端;GND为电源地;VCC为外接供电电源输入端。 图4-5 采样电路4.2.2 按键模块 按键电路采用按键与外部中断相结合的方法,各按键功能定义如表4-2所示。表4-2 按键功能表按键键名功能KEY1加1键设定的温度值加1KEY2转位键转

31、到数码管的下一位KEY3进入/退出键此键按下,进入温度设定;此键再按,退出温度设定。按键KEY3与单片机的INT0(P3.2)脚相连,采用外部中断方式,且优先级定位高优先级。按键KEY1和KEY2分别于P3.0和P3.1相连,采用软件查询方式。按键模块电路如图4-6所示。图4-6 按键电路原理图4.2.3 显示模块 显示硬件电路采用4位共阴LED数码管显示方式,显示内容有温度值的百位、十位、个位及小数点后一位。用P2口的P2.0P2.3作为位控码输出,用P0口作为段控码输出,都采用74LS04做为驱动电路。模块电路如图4-7所示。图4-7 显示接口电路原理图4.4 温度控制模块加热控制电路采用

32、PWM控制技术在闭环控制系统中控制继电器的通断,以实现对发热片加热功率的调整,从而达到对水温控制的目的。继电器的使用非常简单,只要在使用时完全可以用PNP型三极管接成电压跟随器的形式驱动。当单片机的P1.0为低电平时继电器关断,加热电路不工作;当单片机水温P1.0为高电平时,三极管驱动继电器工作,接通加热电路工作。控制电路图如图4-8所示。图4-8 加热控制电路原理图5 系统软件设计软件编写的语言一般情况下,有汇编语言和语言两种,两种语言各有优劣。用语言编写程序的优点是:编写简单,容易上手,网上有许多已编写好的子程序,可以通过学习再结合自己想要实现的功能,从而编写相关的程序,因此开发程序所需时

33、间也相对短。而用汇编语言编写则相对要求高一些,它要求对硬件有足够的了解和认识,在此基础上,严格地对照各部件的时序图,进行程序的编写,而且读起来相对繁琐。通过两种语言的比较,语言学起来很快,所以我选择采用C语言编写。本系统软件设计采用模块化设计,由主程序模块、功能实现模块和运算控制模块三大模块组成。 5.1 主程序模块 主程序主要完成PID算法、中断源及加热控制系统各部件的初始化和实现各功能子程序的调用,以及实际测量中各个功能模块的协调在无外部中断申请时,单片机通过循环实时显示外部温度。把KEY3键作为最高优先级的外部中断0,以便使主程序能实时响应KEY3键按下的处理。软件设定定时器T0为3s定

34、时,在无按下KEY3键时,应每隔3s响应一次,调用PID算法子程序求出输出控制量,以此来控制发热电路的发热功率,最终控制发热片的温度。主程序流程图如图5-1所示。具体源程序见附录。开始初始化所有参数外部中断INT0初始化定时器T0初始化 显示子程序 按键扫描子程序按键按下? Y N采样子程序设定值大于温度值?越限报警 Y N N定时3s? N YPID控制子程序PWM输出子程序 图5-1 主程序流程图 5.2 功能实现模块 功能实现模块主要由温度采样子程序、中断处理子程序、按键处理子程序、显示子程序等部分组成。5.2.1 温度采样子程序 温度采样子程序在整个系统软件编程中起着很重要的作用。通过

35、温度采样子程序的运用,系统才能实时获取温度值,并为接下来的运算控制子程序提供很重要的温度参数值。则温度传感器DS18B20的程序流程图如图5-2所示。具体源程序见附录。温度转换完毕?毕?返回读取温度跳过序列号命令初始化开始发送温度转换命令 N Y 图5-2 DS18B20程序流程图5.2.2 显示子程序显示数据子程序的主要功能就是把测温后的结果和按键设定值经单片机处理完毕后,显示在四位LED数码管上。显示子程序流程图如图5-3所示。具体源程序见附录。开始数据传送? N 显示数据结束 Y 图5-3 显示子程序流程图5.3 运算控制模块 运算控制模块涉及到PWM控制技术和PID算法,在结合温度传感

36、器DS18B20形成闭环式的控制系统对被控对象进行调控。开始 PWM是调节脉冲波占空比的一种方式,占空比= On-time(脉冲的High时间)/脉冲的一个周期(On-time +Off-time)。占空比以及所对应的周期,是由温度传感器所测的实际温度与目标温度的差来决定的。PWM控制程序流程图如图5-4所示。具体源程序见附录。结束送入加热延时函数并开始加热送入停止加热延时函数并断开电源电压读取温度计算占空比 图5-4 PWM控制程序流程图 6 系统调试6.1 Keil软件的简介 单片机开发中不但要有必要的硬件,而且要有相应的软件与之结合,此时Keil软件发挥着举足轻重的地位。随着单片机开发技

37、术的不断发展,从汇编语言的普遍使用到高级语言开发的逐渐使用,单片机的开发软件也随之在发展着,与汇编语言相比,C语言在功能上、结构性、可维护性上有明显的优势,易学易用。Keil软件是目前最流行的开发MCS-51系列单片机软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。Keil C51标准C编译器为8051微控制器的软件开发提供了C语言环境, 同时保留了汇编代码高效,快速的特点。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,功能不断增强,生成的目标代码效率非常高。

38、所以本设计选择Keil软件。6.2 Proteus软件的简介Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,除了具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其特有的功能是,它的电路仿真是互动的,针对微处理器的应用,还可以直接在原理图的虚拟原型上编程,并实现软件源码级的实时调试。由此可见,Proteus软件功能强大,集电路设计、制版以及仿真等功能于一身,不仅可以对电路进行设计与分析,还可以对微处理器进行设计和仿真,是一款电子线路设计与仿真软件。所以Proteus软件是一个基于Pro-SPICE混合模型仿真器、完整的嵌入式

39、系统软硬件设计仿真平台。 Proteus软件与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时,单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真,从某种意义上讲,弥补了实验和工程应用不能相结合的不足。 所以本设计采用的仿真软件是Proteus软件,通过它实现电路图的绘制,并与Keil软件进行相关的调试。6.3 软件仿真 将Keil软件成的.hex文件加载到单片机内,并在Proteus软件里仿真,会在数码管上看到温度显示

40、,如图6-1所示,其中60度是系统设定的默认温度,即目标温度;27度是DS18B20温度传感器的温度,即实际温度,如图6-2所示。在显示27度之前,会看到DS18B20温度传感器显示85度,85度的产生是由于温度传感器读取过快,还没有复位,但当运行一会之后温度传感器就会复位。 由于本设计系统主要对发热片的温度进行实时检测,以此来精密地控制发热片的温度。但Proteus仿真软件只是起到一定程度的仿真,它做不到使温度能随意地变化,并显示在数码管上。这远远达不到本系统设计的控制要求,因此,硬件电路的调试工作是本系统的关键。图6-1 设置温度值图6-2 实际所测温度值 6.4 硬件调试 硬件调试主要是

41、针对我设计的实时温度测量与精密控制温度的单片机硬件电路分别进行调试。在上电测试之前,一定要保证电路的完整无误,要避免电路出现短路或断路的情况。在确保电路正常下,无异常情况(短路或断路)之后方可上电调试,上电调试的目的是检验电路是否接错,同时还要检测原理是否正确。在本次毕业设计当中,上电调试主要是实时温度测量与温度控制的单片机控制部分和数码管点亮部分的硬件调试。1、 单片机控制部分硬件调试:这一部分调试主要是检查时钟电路、复位电路是否接对,单片机的电源以及地是否接好,以及其他的一些管脚的接线有没有结对。看单片机通电后是否可以正常工作等这一系列问题。2、 数码管LED电路调试:由于数码管采用的是动态扫描方式点亮的。数码管的公共端(COM)直接接到单片机的P2.0P2.3口作为位选信号,段选接在P1口。电路上电后检查AT89C51是否接上电源和地让其正常工作。在这一前提下,查看数码管能否点亮。6.5调试结果温度调节效果如下: 1.通电源,打开开关,液晶显示情况如图6-3所示,其中数码管表示实际温度30.8,设定的目标温度为34.0。 图6-3 通电初始状态 2.随着温度的上升,目标温度与实际温度的差大于2度,此时占空比为100%,周期为3s。此时数码管显示情况,如图6-4所示。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号