新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種嵌入式運動控制器的實現

        一種嵌入式運動控制器的實現

        作者: 時間:2011-09-07 來源:網絡 收藏
        3 系統軟件設計

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

          軟件設計采用模塊化設計方法,程序的總體結構采用以數據管理和位置速度控制為主,以I/O端口控制、邏輯控制、插補運算等為中斷任務或子函數任務的形式。位置速度控制主要負責對實時狀態的監控與調節;I/O端口控制主要負責掃描輸入端口、設置輸出端口等輔助性任務。

          DSP控制程序主要由一個定時中斷構成,主程序啟動后,首先完成對TMS320F2812的初始化及系統的一些基本配置,并處于等待狀態。控制功能是在伺服中斷服務程序中的。主程序和伺服中斷服務程序基本流程如圖4所示。

          

        運動控制器的主程序和伺服中斷服務程序基本流程

          FPGA主要完成的精插補功能,采用數字積分法進行插補。把數字積分法分為3個狀態:

          (1)狀態WAIT,等待插補信號;

          (2)狀態L1,判斷總的脈沖數;

          (3)狀態L2,積分累加器累加一次,如有溢出,相應的輸出脈沖為高電平,剩余累加次數減1。

          數字積分法的有限狀態機如圖5所示。

          

         數字積分法的有限狀態機

          觸發條件T1:沒有啟動信號,下一狀態為WAIT,無操作;

          觸發條件T2:有啟動信號,下一狀態為L1,操作為初始化各寄存器,置忙信號;

          觸發條件T3:剩余累加次數大于0,下一狀態為L2,操作為各軸輸出脈沖為低電平;

          觸發條件T4:剩余累加次數為0,下一狀態為WAIT,操作為各軸輸出脈沖為低電平,清忙標志;

          無觸發條件:下一狀態為L1。

          具體方法為:時序電路產生的插補脈沖作為此模塊的累加脈沖,每累加1次,剩余累加次數減1。當剩余累加次數為0時,此次插補過程結束。

          4 結語

          該運動的結構設計可以模塊化和易于擴展,這樣可以滿足用戶的各種需求。在軟件部分中,采用有限狀態機的插補方法,在插補速度處理環節做了優化,使脈沖輸出更加穩定。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        伺服電機相關文章:伺服電機工作原理



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 水富县| 赤城县| 六盘水市| 湖州市| 综艺| 凤冈县| 西乌珠穆沁旗| 金门县| 通城县| 峨眉山市| 宜川县| 股票| 定襄县| 和顺县| 玉山县| 新泰市| 乐陵市| 浑源县| 左云县| 新龙县| 无锡市| 霍城县| 璧山县| 十堰市| 额济纳旗| 和静县| 上高县| 本溪| 石棉县| 安国市| 淄博市| 揭东县| 遵义县| 米泉市| 克东县| 九江县| 张家界市| 册亨县| 隆安县| 兴山县| 临桂县|