嵌入式
返回首页

基于TMS320F240的PID和PWM温度控制

2008-10-23

  1 系统组成

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

基于TMS320F240的PID和PWM温度控制

  1.1 测温电路

  测温的敏感元件为Pt100,温度调理芯片为AD7711,滤波器设定的截止频率为100Hz,可编程运算放大器设定64倍,A/D转换设定为16位,该芯片以串行方式在微处理器的控制下工作。处理器对AD7711读数的频率为20Hz,该采样频率在处理器定时器T3周期中断的控制下采样温度,并在该中断处理中调用PID处理函数,计算控制量。

  1.2 微处理器电路

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

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

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

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

  1.3 主电路

  电路工作时,主桥臂4个MOSFET控制热电模块电流方向,从而控制对温控对象加热还是制冷。经温度PID计算后,给定的三路PWM输出波经光耦、MOS-FET驱动器,去控制各支路的功率强度;三路之间的脉宽相对关系相对控温对象沿长度方向上的温度均一性进行调整。

基于TMS320F240的PID和PWM温度控制

  2 软件

  2.1 DSP中断的使用

  TMS320F240的中断向量表位于0000~003F地址,每个中断占两个字的空间,所以中断号N的中断入口地址为N*2。当中断发生时,程序作相应的环境保护后,跳转至相应的中断入口地址。在该中断地址烧写跳转至中断处理函数的语句,如:“B_c_int3”。可以单独建一中断向量表跳转汇编文件,并以指令“.

  sect″.vecs″”将该文件的内容汇编至vecs段,在cmd文件中将vecs段装载入程序区(PAGE0)的0000开始的地址。完成上述操作后,当中断发生时就可以跳转入中断处理函数进行处理。为了使中断能发生,需要打开相应中断源的屏蔽位。F240中的可屏蔽硬件中断的屏蔽位有三级:一位于ST0中的INTM位,用以屏蔽所有可屏蔽硬件中断,二位于数据存储区0004地址的IMR,用以屏蔽INT1~INT6,三位于片内外设的具体事件控制寄存器中。例如,希望串口接收PC数据中断发生:

基于TMS320F240的PID和PWM温度控制

  2.2 PID计算输出控制

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

基于TMS320F240的PID和PWM温度控制基于TMS320F240的PID和PWM温度控制

  2.3 PWM电路的使用

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

基于TMS320F240的PID和PWM温度控制

  2.4 DSP和PC通信格式

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

基于TMS320F240的PID和PWM温度控制基于TMS320F240的PID和PWM温度控制

  3 控温效果

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

基于TMS320F240的PID和PWM温度控制

  4 结束语

  控温系统通过上位机下传控温点或控温曲线及计算参数,系统设置灵活,控温功能丰富。控制中用PID计算进行PWM控制,可达±0.15℃的精确控温,同时保证较高的升降温速度和较小的超调量。研制的仪器运行稳定、可靠。

进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

精选电路图
  • CCD图像传感器在微光电视系统中的应用

  • 光控音效发生器电路

  • 如何利用ESP8266制作一个简单的四轴飞行器

  • 基于IC555的可变PWM振荡器电路

  • 如何使用LED驱动器LM3915制作振动计

  • 使用NE555和磁簧开关的橱柜照明电路

    相关电子头条文章