關 閉

        新聞中心

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

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

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

         

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

          圖6 由標志模式復位

          用QEI計算角速度

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

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

          實例3:定時器1初始化,產生0.0075秒ISR周期

          void InitTMR1(void)

          {

          TMR1=0; //復位定時器計數器

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

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

          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所示數據。

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

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

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

          用每轉產生更多脈沖地增量計數器。

          代碼實例選用6010 DSC,開發工具是MPLAB IDE7.11和MPLAB C30 v1.31。■

          (郭盛利)

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

        上一頁 1 2 3 4 5 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南澳县| 常州市| 尼勒克县| 尚志市| 乌拉特前旗| 肇州县| 霍城县| 禹城市| 斗六市| 南乐县| 千阳县| 楚雄市| 阿图什市| 兰坪| 肥东县| 怀宁县| 泰顺县| 庆云县| 东兰县| 湄潭县| 永福县| 佛冈县| 仪陇县| 全南县| 维西| 禹州市| 玛沁县| 新密市| 扎兰屯市| 扶风县| 鹤岗市| 南丹县| 元江| 松原市| 山东省| 托克逊县| 白山市| 开封县| 阳朔县| 清丰县| 聊城市|