本帖最后由 MissFortune 于 2019-4-25 09:51 编辑  
 
各位大佬号, 小弟最近在做一个温度控制的事情,在实际测试过程中发现温度在变化过程中会 有异常的现象,左思右想都没有找到解决方法。 
 
电路描述如下: 
1.传感器是使用PT1000,平衡电桥+ADC采集电路,使用的是TI的ADS1120,24bitADC芯片,平衡电桥的电源采用AMS1117-33(附图),计算温度的公式也是按照PT1000的计算方法的运算; 
2.控制器采用STM32; 
3.驱动电路采用IR公司的驱动芯片+MOS管H桥,实际使用的PWM最大占空比未90%(防止自举电容不能充电),但很少有机会能达到90%; 
 
程序描述如下: 
1.采用经典的增量式PID控制,PID.result 为输出占空比(最大绝对值为92%) 
 
2.下位机接受到温度指令数据之后,将设定温度与当前温度根据PID公式计算; 
 
3.下位机的温度数据接收是使用串口中断; 
4.温度控制在定时器中断中运行,保证温度控制具有周期性,周期为5ms; 
5.下位机的温度数据,每间隔1s发一次实时温度到上位机中,发送方式使用DMA+串口(发送时间间隔调整,不用DMA也仍然存在下述现象) 
- PID.result +=        PID.p * (PID.err_current - PID.err_last)                   ////PID.p = 45
 
 -                  +        PID.i * PID.err_current                                                ////PID.i = 0.35
 
 -                  +        PID.d * (PID.err_current - 2*PID.err_last + PID.err_previous)            // Pid.d = 0
 
 -                         ;
 
 
  
测试过程如下: 
每次变更温度时由电脑端在串口调试助手上发送温度指令,例如 T=30, T=56, T=96; 
 
 
现象: 
1.每次发送温度指令之后,温度都会有反向的冲击,尤其是在高温向低温变化时更为显著,在电路板的VREF电源上增加了电容,没有起到效果; 
 
请问各位大佬有没有相关的指导经验给小弟一些参考,诚心拜谢各位的指导,如果有未补充的,请留言,谢谢! 
 
  |