您的当前位置:首页正文

基于TMS320F240xDSP的数字PID算法控制PWM的温度控制

2021-10-11 来源:客趣旅游网
—44—

仪表技术2004年第4期

基于TMS320F240的PID和PWM温度控制

郭少朋,吴岚军,唐小萍,张春野(中科院电工所,北京100080)

  摘要:介绍用PWM方法进行精确控温的控制电路及主电路结构,以及用C语言编写的PID&PWM的函数。

关键词:数字信号处理器;控温;热电模块

中图分类号:TH811.1        文献标识码:B        文章编号:1006-2394(2004)04-0044-02

PID&PWMTemperatureControlBasedonTMS320F240

GUOShao2peng,WULan2jun,TANGXiao2ping,ZHANGChun2ye

(InstituteofElectricalEngineering,ChineseAcademyofScience,Beijing100080,China)

Abstract:PrecisetemperaturecontrolusingPWMmethodandmaincircuitareintroducedalongwithPID&PWMfunctionsinClanguage.Keywords:DSP;temperaturecontrol;thermoelectricmodule

1 系统组成

系统采用Pt100作为敏感元件。温度调理芯片AD7711对其施加激励电流,Pt100两端的电压差分输

周期中断的控制下采样温度,并在该中断处理中调用

PID处理函数,计算控制量。1.2 微处理器电路DSP有三个通用定时器,12路PWM输出,四路捕获单元,一个正交编码脉冲电路,以上片内外设都有相应的中断向量入口地址。

该控制器具有完整的晶振、复位电路,通常在电阻电容复位方式的基础上加上门电路驱动以保证复位可靠。对于DSP的上电复位,用引脚RS(35)或PORESET(41)都可以。外扩16KRAM在调试时下载程序,RAM片选线应接外部程序片选线PS(131),读写片选线分别接W/R(132)和WE(1)。

F240的事件管理(EVM)有三个通用定时器,作为PWM工作的时间基准。PWM7~9是三个比较单元的输出,设计中选用T2为时基;计数方式采用连续增减计数模式,T2起三角波发生器的作用。T3定时器控制温度采样、PID计算的频率;PID计算结果与T2的三角波数据比较,输出PWM7/8/9去控制三路热电模块。

DSP用一片MAX232来完成电平转换,与PC串口相连(三线方式)。对于DB9串口,5脚公用地直接相连,用以发送、接收的3、2脚交叉相连。

入AD7711,经滤波、放大、A/D后,串行送至TMS320F240。TMS320F240在计数器周期中断的控制下以一定的频率读取温度的A/D码,并进行数字滤波得到温度数据。控制器TMS320F240在接收到串口的控温指令和温度数据后,把采集到的实时温度与控温要求的温度相比较进行PID计算得出控制量,用该控制量去控制主电路的电流方向和PWM输出。电流方向决定对控温对象加热还是制冷,PWM的输出经光耦隔离去驱动功率MOSFET从而达到控制热电模块加热或调节制冷功率的目的。PID参数也可以通过串行口进行实时修改。

图1 控制电路原理框图

1.3 主电路

1.1 测温电路

电路工作时,主桥臂4个MOSFET控制热电模块电流方向,从而控制对温控对象加热还是制冷。经温度PID计算后,给定的三路PWM输出波经光耦、MOS2FET驱动器,去控制各支路的功率强度;三路之间的脉

测温的敏感元件为Pt100,温度调理芯片为AD7711,滤波器设定的截止频率为100Hz,可编程运算

放大器设定64倍,A/D转换设定为16位,该芯片以串行方式在微处理器的控制下工作。处理器对AD7711读数的频率为20Hz,该采样频率在处理器定时器T3

宽相对关系相对控温对象沿长度方向上的温度均一性进行调整。

  收稿日期:2004-03

),男,助理研究员,从事生命科学仪器研究设计。  作者简介:郭少朋(1974—

2004年第4期仪表技术

—45—

if(fabs(error1)<100)      //判断是否进入ID调节区{f2=(1.03sumerror/5000.0)3Ki;//I调节量计算f3=1.03(error1-error0)/300.03Kd;} //D调节量计算f=f1+f2+f3;

if((f<=0)&&(heatflag!=1))

//PID控制量计算

 {setheat();sumerror=0;} //控制主电路换向MOS1、MOS2导通

elseif((f>0)&&(heatflag!=0)) {setcold();sumerror=0;} //控制主电路换向MOS3、MOS4导通controlv=(unsignedint)((1.02fabs(f))3PWMT);//PWM数值计算setpwm789(controlv);//改变脉宽输出error0=error1;

//为下一次PID做准备

图2 主电路原理框图

…}

2 软件

2.1 DSP中断的使用

TMS320F240的中断向量表位于0000~003F地

2.3 PWM电路的使用

址,每个中断占两个字的空间,所以中断号N的中断入口地址为N32。当中断发生时,程序作相应的环境保护后,跳转至相应的中断入口地址。在该中断地址烧写跳转至中断处理函数的语句,如:“B

c

int3”。

设置完计数器、比较值、端口电平有效性后,启动计数器T2;当计数器与比较值相等时,端口输出电平作相应变化。经PID计算不断改变比较匹配值SCM2PR1/2/3便输出相应的PWM波。在程序中用initp2wm789()完成PWM初始化后,即可用setpwm789()来进行PWM。

voidinitpwm789(unsignedintperoid){3OCRA=0xFF00;  //把多功能端口设置为PWM端口

可以单独建一中断向量表跳转汇编文件,并以指令“.sect″.vecs″”将该文件的内容汇编至vecs段,在cmd文

件中将vecs段装载入程序区(PAGE0)的0000开始的

3GPTCON=0xe06A;//设置端口输出高有效3T2CON=0x280A;3T2CNT=0x0000;3T2PR=peroid;3SACTR=0x02A;3T2CON=0x284A;

}

//连续增减计数,对cpu时钟直接计数//计数器初值0//设置PWM的周期值//设置PWM端口输出低有效//启动T2

地址。完成上述操作后,当中断发生时就可以跳转入中断处理函数进行处理。为了使中断能发生,需要打开相应中断源的屏蔽位。F240中的可屏蔽硬件中断的屏蔽位有三级:一位于ST0中的INTM位,用以屏蔽所有可屏蔽硬件中断,二位于数据存储区0004地址的IMR,用以屏蔽INT1~INT6,三位于片内外设的具体事

3COMCON=0xCBD0;//选择PWM时基T2,比较输出使能

2.4 DSP和PC通信格式

件控制寄存器中。例如,希望串口接收PC数据中断发生:

3SCICTL2=0X02    //打开串口接收中断3IMR=0x0001;

);asm(″CLRCINTM″

//打开INT1中断//打开硬件屏蔽总中断

本设计的波特率为4800、帧格式为8个数据位、一个停止位。设计给出每个指令起始位、长度及和检验的协议。在传输中所有指令的长度为8个字节,两个连续的十六进制数0xfe、0xfe表示一条新命令行的开始,第三个字节说明指令类型,接着四个字节是指令内容,最后一个字节是该条指令第3个字节到第7个字节的累加和,对于溢出部分不予考虑,只用累加和的低8位校验。本设计中DSP向PC主机发送的指令共9种,由每条指令的第三个字节指定(表1,表2)。当传

2.2 PID计算输出控制

加热及致冷元件采用Peltier原理的半导体热电模块。该模块在一定电流下,一端面加热另一端面制冷,当电流反向时,冷热面互换。由于执行元件本身的非线性特点,随温差增大有效输出功率急剧变化。假定外界散热良好,即温差的一端为恒温,仪器运行在不同的控温点时考虑采用不同的PID参数,设计中分段采用几组不同的参数。输出控制量F为PID各环节分别计算的控制量之和:F=fp+fi+fd。-1≤F≤1,|F|对应PWM的占空比。F<0主电路MOS3、MOS4导

输的参数是浮点数时,发送方将其转为整数发送,接收

方也作相应的处理。

表1 指令格式

10xfe

20xfe

3FLAG

4

5

6

7

8

N1N2N3N4SUM[3:7]通,电流反向;F>0主电路MOS1、MOS2导通,电流正向。设置定时器3的周期中断50ms作为PID调节频率。

voidPIDf(intrefvalue,intcurvalue){…

error1=(float)(curvalue2refvalue);  //实际值与参考值误差计算f1=(1.03error1/Trange)3Kp;sumerror=sumerror+(error1)30.01;

//P调节控制量计算//误差积累量计算

FLAG0x00

表2 指令表

0x010x020x030x04

0xfc

0xfd

0xfe

0xff

PID不改变主电

温度三路温

AD7711温度参数路电流方向指令基准度均一

控制字数据的输只改变脉宽

调整性参数

入参数   控制主

电路制冷及脉宽参数控制主

关断主

电路加

电路输

热及脉

宽参数

(下转第54页)

—54—

仪表技术2004年第4期

通过调节精密电位器VR1、VR2的阻值可以方便的调节线性变换器的增益,从而得到满足测量要求的直流信号

一般来说,对隔离放大器的主要要求是其隔离特性,增益可由信号的其他环节保证。因而,从保证传输精度的角度出发,隔离放大器的增益不宜太大。表1中列出隔离放大器的实测结果:

表1 光电耦合隔离器传输特性实测结果

输入电压Vin(V)输出电压Vout(V)

0.0000.4891.0081.4932.0002.5003.0003.5004.0004.5005.000

0.0020.4841.0041.4921.9992.5003.0053.5064.0084.5095.010

(V)拟合值Vo′

-0.0040.4861.0061.4932.0012.5033.0043.5064.0074.5085.010

由上式计算得出的拟合值Vo′及其与各实测值之

间的残差也列于表1中。该隔离放大器在上述电压范围内的传输线性度K可由下式定义

ΔVo′

maxK=

Voutmax

式中,Voutmax为传输信号电压的最大值,ΔVo′为差max

值最大值。

由表1所给数据可计算出上述电压范围内的传输线性度为0.1%。3 结论

差值ΔV(V)

-0.0060.0020.0020.0010.0020.0030.0010.000-0.001-0.0010.000

本系统应用光电子技术实现了信号的传输、线性隔离、驱动以及反馈调节,降低了电路的研发成本,减少了电路的复杂性,提高了线路的抗干扰能力,保证了信号传输的精确度,实现了电池充放电的智能自动控制。参考文献:

[1]谢自美.电子线路设计・实验・测试(第二版)[M].武汉:华

中理工大学出版社,2000.[2]康华光.电子技术基础(第四版)[M].北京:高等教育出版

  由最小二乘法可得出上述隔离放大器的拟合传输特性为

Vo′=1.0028Vin-0.0043(上接第45页)3 控温效果

社,1999.[3]刘乐善.微型计算机接口技术及应用[M].武汉:华中理工

大学出版社,2000.

(郁红编发)

4 结束语

图3是对500g铜制生物样品座20℃→70℃→20℃→70℃的控温曲线。温度超调量小于0.7℃,控制精度±0.15℃,升降温速度2℃/秒。

控温系统通过上位机下传控温点或控温曲线及计

算参数,系统设置灵活,控温功能丰富。控制中用PID计算进行PWM控制,可达±0.15℃的精确控温,同时保证较高的升降温速度和较小的超调量。研制的仪器运行稳定、可靠。参考文献:

[1]王福瑞,等.单片微机测控系统设计大全[M].北京航空航

图3 控温曲线

天大学出版社,1998:331-337.

[2]张浩.铂电阻温度传感器地自热效应[J].传感器技术,

2002,21(12):13-14.

[3]宁改娣,杨拴科.DSP控制器原理及应用[M].科学出版社,

(许雪军编发)2002.

2004年研祥嵌入式技术应用研讨会

为加强金融行业内信息技术的交流合作,研祥智能科技股份有限公司协同Intel(中国)有限公司等单位,从5月12日~6月24日在北京、深圳、上海等12个城市举办了2004年研祥嵌

入式技术在金融行业中的应用研讨会。

会上,专家介绍了中国金融行业的现状和发展情况,介绍了研祥公司的金融行业个性化解决方案,介绍了Intel和系统集成商的最新产品与解决方案。此外,现场还对热点专业技术进行了交流。

因篇幅问题不能全部显示,请点此查看更多更全内容