<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 用dsPIC30F的QEI模塊測量交流電機速度和位置(05-100)

用dsPIC30F的QEI模塊測量交流電機速度和位置(05-100)

——
作者:Microchip公司 Jorge Zambada 時(shí)間:2009-02-23 來(lái)源:電子產(chǎn)品世界 收藏

 

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

  圖6 由標志模式復位

  用QEI計算角速度

  在一個(gè)周期性中斷中執行速度計算,因為角速度在一個(gè)固定時(shí)間周期中是增長(cháng)的數字,這個(gè)中斷間隔,必須小于最大轉速的1/2轉所需時(shí)間。電機的轉速是3450RPM,所以在這個(gè)實(shí)例中選用4000RPM,以避免在任何速度計算時(shí)溢出。下式用于計算時(shí)間間隔:

  實(shí)例3是定時(shí)器1的初始化,用于產(chǎn)生周期性中斷,dsPIC DSC運行在14.75MIPS。

  實(shí)例3:定時(shí)器1初始化,產(chǎn)生0.0075秒ISR周期

  void InitTMR1(void)

  {

  TMR1=0; //復位定時(shí)器計數器

  T1CONbit.TON=0; //關(guān)閉定時(shí)器1

  T1CONbit.TSIDL=0; //睡眠期間連續工作

  T1CONbit.TGATE=0; //禁止進(jìn)入精確定時(shí)器

  T1CONbit.TCS=0; //使用Tcy作為時(shí)鐘源

  T1CONbit.TCK=2; //Tcy/64作為輸入時(shí)鐘

  PR1=1728 ;

  //用64預分頻器確定中斷周期=0.0075秒

  IFSobit.T1IF=0; //清定時(shí)器1中斷標志

  IECobits.T1IE=1; //允許定時(shí)器1中斷

  T1CONbits.TON=1; //打開(kāi)定時(shí)器1

  turn;

  }

  實(shí)例4是在周期性ISR中計算速度變量:

  實(shí)例4:角速度計算實(shí)例

  #define MAX_CNT_PER_REV(500*4-1)

  #define MAXSPEED (unsigned int)(((unsigned long)MAX_CNT_PER_REV*2048)/125)

  #define HALFMAXSPEED (MAXSPEED>>1)

  int Speed;

  void_attribute_((_interrupt_))_T1Interrupt(void)

  {

  IFSobits.T1IF=0;//清定時(shí)器1中斷標志

  PositionCalculation();

  Speed=AngPos[0]- AngPos[1];

  If(Speed>=0)

  {

  if (Speed>=(HALFMAXSPEED)

  Speed=Speed-MAXSPEED;

  }

  else

  {

  if (Speed<-(HALFMAXSPEED)

  Speed=Speed+MAXSPEED;

  }

  Speed*=2;

  Return;

  }

  結語(yǔ)

  從本文的編碼實(shí)例,可以得到表1所示數據。

  如果測量的速度和角位置需要比較高的分辨率,可以用下列方法:

  用比較長(cháng)地時(shí)間周期精確計數。必須避免脈沖計數器寄存器POSCN溢出,所以在這種情況下推薦使用POSCN寄存器的精度。

  使用輸入捕捉通道代替轉換每轉計數周期測量。

  用每轉產(chǎn)生更多脈沖地增量計數器。

  代碼實(shí)例選用6010 DSC,開(kāi)發(fā)工具是MPLAB IDE7.11和MPLAB C30 v1.31?!?/p>

  (郭盛利)

分頻器相關(guān)文章:分頻器原理

上一頁(yè) 1 2 3 4 5 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>