实验十五单闭环温度恒值控制系统
一、实验目的
1.理解温度闭环控制的基本原理;
2.了解温度传感器的使用方法;
3.学习温度PID控制参数的配置。
二、实验设备
1.THBCC-1型信号与系统•控制理论及计算机控制技术实验平台
2.THBXD数据采集卡一块(含37芯通信线、16芯排线和USB电缆线各1根)
3.PC机1台(含软件“THBCC-1”)
三、实验原理
1.温度驱动部分
该实验中温度的驱动部分采用了直流15V的驱动电源,控制电路和驱动电路的原理与直流电机相同,直流15V经过PWM调制后加到加热器的两端。
2.温度测量端(温度反馈端)
温度测量端(反馈端)一般为热电式传感器,热电式传感器式利用传感元件的电磁参数随温度的变化的特性来达到测量的目的。
例如将温度转化成为电阻、磁导或电势等的变化,通过适当的测量电路,就可达到这些电参数的变化来表达温度的变化。
在各种热电式传感器中,已把温度量转化为电势和电阻的方法最为普遍。
其中将温度转换成为电阻的热电式传感器叫热电偶;将温度转换成为电阻值大小的热电式传感器叫做热电阻,如铜电阻、热敏电阻、Pt 电阻等。
铜电阻的主要材料是铜,主要用于精度不高、测量温度范围(-50℃~150℃)不大的的地方。
而铂电阻的材料主要时铂,铂电阻物理、化学性能在高温和氧化性介质中很稳定,它能用作工业测温元件和作为温度标准。
铂电阻与温度的关系在0℃~630.74℃以内为Rt=R0(1+at+bt2)
式中Rt――温度为t ℃时的温度;R0――温度为0℃时的电阻;
t――任意温度;a、b――为温度系数。
该实验系统中使用了Pt100作为温度传感器。
在实际的温度测量中,常用电桥作为热电阻的测量电阻。
在如图15-1中采用铂电阻作为温度传感器。
当温度升高时,电桥处于不平衡,在a,b两端产生与温度相对应的电位差;
该电桥为直流电桥。
图15-1 温度测量及放大电路
4.温度控制系统与实验十三的直流电机转速控制相类似,虽然控制对象不同,被控参数有差别,但对于计算机闭环控制系统的结构,却是大同小异,都有相同的工作原理,共同的结构及特点。
四、实验步骤
1、实验接线
1.1 用导线将温度控制单元24V的“+”输入端接到直流稳压电源24V的“+”端;
1.2 用导线将温度控制单元0~5V的“+”输入端接到数据采集卡的“DA1”的输出端,同时将温度变送器的“+”输出端接到数据采集卡的“AD1”处;
1.3打开实验平台的电源总开关。
2、脚本程序的参数整定及运行
2.1启动计算机,在桌面双击图标“THBCC-1”,运行实验软件。
2.2 顺序点击虚拟示波器界面上的“”按钮和工具栏上的“”按钮(脚本编程器);
2.3在脚本编辑器窗口的文件菜单下点击“打开”按钮,并在“计算机控制技术应用算法”文件夹下选中“温度控制”脚本程序并打开,阅读、理解该程序,然后点击脚本编辑器窗口的调试菜单下“步长设置”,将脚本算法的运行步长设为100ms;
2.3点击脚本编辑器窗口的调试菜单下“启动”;观察温度加热器内温度的变化。
2.4 当控制温度稳定在设定值后,再点击脚本编辑器的调试菜单下“停止”,重新配置P、
I、D的参数或改变算法的运行步长,等加热器温度冷却后再次启动程序,并观察运行结果。
2.5 实验结束后,关闭脚本编辑器窗口,退出实验软件。
注:为了更好地观测温度曲线,本实验中可将“分频系数”设置到最大。
五、实验报告要求
1.画出温度控制系统的方框图。
2.分析P、I、D控制参数对温度加热器中温度控制的影响。
六、参考程序
dim pv,sv,ei,ex,ey,k,ti,td,q0,q1,q2,op,x,Ts,ux,tv ‘变量定义
sub Initialize(arg)
WriteData 0 ,1
end sub
sub TakeOneStep (arg) ‘初始化函数pv = ReadData(1) '当前温度电压测量值
sv=50 '设置温度
k=20
ti=5
td=0
Ts=0.1 '采样时间100ms
ei=((sv-35)/30+1.18) -abs(pv) '当前偏差
q0=k*(ei-ex) '比例项
if Ti=0 then
q1=0
else
q1=K*Ts*ei/Ti '积分项
end if
q2=k*td*(ei-2*ex+ey) /Ts '微分项
ey=ex
ex=ei
op=op+q0+q1+q2
if op>=3.5 then
op=3.5
end if
if op<=1 then
op=1
end if
tv=35+30*(abs(pv)-1.18)
TTTRACE "温度=%f",tv '输出温度TTRACE "op=%f",op
TTRACE "ei=%f",ei
TTRACE "pv =%f",pv
WriteData op ,1
end sub
sub Finalize (arg) ‘退出函数WriteData 0 ,1
end sub。