微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32水温控制系统硬件详解

STM32水温控制系统硬件详解

时间:11-19 来源:互联网 点击:
系统介绍:基于STM32F103的水温控制系统.实现室温到100度任意区间水温控制.精度;+/-1摄氏度.平均响应应时间:5分钟.控制对象:1公斤水.

系统主要组成;铂金测温驱动电路(恒流源实现),市电电压过零检测电路.功率驱动电路(固态继电器实现),小信号放大电路(仪用运放实现),STM32单片机最小系统.500W水温加热管.

1,铂金电阻测温驱动电路

驱动PT100铂金测温电阻.和电阻桥原理相似.利用1MA精密恒流源加在铂金电阻一端,另一端接地.用另一个1MA精密恒流源加在精密100欧姆电阻一端,另一端接地.(选择100欧姆,是因为PT100在零度时电阻值是100欧姆)

这是铂金电阻驱动电路,R3是铂金电阻,当温度变化时电阻会发生变化,从而影响VF1和VF2之间压差不为零。分别作为INA128仪表放大器的输入端(仪表放大器的优点是输入阻抗非常高,共模抑制比好,非常适合桥式电路)。经过放大输出差模信号。但是其输入的共模信号比较窄,最大也只能到达电源电压附近,此时可以通过调节Ref端调节输出电压。再用OPA335完成10倍的放大工作使其输出在合适的范围,方便AD采集。

2,驱动电阻桥的是1毫安的电流源,必须选用精密电流源。保证电阻的变化不影响电流源的电流,如果不是精密电流源,那么电阻的变化就不能真正反应温度的变化,影响整个系统的精度。我选用的是HowLand电流泵

这是1mA的电流源,经过试验搭建非常稳定,适合用来驱动桥式测温电路。

3,电热丝驱动电路,用的是固态继电器。性能稳定,但价格较贵。在调节加热功率时用的过零检测电路,通知单片机进入中断,调节继电器通断时间,控制导通角,从而控制加热功率。其实可以不用过零检测,这里用到是因为这里用过零检测,可以精确地调整输入功率,控制更精确,对电网冲击更小。使整个系统工作更稳定。

4,温度控制算法,在控制领域因为水是滞后性比较严重的介质。在加热功率的控制上,必须采用一定的算法控制,这里采用PID控制算法,简单易行。通过调节比例,积分,微分常数,控制功率,避免超调。下面是程序算法模型

structPID{

unsignedintSetPoint;//设定目标DesiredValue

unsignedintProportion;//比例常数ProportionalConst

unsignedintIntegral;//积分常数IntegralConst

unsignedintDerivative;//微分常数DerivativeConst

unsignedintLastError;//Error[-1]

unsignedintPrevError;//Error[-2]

unsignedintSumError;//SumsofErrors

};

//PID处理函数

//=====================================================================================================*/

unsignedintPIDCalc(structPID*pp,unsignedintNextPoint)

{

unsignedintdError,Error;

Error=pp->SetPoint-NextPoint;//偏差

pp->SumError+=Error;//积分

dError=pp->LastError-pp->PrevError;//当前微分

pp->PrevError=pp->LastError;

pp->LastError=Error;

return(pp->Proportion*Error//比例项

+pp->Integral*pp->SumError//积分项

+pp->Derivative*dError);//微分项

}

此模型容易在单片机上实现,性能较好。经过实际验证符合较高的要求。对于各个参数的选取,我才用的是配凑发,根据效果来不断调整参数,最终调到合适的参数。

5,最后一点是AD采集的基准电压源也很重要,直接影响采样精度,如果可以尽量选用专用的基准电压源芯片,控制AD采样误差。

以上是整个水温控制系统的设计要点,比较简单。但是对于理解PID控制有很大帮助,还有仪用运放的使用和电流源的使用桥式电路的使用。硬件和软件都达到一定的锻炼效果。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top