编辑: 紫甘兰 | 2018-11-15 |
只有当温度上升到设定值以上时,控制增量才有可能变为负值;
要用负的控制增量抵消以前积累的正控制量,需要的时间较长;
这正是产生超调量的根本原因.当设定值低于当前值时情况类似. 为解决这个问题,采用了时间最优的控制算法. 时间最优的PID控制即开关控制(Bang-Bang控制)与PID控制相结合的控制方式.其思想是:开关控制即指在当前值与设定值偏差较大的情况下,控制系统进入 开 或者 关 两种状态.具体到本系统,就是指当前温度和设定温度差别很大时,要么全功率(最大电压输出)的加热,要么就全功率的制冷. 当前值与设定值相差在阈值α以内时,采用PID算法计算输出控制量;
当在α以外时,则直接输出最大值255作为控制量,不再调用PID算法,不做控制量的累加.这样处理可以在很大程度上改善控制性能.
第二章 重要电路设计 2.1 温度采集 图2-1 温度采集电路 用电桥采集温敏电阻值的变化,考虑到是小信号的放大,所以选择仪表放大电路,并且选择高精度,低温漂的OP07运算放大器. 电阻R29为薄膜铂电阻,与R28在电桥的两个臂上,将铂电阻的电阻转换为电压信号U3的放大倍数定为33倍,U4的作用是调节放大倍数,使输出电压为0~5V 调节过程:
1、把铂电阻定在18度的阻值106.6欧姆,调节R23,使输出为0.
2、把铂电阻定在40度的阻值114.8欧姆,调节R30,使输出为5V
3、采用一阶滤波,目的是滤出高频得噪声干扰,所以f0定在几十HZ. 温度控制 1. 电压变换:电路图见图2-2 图2-2 电压变换电路 说明:这部分电路先将D/A输出的电压控制信号control(-5~0V) 用一个运放构成的反向放大器转移到电平0~8V,然后通过小功率稳压芯片LM385降压2.5V.这是因为经稳压芯片LM385,电压至少会提高2.5V(Vout-Vadj=1.25V再经过扩展).在调试过程中,调节R3的阻值,便可调整反向放大器的增益,从而调整输出电压的范围. 2. 控制电路:具体电路包括由两片LM338构成的功率放大,以及由继电器构成的输出电流方向控制两部分,如图2-3所示. 电路说明:(1) 单片机的串口P1.2的输出经过继电器的驱动芯片ULN2003A,控制四刀继电器(Relay)都与上端或下端接通,从而改变输入半导体制冷器件的电流方向. (2) 控制电压信号经放大分压后输入LM338的Vadj端,R7和R8可用来调整零点. (3) 由于LM338的Vin和Vout端至少需要3V的压降,而半导体制冷器件最多承受8V的电压,故两路输入电源输入采用+12V的大功率电源. 图2-3 功率输出电路
第三章 软件流程 3.1 基本控制
一、中断:
1、定时器中断:采集温度数据、调用PID算法核生成温度控制数据、发送温度控制数据到温度控制系统;
2、键盘中断:外部中断0,响应键盘输入;
3、AD中断:外部中断1,是AD完成的反馈信号.
二、地址分配 键盘显示控制器:占用地址空间8001H(状态、命令口),8000H(数据口)占用外部中断线INT0;
AD芯片:占用地址空间0c000H,占用外部中断1 DA芯片:占用地址空间0a000h PID算法中的数据: 采样温度 20H 控制量 21H 控制量的方向 22.0 设定的温度 23H 显示缓冲区54--5B MOV 24H,#0FFH ;
Kp 24H MOV 25H,#0DFH ;
Ki 25H MOV 26H,#00FH ;
Kd 26H 3.2 PID控制 数字PID表达式为: 其中 改写为增量形式: 具体流程图可见图3-1. 图3-1 数字PID增量型控制算法流程图 3.3 时间最优的PID控制流程图 图3-2 时间最优的PID控制流程图