关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 用dsPIC30F的QEI模块测量交流电机速度和位置(05-100)

用dsPIC30F的QEI模块测量交流电机速度和位置(05-100)

——
作者:Microchip公司 Jorge Zambada时间:2009-02-23来源:电子产品世界收藏

  使能数字滤波器

本文引用地址:http://www.amcfsurvey.com/article/91537.htm

  使能数字滤波器在增量编码器信号中滤波其他信号。对本例所用的结构,图4说明了输入信号的滤波作用。

  滤波器计算时,编码器最小脉冲宽度为最高电机速度。在这个实例中,最小脉冲宽度由下式确定:

  

 

  所配置的滤波器滤出任何小于15祍的脉冲,运行14.75MIPS,能够满足滤波器的要求,滤波器分频器由下式计算:

  

 

  在中有可选择参数,选择64分频,13祍以下的脉冲将被滤出。

  增量脉冲计数器

  在每个QEn引脚输入增量脉冲计数器信号。为了尽可能提高分辨率,QEI配置成×4。×4计数模式时,每个QEA和QEB信号沿到来时,POSCNT寄存器增量计数或减量计数,图5是×4配置的定时信号。

  复位脉冲计数器

  脉冲计数器由INDEX引脚复位。图6是INDEX脉冲复位脉冲计数器的定时图。

  代码实例

  下面是初始化的代码实例:

  实例1:初始化

  void InitQEI(viod)

  {

  ADPCFG|=0x0038;

  //配置QEI引脚作为数字输入

  QEICONbit.QEIM=0; //禁止QEI模块

  QEICONbit.CNTERR=0; //清除计数错误

  QEICONbit.QEISIDL=0; //睡眠期间连续工作

  QEICONbit.SWPAB=0; //QEA和QEB交换

  QEICONbit.PCDOUT=0; //标准I/O引脚工作

  QEICONbit.POSRES=1;

  //标志脉冲复位位置计数器

  DELTCONbits.CEID=1; //禁止计数错误中断

  DELTCONbits.QEOUT=1;

  //允许QEn引脚数字滤波器输出

  DELTCONbits.QECK=5;

  //对QEn数字滤波器1:64时钟分频

  DELTCONbits.INDOUT=1;

  // 允许INDEX引脚数字滤波器输出

  DELTCONbits.INDCK=5;

  //对INDEX数字滤波器1:64时钟分频

  POSCNT=0;

  //复位位置计数器

  QEICONbit.QEIM=6;

  //用INDEX位置计数器复位×4模式

  Return;

  }

分频器相关文章:分频器原理


评论


相关推荐

技术专区

关闭