• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 用DSP實現增量式光電編碼器的細分

    用DSP實現增量式光電編碼器的細分

    作者: 時間:2010-12-22 來源:網絡 收藏

    原始信號進行細分是采用各類光柵器件進行高精度位置測量、角度測量過程中不可或缺的一個環節。細分方法多種多樣,針對各種現有的電子學細分方案并結合實際應用,本文采用軟件程序判卦限,查表細分方法,實現了針對測角傳感器信號的2048次細分。

    本文引用地址:http://www.czjhyjcfj.com/article/151159.htm

    關鍵詞:,, 細分

    1 引言

    目前,,,,,,,需要考慮實時性的問題。

    有很多采取純硬件進行細分的方法,如,電阻鏈細分,空間細分,鎖相倍頻,還有兩種方法的結合使用等。上述幾種方法在實際應用中被廣泛采用,特別是電阻鏈細分,在低倍頻的情況下是一種很好的方案。但是在高倍頻的情況下,不可避免地出現大量使用比較器的情況,以及比較器死區(滯后區)問題,難以調節。空間細分的方法中,主要解決的問題是切割電平精準的問題,其中的三角波切割三角波的方案有很多優點,可以改變使用過零比較造成的細分誤差。但是仍然存在大量使用比較器的問題,調節起來比較繁瑣。鎖相倍頻細分的方法,一方面,成本較前兩種高,另一方面,受環境溫度的影響比較大,實際的應用中很少采用。

    高速數字處理器件DSP的應用可以極大地改善系統的實時性,DSP中集成了16路10位A/D轉換,有豐富的硬件資源,比較器、定時器,和兩個專門用于產生PWM波的事件管理器。DSP中豐富的指令集為做除法提供了條件。設DSP(2407a)的時鐘頻率是40MHZ,除法程序可以在35個指令周期內執行完,兩路A/D轉換需要29個指令周期,查詢數據得細分值需要兩個指令周期。共69個指令周期,DSP中程序執行是流水線執行的,一個時鐘周期最多可以執行4條指令。則需要不到1.6us就可以得到精確的光柵位移值。對于一般的應用場合,用DSP細分可以足夠保證控制器500KHz的頻帶,和定位的精確性。

    本文從原理上考慮在DSP中完成細分的方案,使用取絕對值,八卦限理論,利用DSP器件(速度為25納秒)對信號進行邏輯運算和處理等一整套信號細分方案。

    2 細分及框圖

    通過軟件查詢的方式進行細分。從光電編碼器輸出的兩路角位移信號首先進行濾波整型,硬件辨向,提取整周期信號,得到粗位移;對兩路信號進行A/D轉換,通過U函數得到計數脈沖,從而得到卦限值,通過V函數得到精位移的地址信號,查詢得到精位移。系統框圖如下:

    輸入的兩路信號分別是x1=2.5*sin(fai)+2.5(v),x2=-2.5*cos(fai)+2.5(v);在DSP中有專門的16路A/D轉換電路,因而不用再設計A/D轉換電路。A/D轉換后得到y1=|2.5*sin(fai)|,y2=|-2.5*cos(fai)|。對其進行卦限計數,

    A/D轉換周期由軟件設定,而在硬件電路實現時,必須要考慮卦限信號,控制信號的高度同步,但在實際電路中是很難做到的。

    如果將該數據與相位之間的對應關系用一張表來描述,就是我們所建立的細分表,放在DSP中的SRAM中,DSP中集成了2K×16的SRAM,足夠放置查詢表。兩者之間并不是一一對應關系。

    (FAI)(t)=arctanθt∝sinxt/cosxt;

    軟件流程圖如下:

    軟件程序流程圖:

    U函數取為U=y1*y2*(y2-y1);當U為零時,卦限信號就增加1

    ; ;;;;;;;;;;-------細分程序

    XIFEN: LDP #0E1h;

    CLRC SXM ; 抑制符號位擴展

    LACC RESULT0,10

    SACH X1 ; 存X1值

    LACC RESULT1,10 ;

    SACH X2; 存X2值

    SETC SXM ;允許符號位擴展

    LACL R1SIN;

    SUB #JUNZHI ;(2.5V);

    ABS

    接地電阻相關文章:接地電阻測試方法



    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 沿河| 毕节市| 马公市| 拜泉县| 东丰县| 封开县| 陆丰市| 游戏| 策勒县| 宽甸| 文安县| 百色市| 内乡县| 舒兰市| 维西| 德安县| 河北省| 南昌县| 青川县| 普兰县| 沧州市| 柳林县| 无棣县| 集贤县| 岱山县| 永清县| 高淳县| 阿巴嘎旗| 密云县| 泾源县| 南宁市| 海南省| 泗阳县| 五寨县| 宁波市| 万源市| 安庆市| 临澧县| 玉山县| 建瓯市| 三河市|