在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            關 閉

            新聞中心

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

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

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

             

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

              圖6 由標志模式復位

              用QEI計算角速度

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

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

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

              void InitTMR1(void)

              {

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

              T1CONbit.TON=0; //關閉定時器1

              T1CONbit.TSIDL=0; //睡眠期間連續(xù)工作

              T1CONbit.TGATE=0; //禁止進入精確定時器

              T1CONbit.TCS=0; //使用Tcy作為時鐘源

              T1CONbit.TCK=2; //Tcy/64作為輸入時鐘

              PR1=1728 ;

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

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

              IECobits.T1IE=1; //允許定時器1中斷

              T1CONbits.TON=1; //打開定時器1

              turn;

              }

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

              實例4:角速度計算實例

              #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;//清定時器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;

              }

              結語

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

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

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

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

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

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

              (郭盛利)

            分頻器相關文章:分頻器原理

            上一頁 1 2 3 4 5 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉