關(guān) 閉

        新聞中心

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

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

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

          使能數(shù)字濾波器

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

          使能數(shù)字濾波器在增量編碼器信號中濾波其他信號。對本例所用的結(jié)構(gòu),圖4說明了輸入信號的濾波作用。

          濾波器計算時,編碼器最小脈沖寬度為最高電機速度。在這個實例中,最小脈沖寬度由下式確定:

          

         

          所配置的濾波器濾出任何小于15祍的脈沖,運行14.75MIPS,能夠滿足濾波器的要求,濾波器分頻器由下式計算:

          

         

          在中有可選擇參數(shù),選擇64分頻,13祍以下的脈沖將被濾出。

          增量脈沖計數(shù)器

          在每個QEn引腳輸入增量脈沖計數(shù)器信號。為了盡可能提高分辨率,QEI配置成×4。×4計數(shù)模式時,每個QEA和QEB信號沿到來時,POSCNT寄存器增量計數(shù)或減量計數(shù),圖5是×4配置的定時信號。

          復(fù)位脈沖計數(shù)器

          脈沖計數(shù)器由INDEX引腳復(fù)位。圖6是INDEX脈沖復(fù)位脈沖計數(shù)器的定時圖。

          代碼實例

          下面是初始化的代碼實例:

          實例1:初始化

          void InitQEI(viod)

          {

          ADPCFG|=0x0038;

          //配置QEI引腳作為數(shù)字輸入

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

          QEICONbit.CNTERR=0; //清除計數(shù)錯誤

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

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

          QEICONbit.PCDOUT=0; //標(biāo)準(zhǔn)I/O引腳工作

          QEICONbit.POSRES=1;

          //標(biāo)志脈沖復(fù)位位置計數(shù)器

          DELTCONbits.CEID=1; //禁止計數(shù)錯誤中斷

          DELTCONbits.QEOUT=1;

          //允許QEn引腳數(shù)字濾波器輸出

          DELTCONbits.QECK=5;

          //對QEn數(shù)字濾波器1:64時鐘分頻

          DELTCONbits.INDOUT=1;

          // 允許INDEX引腳數(shù)字濾波器輸出

          DELTCONbits.INDCK=5;

          //對INDEX數(shù)字濾波器1:64時鐘分頻

          POSCNT=0;

          //復(fù)位位置計數(shù)器

          QEICONbit.QEIM=6;

          //用INDEX位置計數(shù)器復(fù)位×4模式

          Return;

          }

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


        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 台东县| 汾阳市| 湘潭市| 新平| 仙桃市| 衡水市| 丹棱县| 晋城| 保康县| 习水县| 精河县| 衡水市| 弋阳县| 富顺县| 自贡市| 蓝田县| 武山县| 托克托县| 宝应县| 抚宁县| 神池县| 皮山县| 醴陵市| 霍林郭勒市| 巴彦淖尔市| 寿宁县| 苗栗县| 綦江县| 嘉祥县| 建湖县| 东乡族自治县| 墨竹工卡县| 社旗县| 佛坪县| 巴林左旗| 临澧县| 荥经县| 本溪| 扶余县| 闸北区| 长垣县|