基于51单片机的温度控制系统设计.docx
《基于51单片机的温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的温度控制系统设计.docx(13页珍藏版)》请在三一办公上搜索。
1、基于51单片机的温度控制系统设计基于51单片机的水温自动控制系统 沈统 摘 要:在现代化的工业生产中,温度是常用的测量机被控参数。本水温控制系统采用AT89C51为核心控制器件,实现对水温在30到96的自动控制。由精密摄氏温度传感器LM35D构成前置信号采集和调理电路,过零检测双向可控硅输出光电耦合器MOC3041构成后向控制电路,由74LS164和LED数码管构成两位静态显示用于显示实时温度值。 关键词:89C51单片机;LM35D温度传感器;ADC0809;MOC3041光电藕耦合器;水温自动控制 0 引言 在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。而智能化的控制系统成为一
2、种发展的趋势。本文所阐述的就是一种基于89C51单片机的温度控制系统。本温控系统可应用于温度范围30到96。 1 设计任务、要求和技术指标 1.1任务 设计并制作一水温自动控制系统,可以在一定范围内自动调节温度,使水温保持在一定的范围内。 1.2要求 利用模拟温度传感器检测温度,要求检测电路尽可能简单。 当液位低于某一值时,停止加热。 用AD转换器把采集到的模拟温度值送入单片机。 无竞争-冒险,无抖动。 1.3技术指标 温度显示误差不超过1。 温度显示范围为099。 程序部分用PID算法实现温度自动控制。 检测信号为电压信号。 2 方案分析与论证 2.1主控系统分析与论证 根据设计要求和所学的
3、专业知识,采用AT89C51为本系统的核心控制器件。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。其引脚图如图1所示。 2.2显示系统分析与论证 显示模块主要用于显示时间,由于显示范围为099,因此可采用两个共阴的数码管作为显示元件。在显示驱动电路中拟订了两种设计方案: 方案一:采用静态显示的方案 采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。 方案二:采用动态显示的方案 由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯片的成本
4、,节省了电 ,但编程比较复杂,亮度不如静态的好。 第1页 由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。 图1 AT89C51引脚图 2.3 检测系统分析与论证 1 温度检测:有选用AD590和LM35D两种温度传感器的方案,但考虑到两者价格差距较大,而本系统中对温度要求的精度不很高,因而选用比较廉价LM35D。温度传感器采用的是NS公司生产的LM35D,他具有很高的工作精度和较宽的线性工作范围,他的输出电压与摄氏温度线性成比例,且无需外部校准或微调,可以提供1/ 4 的常用的室温精度。L M35的输出电压与摄氏温度的线形关系可用下面公式表示 ,0 时输出为
5、 0 V , 每升高 1 , 输出电压增加10 mV。其电源供应模式有单电源与正负双电源两种,其接法如图2与图3所示。正负双电源的供电模式可提供负温度的测量,单电源模式在25 下电流约为50 mA ,非常省电。本系统采用的是单电源模式。 Vout=10mV/T() 2 液位检测:同样考虑到成本问题,选用自己做一个液位传感装置。 图2 单电源模式 图3 双电源模式 2.4控制系统分析与论证 由于需要用大功率加热装置对水温进行调节,故采用带过零检测双向可控硅输出光电耦合器MOC3041构成后向控制电路。 3 系统原理框图 第2页 硬件组成框图如图4所示:主要由AT89C51单片机、温度信号采集和调
6、理、AD转换、数码显示电路、温度控制等部分组成。 温度采集电 路 信号调理电 路 A/D转 换电路 液位检测 单 片 机 系 统 温度显 示 执行电 路 图4 硬件框图 电源开启后,可以显示出实时的温度,并且可以判断出此时的温度是否需要对水进行加热操作 4 硬件电路 4.1温度信号检测和调理电路 LM35D采用单电源供电模式如图2将采集到的电压信号送入运放uA741进行放大处理,如图5。 图5 信号采集调理电路 4.2 显示电路 显示电路由两片74LS164和两个数码管构成,为了PCB中作图的方便,故采用如图6的连接方式。 第3页 图6 温度显示电路 时钟由单片机的P1.1提供,第一个数码管的
7、数据由单片机的P1.0提供,第二个数码管的数据由第一个164的Q7提供。164的时序图如图7所示。 图7 74LS164的时序图 4.3 温度控制电路 温度控制电路由光电耦合器MOC3041和双向晶闸管BT137构成,硬件连接如图8。 图8 温度控制电路 第4页 4.4 AD转换电路 本部分电路由ADC0809和一些74系列芯片构成,其中74LS74用于对单片机的ALE信号进行分频作为0809的时钟,74LS373用做地址锁存实现单片机P0口的分时复用。该部分硬件电路如图9所示。 图9 AD转换电路 4.5主控系统电路 该系统由AT89C51构成,由5V电源供电,采用6Mhz的晶振。主控系统电
8、路主要承担显示及对温度的PID控制的核心引用,各功能通过软件软件实现。图10为单片机的主控电路。 图10 单片机主控电路 4.6整体PCB图见附件A 5 软件部分 5.1主程序流程说明 第5页 主程序的任务主要是循环检测采集到的温度值,不断比较实现PID控制。流程图如下:开始 初始化 延时 采集一次温度数据 并进行转换 数据暂存B 修改指针 延时 再采集一次温度数据并进行转换 A=B? A=96? AB? JR=1;加热 JR=0;冷却 JR=1;加热 JR=0;冷却 图11 主程序流程图 5.2各子程序模块流程 5.2.1显示部分 第6页 显示部分主要包括三个小模块:第一、原始数据的拆分;第
9、二、待显示数据查表;第三、待显示数据的输出。数据分配表如图12,送待显示数据流程如图13,查表流程如图14 图13 待显示数据输出流程 图14 查表程序流程 5.2.2中断程序部分 中断部分包括定时器中断和外部中断,流程图分别如图15和图16。 第7页 入中断 入中断 保护现场 F1 =1? 1S到? 重赋计数初值 停止加热 调用显示 延时1S 恢复现场 F1=1 返回 返回 图15 定时器中断流程图 图16 外中断流程图 5.3整体程序见附件才C 6 系统调试 6.1 软件调试 调试所用软件:Keil uVision2和Proteus7。 将编写好的程序用Keil uVision2汇编编译成
10、hex格式的文件后导入Proteus7中的原理图内。结果正常显示,说明程序本身没有问题。 6.2 硬件调试 调试所用工具:直流稳压电源,示波器,万用表等。 6.2.1 放大电路的调试: 将信号调理部分电路的输入端接地,调节电位器,使输出电压为零。输入一定的电压值01V范围内,观察电路的输出电压,调节电阻值,使输出为输入的5倍。 6.2.2 显示电路的调试: 先写一个简单的显示程序,烧入单片机内,接好电路,观察显示是否正常。 6.2.3 AD转换电路的调试: 写一个简单的控制ADC0809的程序,用示波器观察ADC0809所接受到的信号是否正确,如时钟信号、开始信号等、给定输入端一个电压,给OE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 温度 控制系统 设计
链接地址:https://www.31ppt.com/p-3384902.html