当前位置:论文网 > 论文宝库 > 工程技术类 > 机械论文 > 正文

基于DSP与数字温度传感器的温度控制系统

来源:UC论文网2019-04-08 09:29

摘要:

  摘要:传统的温度控制系统是以热敏电阻为温度传感器件,辅以风冷或水冷来达到目的的,存在体积大,噪音大且精度有限的缺点。介绍了利用数字温度传感器(DS18B20)与DSP芯片(TMS320F2812)组成的温度测量系统,结合模糊PID算法(Fuzzy-PID),利用DSP的脉宽调制控制通过半导体制冷器的电流大小,达到温度控制的效果,体积小且精度达到0.1℃。给出DSP与DS18B20的接线图,并且...

  摘要:传统的温度控制系统是以热敏电阻为温度传感器件,辅以风冷或水冷来达到目的的,存在体积大,噪音大且精度有限的缺点。介绍了利用数字温度传感器(DS18B20)与DSP芯片(TMS320F2812)组成的温度测量系统,结合模糊PID算法(Fuzzy-PID),利用DSP的脉宽调制控制通过半导体制冷器的电流大小,达到温度控制的效果,体积小且精度达到0.1℃。给出DSP与DS18B20的接线图,并且介绍了利用CCS(代码编辑工作室)进行软件开发。该系统已经运用在LD温度控制方面,取得了很好的效果。


  关键词:DSP;温度传感器;温度控制;模糊PID;脉宽调制


  中图分类号:TP23文献标识码:A


  文章编号:1004-373X(2010)09-0129-03


  0引言


  20世纪60年代以来,数字信号处理器(DigitalSignalProcessing,DSP)伴随着计算机和通信技术得到飞速发展,应用领域也越来越广泛。在温度控制方面,尤其是固体激光器的温度控制,受其工作环境和条件的影响,温度的精度要求比较严格,之前国内外关于温度控制基本上都采用温度敏感电阻来测量温度,然后用风冷或者水冷方式来达到温度控制效果,精度不够且体积大。本文基于DSP芯片TMS320F2812与数字温度传感器DS18B20设计出一个温度测量系统,根据测量所得的温度与设定的参量,并利用模糊PID算法计算出控制量,利用该控制量调节由DSP事件管理器产生PWM波的占空比,并作用于半导体制冷器,以达到温度控制效果,实现控制精度高,体积小的温度控制系统[1]。


  1系统硬件组成


  1.1DS18B20功能结构与使用


  DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55~+125℃;可编程为9~12位A/D转换精度,测温分辨率可达0.0625℃;CPU只需一根埠线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适合用于远距离多点温度检测系统中。


  DS18B20的管脚排列如图1所示。DQ为数字信号输人/输出端;GND为接地;VDD为外接供电电源输人端(在寄生电源接线方式时接地)。


  DS18B20中的温度传感器可完成对温度的测量,用16位符号扩展的二进制补码读数形式提供[2],以0.0625℃/LSB形式表达,其中S为符号位。例如+125℃的数字输出为07DOH,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。


  1.2DSP介绍


  这里所用DSP为TMS320F2812,它是美国TI公司新推出的低价位、高性能的16位定点DSP,是专为控制应用系统而设计的[3],其主频可达150MHz,本系统中所用晶振为45MHz,片内集成了外围设备接口,主要起控制和计算作用。


  1.3半导体制冷器简介


  半导体制冷器是根据帕尔贴效应制成的,由两种不同金属组成一对热电偶,当热电偶迈入直流电流后因直流电通入的方向不同,将在热电偶结点处产生吸热和放热现象。制冷器结构如图2所示[4]。


  把一个N型和P型半导体的粒子用金属连接片焊接成一个电偶对。当直流电流从N极流向P极时,上端产生吸热现象,此端称冷端,下端产生放热现象,此端称热端,如果电流方向反过来,则冷热端相互转换。


  1.4硬件连接


  DS18B20与DSP连接主要有两种方式:寄生电源方式和外部供电方式。本文采用外部供电方式,其中18B20的DQ口与F2812的GPIOA0口连接,具体连接如图3所示。


  2温度测量


  要进行温度控制,首先要测量所控制目标的温度值,在本系统中,具体使用数字温度传感器DS18B20与DSP结合,并利用CCS编写程序,本系统开发平台为CCS2.2,前期安装及芯片设置在此省略[5-6],程序流程如图4所示。


  DS18B20的控制包括三种时序:复位、写时序、读时序[7]。


  复位:主机总线在t0时刻发送一个复位脉冲(最短为480μs的低电平信号),接着在t1时刻释放总线并进入接收状态;DSl820在检测到总线的上升沿之后等待15~60μs,接着在t2时刻发出存在脉冲(低电平持续60~240μs)。


  写时序:对于DS18B20的写时序分为写0时序和写1时序两个过程。写0时序和写1时序的要求不同,当要写0时序时,总线要被拉低至少60μs,保证DS18B20能够在15~45μs之间正确地采样I/O总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15μs之内就得释放单总线。写数据持续时间应大于60μs且小于120μs,两次写操作时间间隔要大于1μs。


  读时序:对于DS18B20的读时序同样分为读0时序和读1时序两个过程。对于DS18B20的读时序是从DSP把单总线拉低之后,在15s之内就得释放单总线,以便让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60μs才能完成。


  需要注意的是,在程序编写时不管是复位,还是读写,都要注意配置GPIOA0端口的状态(输入或输出),同时时序非常重要,本文中的延时都是经过多次测试后总结出来的,根据DSP芯片的晶振不同,延时程序都会改变,否则DS18B20不会正常工作。


  3温度控制


  3.1脉宽调制PWM输出


  TMS320F2812的事件管理模块总共能输出16路PWM信号,文中仅需要输出一路占空比可调的PWM信号,并设计从PWM1引脚输出该方波信号。文中选用通用定时器1(T1)作为时基;全比较单元1保存调制值;计数方式采用连续增计数模式。PWM占空比值与T1的三角波数据比较,输出PWM信号控制半导体制冷片工作。各寄存器设置如下(高速外设时钟为22.5MHz)[8-9]:


  EvaRegs.ACTR.all=0x0006;//通过对比较方式控制寄存器的配置


  EvaRegs.T1PR=5000;//定时器1周期值0.365μs*N


  EvaRegs.T1CMPR=2500;//定时器1比较值


  EvaRegs.T1CNT=0;//定时器1初值设为0


  EvaRegs.T1CON.all=0x144E;//连续增模式,TRS系数45M/2/16,T1使能


  EvaRegs.CMPR1=1500;//占空比


  文中设计的PWM周期为1.825ms,TMS320F2812的计数器记数范围为0~5DC。因此当系统装入CMPR1寄存器的值为0或5DCH时,输出恒为高电平或低电平。现以向CMPR1写入1500为例,PWM1引脚的输出周期为1.825ms的方波。


  3.2温度控制软件设计


  根据前面叙述,用DS18B20读取温度采样值,再通过参数自整定的Fuzzy-PID算法对数据进行处理[10]:根据E和EC的状况,由模糊控制规律再通过模糊表推导出ΔKP,KI,KD,根据式(1)计算出KP,KI,KD的大小,再计算出U的初值和ΔU,由式(2)实时计算控制量U。通过参数转换,将U转换为PWM参数,修改EvaRegs.CMPR1的数值,改变PWM的占空比,从而控制TEC的制冷/制热功率。


  3.3实验结果


  完成以上程序编写后,首先利用仿真器进行温度测量模拟,在标准温度计所得室温为31.2℃时,在CCS软件中利用快速观测窗口检测到的温度值为31.1875℃。通过实验证明,在外界温度为31℃,采用默认设置(稳定温度为25℃)时,该温度控制系统能使被控物体的温度稳定在25℃,温度稳定时间小于100s,精度可达到0.1℃以下,达到了工业控制要求。


  4结语


  利用DSP的高速处理能力,结合DS18B20精准的温度读取能力,以及利用CCS开发出温度控制系统。该温度控制系统中应用了Fuzzy-PID算法。设计目标是:在同样的控制精度条件下,使系统的过渡时间及超调量尽可能减小,以改善控制效果。采用复合控制,使系统能有效抑制纯滞后的影响,当参数变化较大以及有干扰时,仍能取得较好的控制效果。


  


核心期刊推荐