基于51单片机的温度控制系统设计.doc

上传人:F****n 文档编号:101947996 上传时间:2019-09-30 格式:DOC 页数:15 大小:611.50KB
返回 下载 相关 举报
基于51单片机的温度控制系统设计.doc_第1页
第1页 / 共15页
基于51单片机的温度控制系统设计.doc_第2页
第2页 / 共15页
基于51单片机的温度控制系统设计.doc_第3页
第3页 / 共15页
基于51单片机的温度控制系统设计.doc_第4页
第4页 / 共15页
基于51单片机的温度控制系统设计.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《基于51单片机的温度控制系统设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机的温度控制系统设计.doc(15页珍藏版)》请在金锄头文库上搜索。

1、基于51单片机的水温自动控制系统沈统摘 要:在现代化的工业生产中,温度是常用的测量机被控参数。本水温控制系统采用AT89C51为核心控制器件,实现对水温在30到96的自动控制。由精密摄氏温度传感器LM35D构成前置信号采集和调理电路,过零检测双向可控硅输出光电耦合器MOC3041构成后向控制电路,由74LS164和LED数码管构成两位静态显示用于显示实时温度值。关键词:89C51单片机;LM35D温度传感器;ADC0809;MOC3041光电藕耦合器;水温自动控制0 引言在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。而智能化的控制系统成为一种发展的趋势。本文所阐述的就是一种基于89

2、C51单片机的温度控制系统。本温控系统可应用于温度范围30到96。1 设计任务、要求和技术指标1.1任务设计并制作一水温自动控制系统,可以在一定范围(30到96)内自动调节温度,使水温保持在一定的范围(30到96)内。1.2要求(1) 利用模拟温度传感器检测温度,要求检测电路尽可能简单。(2) 当液位低于某一值时,停止加热。(3) 用AD转换器把采集到的模拟温度值送入单片机。(4) 无竞争-冒险,无抖动。1.3技术指标(1) 温度显示误差不超过1。(2) 温度显示范围为099。(3) 程序部分用PID算法实现温度自动控制。(4) 检测信号为电压信号。2 方案分析与论证2.1主控系统分析与论证根

3、据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。其引脚图如图1所示。2.2显示系统分析与论证显示模块主要用于显示时间,由于显示范围为099,因此可采用两个共阴的数码管作为显示元件。在显示驱动电路中拟订了两种设计方案:方案一:采用静态显示的方案 采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。方案二:采用动态显示的方案由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯

4、片的成本,节省了电 ,但编程比较复杂,亮度不如静态的好。由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。图1 AT89C51引脚图2.3 检测系统分析与论证1 温度检测:有选用AD590和LM35D两种温度传感器的方案,但考虑到两者价格差距较大,而本系统中对温度要求的精度不很高,因而选用比较廉价LM35D。温度传感器采用的是NS公司生产的LM35D,他具有很高的工作精度和较宽的线性工作范围,他的输出电压与摄氏温度线性成比例,且无需外部校准或微调,可以提供1/ 4 的常用的室温精度。L M35的输出电压与摄氏温度的线形关系可用下面公式表示 ,0 时输出为 0 V

5、 , 每升高 1 , 输出电压增加10 mV。其电源供应模式有单电源与正负双电源两种,其接法如图2与图3所示。正负双电源的供电模式可提供负温度的测量,单电源模式在25 下电流约为50 mA ,非常省电。本系统采用的是单电源模式。Vout=10mV/T()2 液位检测:同样考虑到成本问题,选用自己做一个液位传感装置。 图2 单电源模式 图3 双电源模式2.4控制系统分析与论证 由于需要用大功率加热装置对水温进行调节,故采用带过零检测双向可控硅输出光电耦合器MOC3041构成后向控制电路。3系统原理框图硬件组成框图如图4所示:主要由AT89C51单片机、温度信号采集和调理、AD转换、数码显示电路、

6、温度控制等部分组成。温度采集电 路信号调理电 路A/D转换电路单片机系统温度显 示执行电 路液位检测图4 硬件框图电源开启后,可以显示出实时的温度,并且可以判断出此时的温度是否需要对水进行加热操作4 硬件电路4.1温度信号检测和调理电路LM35D采用单电源供电模式如图2将采集到的电压信号送入运放uA741进行放大处理,如图5。图5 信号采集调理电路4.2 显示电路显示电路由两片74LS164和两个数码管构成,为了PCB中作图的方便,故采用如图6的连接方式。图6 温度显示电路时钟由单片机的P1.1提供,第一个数码管的数据由单片机的P1.0提供,第二个数码管的数据由第一个164的Q7提供。164的

7、时序图如图7所示。图7 74LS164的时序图4.3 温度控制电路温度控制电路由光电耦合器MOC3041和双向晶闸管BT137构成,硬件连接如图8。图8 温度控制电路4.4 AD转换电路本部分电路由ADC0809和一些74系列芯片构成,其中74LS74用于对单片机的ALE信号进行分频作为0809的时钟,74LS373用做地址锁存实现单片机P0口的分时复用。该部分硬件电路如图9所示。图9 AD转换电路4.5主控系统电路该系统由AT89C51构成,由5V电源供电,采用6Mhz的晶振。主控系统电路主要承担显示及对温度的PID控制的核心引用,各功能通过软件软件实现。图10为单片机的主控电路。 图10

8、单片机主控电路4.6整体PCB图见附件A5 软件部分5.1主程序流程说明主程序的任务主要是循环检测采集到的温度值,不断比较实现PID控制。流程图如下:JR=0;冷却开始初始化延时采集一次温度数据并进行转换数据暂存B修改指针延时再采集一次温度数据并进行转换A=B?A=96?AB?JR=0;冷却JR=1;加热图11 主程序流程图5.2各子程序模块流程5.2.1显示部分 显示部分主要包括三个小模块:第一、原始数据的拆分;第二、待显示数据查表;第三、待显示数据的输出。数据分配表如图12,送待显示数据流程如图13,查表流程如图14图13 待显示数据输出流程 图14 查表程序流程5.2.2中断程序部分中断

9、部分包括定时器中断(主要实现1秒刷新一次显示)和外部中断(检测液位。为防止抖动,设置一个标志位,进入中断后判断标志位,如果一秒钟内没有出中断,则响应,否则不响应),流程图分别如图15和图16。入中断保护现场重赋计数初值1S到?调用显示恢复现场返回入中断F1 =1?停止加热F1=1延时1S返回图15 定时器中断流程图 图16 外中断流程图5.3整体程序见附件才C6 系统调试6.1 软件调试 调试所用软件:Keil uVision2和Proteus7。将编写好的程序用Keil uVision2汇编编译成hex格式的文件后导入Proteus7中的原理图(附件B)内。结果正常显示,说明程序本身没有问题

10、。6.2 硬件调试调试所用工具:直流稳压电源,示波器,万用表等。6.2.1 放大电路的调试:将信号调理部分电路的输入端接地,调节电位器,使输出电压为零(用万用表毫伏档测量)。输入一定的电压值01V范围内,观察电路的输出电压,调节电阻值,使输出为输入的5倍。6.2.2 显示电路的调试:先写一个简单的显示程序,烧入单片机内,接好电路,观察显示是否正常。6.2.3 AD转换电路的调试:写一个简单的控制ADC0809的程序,用示波器观察ADC0809所接受到的信号是否正确,如时钟信号、开始信号等、给定输入端一个电压,给OE端持续加高电平,使允许输出,用万用表或示波器测量各个输出引脚的转换情况,结果与计

11、算值是否相符合。6.2.4 系统的整体调试: 将编写好的程序烧入单片机中,接好整体电路,观察输出结果是否正确。调试中显示一直是99,最后去掉373和排阻,显示正常。主要是因为加的排阻过小,只有330欧姆,而ADC0809向单片机送数据的时间有很短,所以,即使送入0也可能会被单片机认为是1,所以一直显示99。6.2.5 系统存在的问题: 由于实验调试时,只是观察led灯的亮灭变化,没有接上实际的光耦驱动大功率加热器件,而实际测试时,led灯的亮度不高说明驱动电流太小,因而在驱动光耦时还需加入74LS07以增大P1.2口的驱动电流,使之能够驱动光耦。调试的过程中发现所购买的ADC0809的IN0输

12、入端直接与地短接,所以,真正做成的系统用的是通道1。又加上调试时去掉了排阻和74LS373,因而选地址时是直接把地址选择端接成了高低电平,虽然实现了功能但是与初衷不符。7 结束语通过本次专业课程设计,我学会PID算法的软件实现方法,也了解了一些常识性的东西如上拉电阻的选取等。另外也认识到了单片机控制的优势识别控制简单、方便、快捷。这样一来,单片机就可以充分发挥其速度快、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点,可用附加电路实现电路的扩展。最后感谢指导教师李建法老师给予我大力支持与帮助,并提供了有利的实验条件,在此表示由衷的感谢。参考资料:【1】谢自美 电子线路综合设计 华中科技大

13、学出版社【2】张毅刚 单片机原理及应用附件A:整体PCB图附件B:PROTEUS仿真图附件C:本系统所用程序: DIN BIT P1.0 CLK BIT P1.1 JR BIT P1.2 F1 BIT 21H ORG 0000H SJMP MAIN ORG 0003H LJMP INT00 ORG 000BH LJMP INTDISP ORG 0030HMAIN: SETB EA SETB EX0 SETB ET0 MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H mov 20h,#10 SETB TR0 ;中断初始化 CLR F1CJ1: MOV R0,#30H LCALL D1S LCALL AD0809 MOV B,A CJ2: MOV R0,#31H LCALL D1S LCALL AD0809 CJNE A,B,COMP LJMP CJ2 COMP: CJNE A,#30H,N30 SETB CTRO LJMP CJ1 N30: JNC COM96 SETB JR

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号