单片机温度检测与控制系统的设计
AT89C2051程序框图本系统选用单片机89C52 作为核心控制芯片,具有成本低、体积小、集成度高、可靠性高等特点,是一种较理想的选择。设计方法上,将软件工程的思想引于单片机系统的设计,使系统的信息流向及整◆体功能设计简单明确、清晰。参考文献:
⑴ 张友德,赵志英,涂时亮.单片微型机原理、应用与实验(实验版)[M].上海:复旦大学出版社,1995.
⑵ 孙涵芳.Intel 16 位单片机 [M].北京:北京航空航天大学出版社,1998.
⑶ 杨立,邓振杰,荆淑霞.微型计算机原理与接口技术[M].北京:中国铁道出版社,2005.
0 引言
塑料制品因具有容易加工、生产效率高、节约能源、绝缘性能好质量轻、耐磨和耐腐蚀性强等优点,其使用比例正迅猛增加。而注塑成型是塑料加工中普遍采用的方法之一。该方法制成品效率比其他常规的金属成型方法高,能适用于多种原料,成批、连续地生产,并且具有稳定的尺寸,容易实现生产的自动化和高速化,具有极高的经济效益。在影响塑料成型加工过程的诸多因素当中,熔体温度是一个最为关键的控制量,本文介绍了温度的检测与控制方法。
1. 加工工艺对控制系统的要求根据塑料制品特性和实际控制要求: 在刚开始加热时,希望温度上升的速度可以快些,以便缩短上升时间,但又不能有太大的超调且希望 PID 控制器参数初值可以在线更改,当温度达到控制要求范围内时,希望其能一直被控制在给定值附近变化,当其超出某一范围时(如高于某一值或低于某一值时就启动上限报警或下限报警。毕业论文www.751com.cn
根据上述要求,决定采用如下加热过程: 刚开始加热时,可以采取满功率加热或按满功率的某一比例值加热,当温度上升到某一值时,转为按基于Fuzzy 推理的参数自整定 PID 控制算法得到的控制量进行调节加热,加热方式可通过功能单元决定。⑴ 按百分比加热: 就是以设定值的某一比例值作为控制量来决定PWM 的占空比来控制固态继电器的通断,选定加热比例后,前端机就以该比例决定的固定的 PWM 的占空
比来进行加热,该比例值可在线更改。
⑵ 按设定值加热: 根据设定值与实际温度的偏差, 采用基于Fuzzy 推理的参数自整定PID 控制算法得到控制量,按该控制量决定PWM 的占空比进行加热。
2.控制系统原理
控制系统由硬件和软件两部分组成。其中硬件部分主要由信号采集与放大电路、温度补偿电路、A/D 转换电路、单片机电路几部分组成。软件包括单片机AT89C52 程序设计、单片机AT89C52 与AT89C2051通信程序设计、单片机AT89C2051程序设计三个主要模块组成。硬件原理框图如图1-1 所示。
图1-1 控制系统硬件框图3 .控制系统硬件设计3.1 信号采集与放大电路采用 K 型热电偶获得现场的实际温度,温度采样范围为 0 ~400
℃,相应地转换的电压信号范围为0~20mv。因为系统要控制8 路工业电炉,所以就要对 8 路温度进行检测采样和控制,这里采用CD4051 实现八选一通道选择。电压信号放大采用低零漂移的运算放大器 OP07 ,差分双端输入,可以有效地抑制共模干扰。
从热电偶获得的最大有效电压为20mv,而ICL7135 满量程时的电压为 2V ,所以放大电路的放大倍数
为100,该放大电路由运放U 、U 组4 5成第一级差分式电路,U 组成第二6级差分式电路,根据这一放大倍数来取电阻的阻值,该放大电路的放大倍数可由下式计算:
2R R96 89AAA (1 -+== ))(v 21R R95 98要保证A =-100,取R =20K,取V 89R =20K,取R =20K,R 为一电位
器,其取范围值为0 ~500 ,所以只要调节电位器 R ,就可满足要求。953.2 温度补偿电路热电偶分度表是在冷端温度为0 ℃时测定的,热电偶在实际测量中,当冷端的温度不是 0 ℃时,就不能直接利用分度表得知温度值,因此必须对热电偶冷端进行温度补偿修正。热电偶测温电路中要有冷端温度补偿电路,冷端补偿方法较多,这里采用冷端温度补偿器( 补偿电桥) 来实现温度补偿。该补偿电路的工作原理是热电偶产生的电势经滤波放大后有一定的灵敏度,采用温敏二极管组成的测量电桥的输出经放大器放大后也有相同的灵敏度。将这两个放大后的信号再通过增益为 1 的运算放大器相加,则可以自动补偿冷端温度变化引起的误差。补偿范围在 0~50℃,精度可以达到 0.5 ℃。3.3 A/D转换电路因温度是一个缓慢变化的过程,对采样速率要求不高,为提高抗干扰能力,采用双积分 A/D 转换器。本文采用 MAXIM 公司的ICL7135,MC1403 芯片为ICL7135 提供基准电压。通常情况下,设计者都是用单片机来并行采集ICL7135的数据,在这里,作者采用单片机对ICL7135 进行串行数据采集,利用该方式具有结构简单、占用单片机资源少等特点。在ICL7135 与单片机系统进行连接时,如果使用ICL7135 的并行采集方式,则不但要连接 BCD 码数据输出线,又要连接 BCD 码数据的位驱动信号输出端,这样至少需要9 根I/O 口线,因此,系统的连接比较复杂,ICL7135 的串行接法是通过计脉冲数的方法来获得测量转换结果的,可以通过单片机的定时器
T0 或T1 来作计数脉冲器,定时器T0所用的 CLK 频率是系统晶振频率的1/12,因此可利用单片机的ALE 信号经74LS74 分频后作为ICL7135 的脉冲(CLK) 输入,便可得到定时器T0 所使用的频率与单片机系统晶振频率的关系,以及ICL7135 所需频率输入与单片机系统晶振频率的关系。为使定时器 T0 计数脉冲与ICL7135 工作所需的脉冲同步,可以将ICL7135 的BUSY 信号接至AT89C52 的P3.2(INT0)引脚上,此时定时器T0 是否工作将受BUSY 信号的控制,并且将定时器 T0 的选通控制信号GATE 位置1。ICL7135 的输入电压与 T0 计数脉冲成线性关系,ICL7135 满量程时对应的有效计数脉冲为 20000, 可以得以下公式:VIN VINf == 1000*20000*INVMAX VR式中: f 为对应输入电压 的IN VIN
计数脉冲, 、 分别为ICL7135VMAX VR的最大工作电压和基准电压,且有=2 , 工作时事先通过VMAX VR VRMC1403 输出端电位器调好。
只要 非常准确,且准确测量VR出 ,因ICL7135 和AT89C52 的精VIN确度都非常高,故得到的 也可达INf到很高的精度。
3.4CPU电路
作者之所以要用 AT89C52 和AT89C2051 两个单片机,主要是考虑到AT89C52 要实现的功能比较多负荷较重,且其片内 RAM 空间已全部分配完所以采用AT89C52 作为系统的核心控制芯片,用AT89C2051用于产生 PWM 波形去控制固态继电器的导通与截止。
4. 控制系统的软件设计根据系统的工作原理及控制要求,考虑软件的总体结构设计,正确处理各实体之间的联系,为此软
件采用模块化的结构设计,自顶向下,逐步细化,利用子程序构成各模块。整个软件系统有良好的可读性、可修改性,易于调试和维护。下
面简述其中三个主要的程序设计。
4.1单片机AT89C52程序设计包括主程序设计和中断采样程序设计,主程序流程框图分别如图4-1 所示。
图4-1 主程序流程框图要对 8 路温度进行循环采集,通过定时器T2 每隔1s 定时对 8 路温度进行顺序采集,这就要对通道
选择,这可通过AT89C52 的P2.0、P2.1、P2.2 对多路开关CD4051 的地址引脚A0、A1、A2 进行控制而实现。在采样中断子程序中,要对看门狗计数器清零,这可通过AT89C52 的P1.1 来控制MAX813L 的WD1 引脚实现, 每次进入中断采样时, 给MAX813L 的WD1 引脚一个脉冲,从而
对其内部计数器清零。获得采样数据后,要进行处理( 如进制转换等) ,加热模式判别( 停止加热、是否需上下限报警、是按百分比加热
还是按基于Fuzzy 推理的参数自整定PID 控制加热等),与AT89C2051进行通信,将获得的控制量传送给AT89C2051 以实现PWM 波形的生成,
偏差和偏差变化率存取计算( 因有 8路温度数据,对应就需给它们分配存储空间,以方便存取和计算) 。4.2 单片机AT89C52与AT89C2051
通信程序设计AT89C52 经采样处理后,需将得到的控制量传送给AT89C2051 ,AT89C2051 根据获得的控制量通过软件产生 PWM 控制信号。这就需安排好AT89C52 与AT89C2051 的通信协议,这里 AT89C52 与AT89C2051之间采用四位数据线并行通信,所以在通信前需将AT89C52 发送的控制量拆成半字节后放入发送存储单元。在进行通信时,AT89C52 通过引脚P0.4 发联络信号,AT89C2051 收到AT89C52 发送的联络信号后,通过引脚P3.4 给AT89C52 发应答信号,AT89C52 收到AT89C2051 的应答信号后,就开始给AT89C2051 发送数据。单片机AT89C52 与AT89C2051
通信程序框图如图 4-2 所示。
4.3单片机AT89C2051程序设计
利用AT89C2051 来完成PWM 波形的发生,AT89C52 只需将经运算后得到的控制量送给AT89C2051 ,图4-2 AT89C52与AT89C2051 通信子程序框图这样,AT89C52 的负荷就减轻了,有利于提高整个系统的工作性能。而AT89C2051 只管PWM 波形的发生,有利于提高控制精度,获得较好的实时性,且电路结构相当简单,八路输出,只需要一片AT89C2051,和一简单的驱动电路。其工作过程也十分简单:AT89C2051 经软件算法后获
得 PWM 波形,八路输出采用循环输出,因每路数据的更新时间非常短,不会影响控制的实时性,然后
通过驱动电路驱动后去控制固态继电器的闭合时间。单片机AT89C2051 程序框图如图4-3 所示。