仪表技术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和系统集成商的最新产品与解决方案。此外,现场还对热点专业技术进行了交流。
因篇幅问题不能全部显示,请点此查看更多更全内容