聂 宵,徐广平,房孝俊
(华北光电技术研究所,北京 100015)
由于半导体激光器LD的工作性能受温度变化的影响很大,当LD在工作的时候,LD的电流阈值、最大输出功率和最小功率波动都会受到自身在工作时会产生热量和环境温度而发生变化,导致激光器内部的温度可能发生比较大的改变,从而影响激光器的正常工作[1-2]。因此需要能给LD提供高精度、恒定的温度控制来使其稳定的工作。通过提出一种逻辑电路将PWM控制信号、使能信号EN(控制温控板是否工作)以及H桥导通切换信号(控制H桥中的MOS管导通)作为输入,输入信号经过逻辑变换后输入到整流器件来控制H桥的导通,从而改变TEC两端电流大小与电流方向来控制TEC温度的加热或制冷,这种逻辑电路可以降低开关损耗、提高工作效率以及可靠性。在PID算法设计中使用变速积分PID算法相较于积分分离PID算法其优点在于控制曲线过渡平稳,没有出现振荡,而且其过渡过程时间减少,对超调量的改善也比较明显[3]。因此本次设计通过使用变速积分PID算法来替代之前使用的积分分离PID算法和温度模块的改良来实现达到高稳定性、高精度的温度控制。
基于STM32的高稳定性、高精度温度控制系统的电路整体框图如图1所示。使用热敏电阻完成LD的温度采集,通过上位机完成LD的温度设定,再由STM32单片机将采集到的LD温度值与LD温度的设定值偏差值经PID计算后得到PWM信号的占空比的值,PWM的频率为50 kHz,将PWM信号、使能信号、H桥导通切换信号经过逻辑控制电路后产生的信号送到HIP2101来驱动H桥来使半导体制冷器TEC的升温与降温,达到使LD的温度高稳定性且精度高地控在设定温度值。
图1 基于STM32的高精度温度控制系统整体框图
2.1.1 温度采集电路
温度采集电路如图2所示,使用热敏电阻采集温度,其灵敏度较高、工作温度范围广、体积小、稳定性好、过载能力强。在温度采集电路中,VDDA为2.5 V,用1个10 kΩ的电阻和热敏电阻RT分压,得到的电压送入到单片机STM32F103RCT6,用单片机内部分辨率为12位的A/D进行转化得到当前温度下的热敏电阻RT的电压,再根据厂家提供的温度-电压表格进行查表得到所测量的TEC温度。
2.1.2 逻辑控制电路
逻辑控制电路中H桥导通切换信号主要是控制H桥的不同方向的导通从而来实现TEC的加热与制冷、使能信号主要是控制温控板是否工作,从而控制TEC的加热或制冷、PWM信号的占空比决定加热制冷的时间。图3是逻辑控制电路框图;图4是NMOS管构成的桥。
图2 温度采集电路
图3 逻辑控制电路框图
图4 由NMOS管构成的H桥
当使能信号EN为高电平时,那么与门S的输出Sout的信号与PWM信号是相同的,通过SWITCH的电平来确定TEC是加热还是制冷。当SWITCH为高电平时,图3中的模拟开关NO管脚与Sout导通则NO为PWM信号,NC则是低电平,NO的信号经过H桥驱动电路处理后能够使H桥中Q6导通,Q5截止,而NC的低电平经过H桥驱动电路处理后导致Q1导通,Q2截止,此时的H桥中TEC+为高电平,TEC-为低电平;当SWITCH为低电平时,模拟开关NC管脚与Sout导通则NC为PWM信号,NO则是低电平,NO经过H桥电路处理后能够使Q2导通,Q1截止,而NO则最终导致Q5导通,Q6截止,此时的H桥中TEC-为高电平,TEC+为低电平。使能信号为高电平时,温控板是正常工作的,通过SWITCH的高低电平切换,改变TEC+与TEC-之间的导通方向从而实现TEC的加热或制冷。
当使能信号EN 为低电平时,那么Sout的信号始终为低电平,送入到模拟开关,无论SWITCH的电平为高或低,NC与NO管脚的信号始终为低电平,低电平经过门电路处理后送入H桥驱动电路中使Q1与Q5是导通的,Q2与Q6是截止的,则TEC+与TEC-都为0 V,因此使能信号为高电平时,温控板是停止工作的,TEC也不会工作。
由于逻辑控制电路控制的H桥相较于全桥芯片,在工作的过程中H桥只有一个半桥在工作,从而降低功耗,提高工作效率和稳定性。
温度控制中使用的积分分离PID算法进行控温,该算法在温度与设置温度的偏离较大时,取消积分作用,只有在温度偏差较小的时候引入积分作用,这样在实际温控过程中会出现温度抖动。而本次设计使用变积分PID算法进行控温,主要是改变积分项的累加速度,当温度偏差比较大时,使积分慢一点,积分作用相对弱一点,温度偏差比较小时,使积分快一点,积分作用相对强一些。变积分PID算法的表达式:
Kd×(e(k)-e(k-1))
(1)
(2)
式中,e(k)为偏差值。
变速积分PID算法控制流程图如图5所示。使用变速积分PID算法进行控温可以高精度、稳定的将温度控制在设定值。
针对高精度温度控制系统的通信协议设计一款温度控制串口上位机进行控温调试。温控串口的设计是在VC++6.0下使用微软提供的一个多线程串口编程工具CSerialPort类来完成的[4]。温度串口上位机主要功能包括串口设置、设置温度、保存设置温度的参数、打开/关闭温控、以及查询温控源和串口状态显示。打开/关闭温控主要是发送相关指令控制温控板使能端来控制其是否处于工作状态;保存参数主要是发送指令到STM32来存储设置的温度值;查询温控源主要是查询环境温度、实时TEC温度、设置温度值、温控状态(打开温控显示1;关闭显示0)、到温状态(当TEC的温度达到设置温度的±1 ℃时显示1,否则为0)。温控串口上位机界面(查询常温状态下)如图6所示。
图5 变速积分PID算法控制流程图
图6 温度控制串口上位机
图7 积分分离PID算法的Matlab仿真
图8 变速积分PID算法的Maltab仿真
由上图可以知道积分分离PID算法在调节过程中会出现振荡,而且过渡控制时间长一些,相比较而言变速积分调节质量更高一点,将变速积分PID算法与积分分离PID算法应用到实际的温控设计中,利用温度控制串口上位机分别对两种算法设置不同的温度。图9中利用变速积分PID算法将TEC的温度由32 ℃控到18 ℃,而图10中利用积分分离PID算法将温度由26 ℃控到42 ℃,由两个算法分别采集到的数据可以看出,在实际过程中积分分离PID算法在控温过程中会发生温度抖动的情况,温度抖动会有2 ℃左右的差别,而变速积分PID算法在控温过程中能稳定的到达控制温度。
图9 使用变速积分PID算法采集的温度变化
图10 用积分分离PID算法采集的温度变化
本次温度控制的设计使用逻辑控制电路代替专用的全桥整流芯片,将单片机产生的PWM信号、温控板的使能信号、H桥导通切换信号配合逻辑电路实现控制TEC的加热和制冷,使得电路在工作过程中H桥仅有一个半桥在工作,使得系统电路功耗降低,效率提高。在PID算法上,由于积分分离PID算法在系统中进行控温时会在温度控制过程中出现温度抖动,所以采用变速积分分离PID算法使在控温过程中温度能够平稳、高精度地达到设定温度。