一种基于滑窗预估的恒温箱温控算法的制作方法

文档序号:12594285阅读:274来源:国知局
一种基于滑窗预估的恒温箱温控算法的制作方法与工艺

本发明涉及属于工业自动控制领域,尤其涉及一种基于滑窗预估的恒温箱温控算法。



背景技术:

恒温箱的设计目的主要是为了给原子钟提供一个温度变化较小的环境,以提高原子钟的频率准确度。原子钟产生和保持标准时间频率信号,决定着时间频率系统的精度,是时频系统的核心。原子钟是量子物理学与电子学高度结合的产物,具有极高的精密性。但众所周知,精密仪器对其所处物理环境的要求也极苛刻的。尤其是作为精度要求负12量级的原子钟,对于外部的温度,压力,湿度等物理环境都有一定要求。尤其是温度,温度的快速变化会对原子钟的频率稳定度产生较大影响。在温差较大的环境中工作,铷原子钟的守时精度会受到较大影响。



技术实现要素:

本发明的目的在于提供一种基于滑窗预估的恒温箱温控算法,在传统PID算法的基础上,通过滑窗预估消除一定的滞后性,做到高精度控温,保证了铷原子钟的守时精度。

一种基于滑窗预估的恒温箱温控算法,依次包括以下步骤:

1)采用温度传感器测量恒温箱内的实际温度,若测得的实际温度与目标温度差值小于预设值a,则进入步骤2);若测得的实际温度大于预设值a,恒温箱内的半导体全速工作至实际温度与目标温度差值小于预设值a,然后进入步骤2);

2)粗调:利用PID算法控制产生的PWM波的占空比,从而控制恒温箱内的半导体对实际温度进行调节,使实际温度在目标温度周围正弦波动,检测到实际温度的上下浮动相对稳定N个周期,或检测到实际温度上浮与下浮相对稳定,则进入步骤3);

3)根据滑窗法连续取得间隔为b的恒温箱温差,计算实际温度曲线的切线斜率,得到恒温箱实际温度变化的trend值;得到目标温差值、PID算法中的I值和D值,进入步骤4);

4)精调:根据公式Δt/ΔT*ki/kd=e^(-τt)进入精调阶段;其中:Δt为trend值,ΔT为与目标温差值,ki为PID算法中的I值,kd为PID算法中的D值;

基于I值不变,计算D值;带入计算得出的D值与修正量,依据PID算法完成PID到PWM的占空比值的转化,通过PWM波占空比控制温度变化。

进一步,在步骤4)中,若ΔT>1,且Δt/ΔT>15;则放弃精调,进入粗调,粗调完毕后,再重复步骤4),直到完成恒温控制。便于提高调解效率。

进一步,时间间隔b为20S。

进一步,预设值a为2℃。

进一步,在步骤2)中,N为3~5。

与现有技术相比本发明的优点是:

(1)本发明通过滑窗取得的trend值具有连续性,在后期计算PID时不会因为阶跃性导致半导体制冷片工作方向改变,虽然加入了预估的修正参量,但是实际上没有改变PID的基础原理和走势,即不会出现阶跃,不会使PWM工作的方向突变,具有现实可靠性,是一种连续的细微的渐变的调节。

(2)本发明采用了粗调与精调两种模式,使得系统上电到控温完成的过程更加迅速。粗调阶段只负责将箱内温度送到目标温度附近波动即可。这个过程不加入滞后性的考虑,使得控制变得更加快捷。精调阶段,则是负责把温度控制到要求的高精度以内,此时再加入预估变量,提高精度。两种模式相辅相成,使得控温过程变得快捷,高效。

(3)本系统基于滑窗预估的恒温箱温控算法和实现。粗调和精调两个阶段可以通过条件的变化,相互切换,不一而足。模式并非固定的由粗到精,而是更具调节可以相互转化,直到最终通过精调节时温度趋于稳定。若ΔT>1,同时Δt/ΔT>15,则放弃精细调节,再次进入粗调节阶段。这样的算法设计可以在温度发现突变时,有一定的伸缩能力,避免精调节下,出现温度突变,导致需要很长时间去完成收敛。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1为本发明的流程示意图。

图2为本发明中,粗调时温度与时间的变化示意图。

图3为本发明中,粗精调时温度与时间的变化示意图。

具体实施方式

在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接连接,也可以是通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

参阅图1,在本实施例中:一种基于滑窗预估的恒温箱温控算法,环境温度为14摄氏度,目标温度为8摄氏度,箱内起始温度为35摄氏度。系统上电后,主要包括以下步骤:

步骤1):通过温度传感器ADT7410连续获取箱内温度,若测得的实际温度与目标温度差值小于2℃,则进入步骤2);若测得的实际温度大于2℃,恒温箱内的半导体全速工作至实际温度与目标温度差值小于2℃,然后进入步骤2)。

步骤2):利用PID算法首先求取PID_VOL值,根据公式PWM_vol=K*(Pid_vol/Max)*PWM_Max,将设备的状态值计算得到的PID转化为PWM波的方向系数和占空比系数,即不考虑滞后性,将箱内温度调到目标温度附近,连续收敛3到5个周期,使得导热介质温度与目标温度之间温差相对较小,即完成粗调阶段。

粗调阶段的PID算法公式如下所示:

Pid.err=Pid.Actual_temp-Pid.Set_temp (1)

Pid.err_last=pid.err (3)

Pid.voltage=Pid.Kp*Pid.err+Pid.Ki*Pid.integral+Pid.Kd*(Pid.err-Pid.err_last) (4)

其中,Kp,Ki,Kd为比例系数,Pid.err是前后两次采样的温差,Pid.integral为温度与目标温度温差的近似积分,即多次温差的累积量。

粗调阶段如图2所示,横坐标为时间(S),纵坐标为温度(℃)。kp代表的是从系统上电到接近目标温度这一段近似线性曲线的斜率,Kp越到,斜率越大,温度降更快接近目标温度,但同时也会造成过冲变大,使得后期收敛时间变长。Ki表示大于目标温度或者小于目标温度的部分的累积面积,Ki越大面积越大,两部分面积也越接近,ki越小,面积比例误差越大。Kd表示收敛阶段的伸缩性,Kd越大,同面积下,图像越被拉伸,温度越接近目标温度,误差越小。PID粗调阶段的三个参数相辅相成,共同完成温度调节的曲线如图2所示。

步骤3):根据滑窗法连续取得间隔为20S的恒温箱温差,(恒温箱温差为当前温度与目标温度的差值),计算实际温度曲线的切线斜率,得到恒温箱实际温度变化的trend值;得到目标温差值、PID算法中的I值和D值。

利用粗调节模式将温度控制到目标温度周围正弦波动,并使波动持续3到5个周期,测定trend值。trend值的计算方式如下:

1)连续取定20S的温度,做成一个集合。

2)然后利用滑窗法,每有一个温度值进入集合,则剔除一个温度值。

3)将集合内的温度值的最大与最小做差值,计算切线斜率,此斜率为引入温度时的trend值,不断取定trend值,得到一个trend的集合。

4)trend用于判定系统的调节状态,或者用于后续调节的预估值。

进入精调节的标志是trend值小于0.8,同时Δt/ΔT<12,则系统可以进入精调节阶段。进入精调节阶段,引入预估值trend对PID算法的修正,将trend值引入PID系统中进行预估修正。

trend的判定分为2类:

1)trend值小于0.8,同时Δt/ΔT<12。为粗调节后,进入精调节的判定标志。

2)trend值大于1,同时Δt/ΔT>15。为精调节中出现较大温度波动,无法继续精调节,转而进入粗调节的判定标志。

步骤4):精调:根据公式Δt/ΔT*ki/kd=e^(-τt)进入精调阶段;其中:Δt为trend值,ΔT为与目标温差值,ki为PID算法中的I值,kd为PID算法中的D值。

基于I值不变,计算D值;带入计算得出的D值与修正量,依据PID算法完成PID到PWM的占空比值的转化,通过PWM波占空比控制温度变化。

进入精调阶段,PID在算法上的滞后性,明显不足以达到高精度的温控。在精调阶段,通过滑窗计算每20S的切线斜率trend,同时获取温度的变化值ΔT,利用(Δt)/ΔT*ki/kd=e^(-τt)(其中Δt即为trend值),获取ki不变下的kd值,用于修正PID算法中的参数。通过trend的不断变化,获取的kd也在渐变,使得PID算法变成一种动态的预估算法,将PID三个参数中的两个参数通过比值的关系联系在一起,与温度变化趋势呈线性变化,实时动态,完成PID算法的精调阶段。

PID精调如图3所示。粗调之后引入滑窗预估,将PID参数进行修正,用预估的方式将Ki/Kd的比值与温度变化趋势联系在一起。从而动态的修正恒温控制系统的滞后性。图3为粗调节之后的精调节过程,可以看到,在500S之后的很长一段时间内,温度基本保持的0.2℃左右的变化。在1800-2300区间内,由于传感器度值的最大误差有0.5℃,使测量温度发生跳变,从而使控温系统的预估出现错误,温度跳变后立刻产生一定程度的温升,从另一方面也证实了本系统对温度变化的预估反馈是及时有效的。若剔除温差点,温度能达到0.1-0.2℃的温度精度内。

得到PID算法的值,依据公式PWM_Vol=K*(Pid_vol/Max)*PWM_MAX(该公式中K为温度修正参数,是一个常数,针对结构环境的保温性设定,理论上零热量交换的系统中,K=1。PWM_Max为PWM分频之后的一个周期参数),依据该公式,将计算得到的动态PID值转化为修正后的PWM值,该值即为PWM工作的占空比大小。通过控制占空比大小,即可控制半导体制冷片工作时间,从而调节恒温箱内部温度。

trend的修正:

通过PID算法的基本原理,我们可以得知PID是一种具有明显滞后性的自动控制算法,且PID的计算结果和PWM波的占空比在理论上是线性关系。同理,引入trend的修正值,只为修正PID的I/D值参数,并未涉及到改变PID算法,而是通过trend的引入将PID值原本的静态参数改变为与预估值有关动态参数,建立预估与调节之间的新关系,所以预估值trend与最终结果同理为理论上的线性关系。针对温控系统的隔热性能各有不同,用此参数修正实际情况与理论值之间的偏差。通过理论分析以及实验研究,

PWM_Vol=K*(Pid_vol/Max)*PWM_MAX (6)

K=1时,为理论中0散热量时,恒温箱半导体制冷片的PWM波的占空比经trend修正后的值。根据适用系统的不同,K值应该随系统隔热性的变化而变化,但始终应大于1。假设隔热性系数为M,理论情况上的隔热保温系数为1,则有M*K=1。在本系统中,测定的M为0.76。

本发明,应用于高精度的可维修微型恒温箱制作。主要目的是为了提高时频工业中原子钟的精度要求,原子钟的频率准确度引外界环境会产生较大影响,尤其温度影响尤甚。恒温箱体的设计必须考虑的铷钟的拆卸更换,势必影响其保温系数。故算法主要针对较低隔热系统的高精度控温。

以上所述仅为本发明的具体实施例,但本发明的技术特征并不局限于此,任何本领域的技术人员在本发明的领域内,所作的变化或修饰皆涵盖在本发明的专利范围之中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1