新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一款基于STM32的運動控制卡設計

        一款基于STM32的運動控制卡設計

        作者: 時間:2014-04-02 來源:網絡 收藏

        摘要:在深入分析了意法半導體公司推出的、高速總線以及運動控制卡的功能和結構特點的基礎上,設計了一款可直接插在插槽中的伺服運動控制卡。不僅可大大降低了成本,更為開放式數控系統的研究提供了一個全新的思路。結果表明,本文所設計的伺服控制卡滿足了目前控制系統的性能和要求。

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

        關鍵詞:PMSM;;運動控制卡;

        伴隨著計算機的普及,PC的性能、可靠性及應用環境也已經今非昔比,在工業領域方面PC擁有大量的支持軟件用以改善用戶界面、圖形顯示、動態仿真、故障診斷、網絡通訊等諸多功能,此外,在總線的開發也因PC豐富的接口資源和模塊化設計而變得簡單。因此,基于PC的開放式數控系統絕對是未來控制系統主流主流方向,發展開放式和形成具有自主產權軟件型數字控制系統,是我國數控發展邁出實質性突破和趕超世界先進水平的一次良機。因此,文中研究課題主要對數控系統實際要求出發,結合PC和高性價比的ARM系列芯片,利用模糊控制算法,設計一款性能穩定,高精度的伺服控制器,為推進伺服技術的發展具有重要意義。

        1 系統結構

        本系統采用的是“PC+運動控制卡”形式。其中,計算機機作為上位機,可以滿足控制環節多、軌跡復雜、強柔性的設備的控制要求。

        以ARM為核心的控制卡作為下位機,主要負責總線通信、步進和伺服電機的控制,這樣就形成了以ARM的CPU和計算機CPU主從式雙CPU控制模式。計算機的多任務調度和強大的處理能力,加上微處理芯片的現場適應能力及高性價比,使得系統開放性好,可靠性高,并基本滿足現階段絕大多數工業控制的要求。

        ?

        ?

        2 運動控制卡硬件設計

        2.1 雙口RAM與STM和CH365的連接

        本文基于PCI總線的運動控制卡硬件方面主要包括2個部分:1)最小系統,2)PCI總線。選用雙口RAM芯片IDT7025作為STM32與CH365雙向通訊的緩沖芯片。

        本設計中,雙口RAM IDT7025作為STM32與PC都可以讀寫RAM中的數據,RAM右端與PCI通信芯片CH365連接,這樣就可以映射到CH365的存儲空間;左端口則與STM32相連,便于STM32的隨時訪問。其中IDT7025需要5 V電壓供電,而ARM芯片的供電電壓時3.3 V,所以需要電壓轉換,這里選擇了SN74LVTH16245。這部分的連接如圖2所示。本文將雙口RAM分成兩個獨立的存儲空間;高4 k空間用于計算機向STM32傳送控制指令,低4 k空間用于STM32向PC傳遞反饋的數據。

        ?

        ?

        2.2 CH365與PCI接口實現

        CH365與PCI部分的連接如圖3所示。圖中,電容C1~C4完成電源的去耦,C2~C4是大小為0.1 μF的高頻瓷片電容,PCB設計過程中就近并聯在芯片CH365的三組電源輸入輸出引腳上。而地址線A15~A0作為偏移地址,數據總線D7~D0配置為讀操作時的數據輸入,以及寫操作時的數據輸出。IOP_RD為提供I/O讀操作時片選脈沖信號,同樣,IOP_WR用于提供I/O寫操作時的片選信號,MEM_RD用于提供存儲器讀選通脈沖信號,MEM_WR用于提供存儲器寫選通脈沖信號,上述引腳的讀寫選通脈沖信號都是低電平有效。在I/O讀寫過程中,CH365的A7~A0輸出I/O端口提供給其他設備的有效的位偏移地址,偏移地址也可以被譯碼產生二級片選信號去適應控制的要求。同樣,在I/O讀寫過程當中,CH365的A15~A10的電平保持恒定,內部寄存器可以在輸出之前決定要輸出狀態,A9~A8負責完整的輸出PCI總線地址,通過對CH365的A9~A0的輸出地址的譯碼就可以使用芯片擁有的本地硬件定址功能,通過MER_WR引腳向CH365芯片發送本地定址的請求,最終實現與ISA總線相兼容的地址范圍內的I/O端口定址。因此,在讀寫操作發生的過程中,CH365的A14~A0輸出提供的有效偏移地址;CH365的A15電平維持不變,由內部寄存器提前設定電平高低,用實現地址線擴展或者頁面選擇;而區分各個端口則通過CH365的A7~A0的地址譯碼來完成。

        ?

        ?

        3 運動控制卡軟件設計

        3.1 參數自調整在線插值模糊控制算法

        經典的在線模糊PID算法的實現實質上是一個查表輸出的過程,因為誤差與誤差變化率均被不可避免的模糊量化相對取整,使控制器凋節出現死區,控制參數的分區會引起的調節不細。從理論上講,只要不斷增加控制模糊化量個數,進行等級細分,但它勢必受計算機字長限制,使模糊控制沒有了優勢。

        在線插值算法等同于將論域內的分檔趨于無窮大,即通過線性插值的方式在控制規則表相鄰分檔之間增添無窮個新的、細分化的控制規則,對原有的控制規則加以完善,是一種快速精確的而且切實可行的控制算法。

        ?

        ?

        參數自調整在線插值模糊控制器如圖4所示。量化參數、比例系數Ku都會影響系統動、靜態性能,調節比例因子的因果關系很直觀,最終也會起到影響Ke和Kec的作用,選擇在線自調整Ku值能夠起到良好的效果,不至系統過于復雜而影響實時性。

        文中利用在線差值控制算法的特點,設計了算法實現的軟件流程,如圖5所示。

        ?

        ?

        3.2 操作系統下的功能實現

        為滿足多任務的調度和系統實時性的要求,軟件的整體實現,本設計引入μC/OS-Ⅱ操作系統。

        3.2.1 RTL8019AS底層驅動程序

        通常情況下,用戶根據硬件芯片型號找到RTL8019AS底層驅動程序庫的編寫所需要的文檔資料即可編寫相關的底層函數,其主要功能函數如下:

        NicInit()一RTL8019AS的初始化;

        NicClose()一關閉RTL8019AS芯片數據收發功能;

        NicReset()一復位RTL8019AS芯片;

        EtherOutput()一數據包輸出;

        Etherlnput()一數據包接收。

        網絡通信還需要底層RTL8019AS驅動程序支持,參考R,rL8019AS以及AT91FR40162,即可編寫出針對此系統的RTL8019AS底層驅動程序。

        3.2.2 基于μC/OS-Ⅱ實時操作系統主函數及相關任務的編寫與嵌入

        ?

        ?

        4 結束語

        對上述的程序進行調試后,并結合硬件調試表明文中所設計的運動控制卡能夠實現準確的位置及速度控制,受控電機運行平穩,基本能實現對電機的控制功能,通信穩定。對于長期的穩定性測試,現在浙江紹興某襪機公司的試著運營階段,初期表現良好。

        pid控制相關文章:pid控制原理


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


        pid控制器相關文章:pid控制器原理




        關鍵詞: STM32 PCI

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 绿春县| 福泉市| 泽州县| 黄山市| 迭部县| 神农架林区| 资中县| 孙吴县| 郸城县| 玉山县| 水城县| 始兴县| 囊谦县| 西城区| 星座| 久治县| 正宁县| 利川市| 鹿邑县| 宜城市| 古田县| 武城县| 阿荣旗| 海晏县| 谷城县| 页游| 陆良县| 南康市| 鄯善县| 中牟县| 金秀| 泰州市| 巍山| 霍林郭勒市| 历史| 克东县| 新建县| 潼关县| 温泉县| 迁西县| 邯郸县|