基于TMS320F2812 DSP捕获单元的柴油捕获单元的柴油发电机组的转速测量系统

2010-12-18 11:25:29 来源:《半导体器件应用》2009年5月刊 点击:2200
l 引言
应用于高层建筑、银行、机场和油田等场合的柴油发电机组,必须采用相应方法控制其供电电压和频率,以确保在机组运行中具有良好的电气性能,满足应用要求。其频率控制一般是通过转速控制实现[1-3],目前应用较多的为模拟式转速调节器。由于模拟式调节器不易实现复杂控制规律、结构复杂,故采用数字式控制器。数字式控制器具有算法灵活,可实现复杂控制规律、抗干扰能力强等特点,是实现柴油发电机组转速的高精度调节[4]的理想选择。因此,这里提出了一种以TMS320F2812 DSP为核心的转速数字控制器的测速功能系统设计,该设计方案是进一步实现转速数字控制的基础。
2 转速测量原理
在测量和控制柴油发电机组转速时,需用转速传感器检测机组转速。柴油发电机组经常使用磁电式转速传感器(图1),该转换传感器是在永久磁铁上安装一感应线圈,并将传感器安装于柴油机飞轮附近,与柴油机的测速飞轮构成一个磁回路。当柴油发电机组转动时,由于飞轮带有齿槽,就会使回路磁阻发生变化,从而在转速传感器的线圈中产生感应电势,即转速电压信号,转速传感器线圈输出的平均电压值为0.5V~6V,其频率为:
f=Zn/60                                       (1)
式中:Z为柴油机飞轮齿数,n为机组转速。
将传感器输出信号调理后变成速度频率的数字信号输入TMS320F2812 DSP的捕获单元,捕获被测信号电平的跳变沿(比如上升沿)。从而可在被测信号的一个周期内,对标准时钟f0的周期数计数,若得到的周期数为K,则显然被测信号的周期(T)可表示为:
T=K/f0                                       (2)   
于是,由(1)式和(2)式可得柴油发电机组的转速为:
n=60 f0/ZK                                   (3)
通过DSP程序按(3)式即可计算机组转速。
3 转速测量系统设计
3.1 硬件电路设计
若飞轮齿数Z为159,柴油机额定转速为1500r/min,根据上述测量原理,给出以TMS320F2812 DSP为核心的转速测量系统的硬件设计,如图2所示。
磁电式转速传感器的输出信号首先由R1和C组成的滤波电路滤波,其截止频率fc根据柴油机在额定转速时传感器输出信号的频率确定。因fc=1/(2πR1C),从而确定R1和C,可见这两者的取值与柴油机转速和飞轮齿数有关。需要注意的是这两者取值应按实际设备参数确定。传感器输出模拟信号,要送入DSP需将其转换为数字信号,因此采用VQ开关状态,经VQ转换后其集电极输出信号需由反相施密特触发器变换后(即经过信号整形后)再送入DSP TMS320F2812的捕获单元CAP1。该捕捉单元有一个专用的2级深度FIFO堆栈,顶层堆栈由CAP1FIFO组成,底层由CAP1FBOT组成。测速分两次捕捉,第一次捕捉到引脚发生的指定变化时,捕获单元将捕捉所选用计数器的计数值并把该值写入FIFO堆栈的顶层寄存器。如果在第一次捕捉的值读取之前发生第二次捕捉,新的捕捉值会被送入宛若层寄存器。捕获单元捕捉到数值后,相应的中断标志位置1,如果没有屏蔽中断,则产生外围设备中断请求[5-6]。响应中断,通过中断服务程序读取一对捕捉的数值。该捕捉值正好是被测信号一个周期的两次计数。根据这两次捕获值,计算标准时钟的周期数K,进而得出被测转速。
3.2 软件程序设计
由于采用DSP的事件管理器EVA的捕获单元CAP1,并选其定时器T1作为CAP1的时间基准,T1工作在连续递增计数模式,并庙宇捕获单元捕获被测信号的上升沿。捕获前要清中断标志位,开捕获中断。相应初始化事件管理器EVA的程序代码为:
void InitEv(void)
{
EvaRegs.T1PR=0xFFFF;   //T1周期
EvaRegs.T1CNT=0;
EvaRegs.T1CON.all=0
EvaRegs.T1CON.bit.TMODE=2;  //连续增计数模式
EvaRegs.T1CON.bit.TPS=4;  //150MHz的32分频(HSPCLK已2分频,故TPS=4,即16分频)
EvaRegs.T1CON.bit.TENABLE=1;  //使能T1定时器
EvaRegs.CAPCONA.all=0;  捕捉控制寄存器
EvaRegs.CAPCONA.bit.CAP12EN=1;  使能捕捉
EvaRegs.CAPCONA.bit.CAP1EDGE=1;  /检测上升沿
EvaRegs.CAPCONA.bit.CAP12TSEL=1;  //CAP1选定时器T1
EvaRegs.CAPFIFOA.bit.CAP1FIFO=0;  //CAP1FIFO空
EvaRegs.EVAIFRC.bit.CAP1INT=1;  //清CAP1中断标志位
EvaRegs.EVAIMRC.bit.CAP1INT=1;  //CAP1中断使能
}
进入捕获中断子程序时,保护现场首先清CAP1中断标志位,从二级深度FIFO中依次读取两次捕获的计数值capK1和capK2。如果capK2>capK1,则capK2-capK1即为在被测信号的一个周期内记的标准时钟的周期数K。若capK2<capK1,则说明在计数过程中有计数溢出,即计数到周期寄存器T1PR内写入的0xFFFF后回零重新计数,因此K=capK2-capK1+0xFFFF。这里时基T1的频率为主频时钟除以分频系数,即f0=150MHz/31,因此所测速度为n=60f0/(ZK)=1768867.925/K。下面为捕获中断子程序代码:
unsigned int capK1;
unsigned int capK2;
float Speed;
interrupt void CAPINT1_ISR(void)//EV-A捕获中断子程序
{           unsigned int K;
   EvaRegs.EVAIFRC.bit.CAP1INT=1; //清捕获中断1标志位
   capK1=EvaRegs.CAP1FIFO;
   capK2=EvaRegs.CAP1FIFO; //读新旧两次计数值
   if(capK2>capK1)
      K=capK2-capK1;
   else
      K=capK2+(0xFFFF-capK1);
   Speed=1768867.925/(float)K; //计算转速
   PieCtrl.PIEACK.bit.ACK3=1; //开外设中断应答
}
4 结语
基于磁电式转速传感器和TMS320F2812 DSP的捕获单元实现的柴油发电机组转速数字控制器的转速测量系统,其硬件设计简单,测量精度较高。经实验测试,在机组转速(80~1500)r/min时,测量误差均低于0.2%,完全满足柴油机发电机组转速测量和控制的要求,有较高的实际应用价值。
参考文献
[1] 何伟, 陈钢. 柴油发电机组速度控制系统的仿真研究[J]. 移动电源与车辆, 2002(1): 17-20.
[2] 王维俊, 江敏, 郭军华. 小型柴油发电机电子调速系统设计[J]. 电气传动, 2008, 38(6):23-25.
[3] 汪忠海, 陆平, 宋恩哲. 柴油机数字式电子调速器的研究[J]. 自动化技术与应用, 2007, 26(9):46-47.
[4] 戴花林, 吴文海. 柴油机数字式调速系统模型建立及仿真分析[J]. 自动化技术与应用, 2007, 26(9):46-47.
[5] 万山明. TMS320F281x DSP原理及应用实例[M]. 北京: 北京航空航天大学出版社, 2007.
[6] 徐科军, 张瀚, 陈智渊. TMS320F281x DSP 原理与应用[M]. 北京: 北京航空航天大学出版社, 2006.
转载自《电子设计工程》2009年第3期
  
本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告