基于DSP与数字温度传感器的温度控制系统(2)
需要注意的是,在程序编写时不管是复位,还是读写,都要注意配置GPIOA0端口的状态(输入或输出),同时时序非常重要,本文中的延时都是经过多次测试后总结出来的,根据DSP芯片的晶振不同,延时程序都会改变,否则DSl8B20不会正常工作。
3 温度控制
3.1 脉宽调制PWM输出
TMS320F2812的事件管理模块总共能输出16路PWM信号,文中仅需要输出一路占空比可调的PWM信号,并设计从PWMl引脚输出该方波信号。文中选用通用定时器1(T1)作为时基;全比较单元1保存调制值;计数方式采用连续增计数模式。PWM占空比值与T1的三角波数据比较,输出PWM信号控制半导体制冷片工作。各寄存器设置如下(高速外设时钟为22.5 MHz):
文中设计的PWM周期为 1.825 ms,TMS320F2812的计数器记数范围为0~5DC。因此当系统装入CMPRl寄存器的值为0或5DCH时,输出恒为高电平或低电平。现以向CMPRl写入1 500为例,PWMl引脚的输出周期为1.825 ms的方波。
3.2 温度控制软件设计
根据前面叙述,用DSl8B20读取温度采样值,再通过参数自整定的Fuzzy-PID算法对数据进行处理:根据E和Ec的状况,由模糊控制规律再通过模糊表推导出△KP,KI,KD,根据式(1)计算出KP,KI,KD的大小,再计算出U的初值和△U,由式(2)实时计算控制量U。通过参数转换,将U转换为PWM参数,修改EvaRegs.CMPRl的数值,改变PWM的占空比,从而控制TEC的制冷/制热功率。
程序流程图如图5所示。
3.3 实验结果
完成以上程序编写后,首先利用仿真器进行温度测量模拟,在标准温度计所得室温为31.2℃时,在CCS软件中利用快速观测窗口检测到的温度值为31.187 5℃。通过实验证明,在外界温度为31℃,采用默认设置(稳定温度为25℃)时,该温度控制系统能使被控物体的温度稳定在25℃,温度稳定时间小于100s,精度可达到O.1℃以下,达到了工业控制要求。
4 结语
利用DSP的高速处理能力,结合DSl8B20精准的温度读取能力,以及利用CCS开发出温度控制系统。该温度控制系统中应用了Fuzzy-PID算法。设计目标是:在同样的控制精度条件下,使系统的过渡时间及超调量尽可能减小,以改善控制效果。采用复合控制,使系统能有效抑制纯滞后的影响,当参数变化较大以及有干扰时,仍能取得较好的控制效果。
来看看其他人说了些什么?-----------------------------------------------------------------> 进入详细评论页