关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于DSP与数字温度传感器的温度控制系统

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

作者: 时间:2010-07-14 来源:网络 收藏



2测量
要进行控制,首先要测量所控制目标的值,在本系统中,具体使用温度DSl8B20与结合,并利用CCS编写程序,本系统开发平台为CCS 2.2,前期安装及芯片设置在此省略,程序流程如图4所示。


DSl8B20的控制包括三种时序:复位、写时序、读时序。
复位:主机总线在t0时刻发送一个复位脉冲(最短为480μs的低电平信号),接着在t1时刻释放总线并进入接收状态;DS1820在检测到总线的上升沿之后等待15~60μs,接着在t2时刻发出存在脉冲(低电平持续60~240μs)。
写时序:对于DSl8B20的写时序分为写O时序和写1时序两个过程。写O时序和写1时序的要求不同,当要写0时序时,总线要被拉低至少60 μs,保证DSl8B20能够在15~45μs之间正确地采样I/O总线上的“O”电平,当要写1时序时,单总线被拉低之后,在15μs之内就得释放单总线。写数据持续时间应大于60μs且小于120μs,两次写操作时间间隔要大于1μs。
读时序:对于DSl8B20的读时序同样分为读0时序和读1时序两个过程。对于DSl8B20的读时序是从把单总线拉低之后,在15 s之内就得释放单总线,以便让DSl8B20把数据传输到单总线上。DSl8B20在完成一个读时序过程,至少需要60μs才能完成。
需要注意的是,在程序编写时不管是复位,还是读写,都要注意配置GPIOA0端口的状态(输入或输出),同时时序非常重要,本文中的延时都是经过多次测试后总结出来的,根据芯片的晶振不同,延时程序都会改变,否则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的制冷/制热功率。



评论


相关推荐

技术专区

关闭