一、设计功能及要求
? 功能 设计制作一个水温控制系统,控制对象为1升净水,容器为搪瓷器皿,水温可以在范围内由人工设定,并能在环境温度降低时,实现自动调整,以保持设定温度基本不变。
? 指标要求
? 环境温度降低时(例如用电风扇降温)温度控制的静态误差≤1℃。 ? 温度设定范围为40~90℃,最小区分度为1℃,标定温度≤1℃。 ? 用十进制数码管显示水的实际温度。 ? 发挥部分
? 采用适当的控制方法,当设定温度突变(由40℃提高60℃)时,减小系
统调节时间和超调量。
? 温度控制的静态误差≤0.2℃。
? 在设定温度发生突变(由40℃提高到60℃)时,自动打印水温随时间变
化的曲线。
二、摘要
本系统采用凌阳十六位单片机SPCE061A实现温度控制,温度信号由PT1000和电压
放大电路提供。通过PID算法实现对电炉温度和水温控制。同时,具有温度数字语音播报和显示。
(一)方案设计与论证
测量部分:采用温度传感器铂电阻Pt1000。Pt1000精度和重复性较好,且电路设计
方便。
驱动部分:采用SPCE061A单片机实现,此单片机内置8路ADC,2路DAC,且集成开
发环境中,配有很多语音播放函数,用SPCE061A实现语音播放极为方便。另外,比较方便的是该芯片内置在线仿真、编程接口,可以方便实现在线调试,这大大加快了系统的开发
(二)系统硬件电路设计
(1)硬件电路结构
语音播放 数据显示 键盘设定 SPCE061A 16bit CPU 数据采集串行接口--打印 继电器热电炉
1
(2)继电器部分电路
CONTROLRELAYVCC21435NPN8050RELAY SPDT(3)测温部分电路
Pt1000部分电路
CHECK_TEMPERATUREVCC_5VVCCVCCR3R3R4Pt100021MU1A100k1HT9274R56K1Q8IOA4
4+-4U1B7HT9274+-11VCC1k100kD11.2V111M
(4) LED数码管电路
2
LED-3IOA8IOA9IOA10IOA11IOA12IOA13IOA14IOA15R321357R-PACK4R321357R-PACK424682468A+COM2-B+C+D+DD-E+F+COM3-G+DP+COM4-DD+U1013942112538LED5641A14COM1-111013732Q1805032Q2805021IOB0IOB1IOB216Q38050
(三)、LED数码管介绍
? 电路分析: 此处使用的电阻起限流和稳流作用。晶体管用来做电流开关,总体来说电阻和晶体管都是用来调整LED数码管亮度的。另外考虑到软件驱动显示的方便性,因此选择的端口为IOB0至IOB9。 ? 数码管简单介绍:
? 用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态(扫
描)显示,按译码方式可分硬件译码和软件译码之分。静态显示数据稳定,使用的硬件较多;
? 动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的
CPU时间多。这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。 ? (5)按键部分电路
KEY_1_3IOA0SW1IOA1SW1IOA2SW1
3
(6)语音播放部分电路
DACJ2CON3123VDDH+87C20104C21100uVSSC2352244U221SPY0030SPHJ321+-36DAC1SPLJ12Speaker321PHONEJACKC25R101041K32R91KAVSS2C26104
三、系统软件设计
1、温度设置状态
在温度设置状态下,加热炉停止工作,LED随按键次数而变化显示。按确认键后,进入温度设置确定状态。 温度确定状态
在此状态下,如果按确认键,回到温度设置状态。 (1)、水温高于设定温度
加热炉停止加热,ADC定时采样,并送LED显示。当温度为整数值时,语音播报。当温度与设定温度差距为2摄氏度时,启动PID控制,进行微调。使温度稳定在设定温度。 2.水温低于或等于设定温度
加热炉开始加热,ADC定时采样,当温度低于设定温度2摄氏度时,启动PID控制,进行微调。使温度稳定在设定温度。
四、PID算法介绍
1、直接计算法就是当前需要的控制量
公式:Pout = Kp * e(t) + Ki * ∑e(t) + Kd (e(t) – e(t-1));
2、增量计算法就是得到的结果是增量,也就是说在上一次的控制量的基础上需要增加的控制量。
公式:Pout(t-1) = Kp*(e(t) – e(t-1) + Ki e(t) + Kd(e(t) –2*e(t-1) + e(t-2));
根据工程经验值,对温度过程的采样周期一般为5—20s,考虑到1kW电炉对1L水的加温可能较快,采样周期暂定为5s,在根据实际情况作调整。
? 基本偏差:e(t) 表示当前测量值与设定目标之差,设定目标是被减数,结果可以是正
或负,正数表示还没有达到,负数表示已经超过了设定值。这是面向比例项用的变动数据。
? 累计偏差:∑e(t)= e(t) + e(t-1) + e(t-2)+…….+e(1),这是我们每一次测量到的偏差值的
总和,这是代数和,考虑到正负符号的运算,这是面向积分项用的变动数据。 ? 基本偏差的相对偏差:e(t) – e(t-1),用本次的基本偏差减去上一次的基本偏差,用
于考察当前控制的对象的趋势,作为快速反应的重要依据,这是面向微分项的一个
4
相关推荐: