一款基于STM32的運動控制卡設(shè)計
摘要:在深入分析了意法半導(dǎo)體公司推出的STM32、高速PCI總線以及運動控制卡的功能和結(jié)構(gòu)特點的基礎(chǔ)上,設(shè)計了一款可直接插在PCI插槽中的伺服運動控制卡。不僅可大大降低了成本,更為開放式數(shù)控系統(tǒng)的研究提供了一個全新的思路。結(jié)果表明,本文所設(shè)計的伺服控制卡滿足了目前控制系統(tǒng)的性能和要求。
本文引用地址:http://www.ex-cimer.com/article/235828.htm關(guān)鍵詞:PMSM;STM32;運動控制卡;PCI
伴隨著計算機的普及,PC的性能、可靠性及應(yīng)用環(huán)境也已經(jīng)今非昔比,在工業(yè)領(lǐng)域方面PC擁有大量的支持軟件用以改善用戶界面、圖形顯示、動態(tài)仿真、故障診斷、網(wǎng)絡(luò)通訊等諸多功能,此外,在總線的開發(fā)也因PC豐富的接口資源和模塊化設(shè)計而變得簡單。因此,基于PC的開放式數(shù)控系統(tǒng)絕對是未來控制系統(tǒng)主流主流方向,發(fā)展開放式和形成具有自主產(chǎn)權(quán)軟件型數(shù)字控制系統(tǒng),是我國數(shù)控發(fā)展邁出實質(zhì)性突破和趕超世界先進(jìn)水平的一次良機。因此,文中研究課題主要對數(shù)控系統(tǒng)實際要求出發(fā),結(jié)合PC和高性價比的ARM系列芯片,利用模糊控制算法,設(shè)計一款性能穩(wěn)定,高精度的伺服控制器,為推進(jìn)伺服技術(shù)的發(fā)展具有重要意義。
1 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)采用的是“PC+運動控制卡”形式。其中,計算機機作為上位機,可以滿足控制環(huán)節(jié)多、軌跡復(fù)雜、強柔性的設(shè)備的控制要求。
以ARM為核心的控制卡作為下位機,主要負(fù)責(zé)總線通信、步進(jìn)和伺服電機的控制,這樣就形成了以ARM的CPU和計算機CPU主從式雙CPU控制模式。計算機的多任務(wù)調(diào)度和強大的處理能力,加上微處理芯片的現(xiàn)場適應(yīng)能力及高性價比,使得系統(tǒng)開放性好,可靠性高,并基本滿足現(xiàn)階段絕大多數(shù)工業(yè)控制的要求。
?
?
2 運動控制卡硬件設(shè)計
2.1 雙口RAM與STM和CH365的連接
本文基于PCI總線的運動控制卡硬件方面主要包括2個部分:1)STM32最小系統(tǒng),2)PCI總線。選用雙口RAM芯片IDT7025作為STM32與CH365雙向通訊的緩沖芯片。
本設(shè)計中,雙口RAM IDT7025作為STM32與PC都可以讀寫RAM中的數(shù)據(jù),RAM右端與PCI通信芯片CH365連接,這樣就可以映射到CH365的存儲空間;左端口則與STM32相連,便于STM32的隨時訪問。其中IDT7025需要5 V電壓供電,而ARM芯片的供電電壓時3.3 V,所以需要電壓轉(zhuǎn)換,這里選擇了SN74LVTH16245。這部分的連接如圖2所示。本文將雙口RAM分成兩個獨立的存儲空間;高4 k空間用于計算機向STM32傳送控制指令,低4 k空間用于STM32向PC傳遞反饋的數(shù)據(jù)。
?
?
2.2 CH365與PCI接口實現(xiàn)
CH365與PCI部分的連接如圖3所示。圖中,電容C1~C4完成電源的去耦,C2~C4是大小為0.1 μF的高頻瓷片電容,PCB設(shè)計過程中就近并聯(lián)在芯片CH365的三組電源輸入輸出引腳上。而地址線A15~A0作為偏移地址,數(shù)據(jù)總線D7~D0配置為讀操作時的數(shù)據(jù)輸入,以及寫操作時的數(shù)據(jù)輸出。IOP_RD為提供I/O讀操作時片選脈沖信號,同樣,IOP_WR用于提供I/O寫操作時的片選信號,MEM_RD用于提供存儲器讀選通脈沖信號,MEM_WR用于提供存儲器寫選通脈沖信號,上述引腳的讀寫選通脈沖信號都是低電平有效。在I/O讀寫過程中,CH365的A7~A0輸出I/O端口提供給其他設(shè)備的有效的位偏移地址,偏移地址也可以被譯碼產(chǎn)生二級片選信號去適應(yīng)控制的要求。同樣,在I/O讀寫過程當(dāng)中,CH365的A15~A10的電平保持恒定,內(nèi)部寄存器可以在輸出之前決定要輸出狀態(tài),A9~A8負(fù)責(zé)完整的輸出PCI總線地址,通過對CH365的A9~A0的輸出地址的譯碼就可以使用芯片擁有的本地硬件定址功能,通過MER_WR引腳向CH365芯片發(fā)送本地定址的請求,最終實現(xiàn)與ISA總線相兼容的地址范圍內(nèi)的I/O端口定址。因此,在讀寫操作發(fā)生的過程中,CH365的A14~A0輸出提供的有效偏移地址;CH365的A15電平維持不變,由內(nèi)部寄存器提前設(shè)定電平高低,用實現(xiàn)地址線擴(kuò)展或者頁面選擇;而區(qū)分各個端口則通過CH365的A7~A0的地址譯碼來完成。
?
?
3 運動控制卡軟件設(shè)計
3.1 參數(shù)自調(diào)整在線插值模糊控制算法
經(jīng)典的在線模糊PID算法的實現(xiàn)實質(zhì)上是一個查表輸出的過程,因為誤差與誤差變化率均被不可避免的模糊量化相對取整,使控制器凋節(jié)出現(xiàn)死區(qū),控制參數(shù)的分區(qū)會引起的調(diào)節(jié)不細(xì)。從理論上講,只要不斷增加控制模糊化量個數(shù),進(jìn)行等級細(xì)分,但它勢必受計算機字長限制,使模糊控制沒有了優(yōu)勢。
在線插值算法等同于將論域內(nèi)的分檔趨于無窮大,即通過線性插值的方式在控制規(guī)則表相鄰分檔之間增添無窮個新的、細(xì)分化的控制規(guī)則,對原有的控制規(guī)則加以完善,是一種快速精確的而且切實可行的控制算法。
?
?
參數(shù)自調(diào)整在線插值模糊控制器如圖4所示。量化參數(shù)、比例系數(shù)Ku都會影響系統(tǒng)動、靜態(tài)性能,調(diào)節(jié)比例因子的因果關(guān)系很直觀,最終也會起到影響Ke和Kec的作用,選擇在線自調(diào)整Ku值能夠起到良好的效果,不至系統(tǒng)過于復(fù)雜而影響實時性。
文中利用在線差值控制算法的特點,設(shè)計了算法實現(xiàn)的軟件流程,如圖5所示。
?
?
3.2 操作系統(tǒng)下的功能實現(xiàn)
為滿足多任務(wù)的調(diào)度和系統(tǒng)實時性的要求,軟件的整體實現(xiàn),本設(shè)計引入μC/OS-Ⅱ操作系統(tǒng)。
3.2.1 RTL8019AS底層驅(qū)動程序
通常情況下,用戶根據(jù)硬件芯片型號找到RTL8019AS底層驅(qū)動程序庫的編寫所需要的文檔資料即可編寫相關(guān)的底層函數(shù),其主要功能函數(shù)如下:
NicInit()一RTL8019AS的初始化;
NicClose()一關(guān)閉RTL8019AS芯片數(shù)據(jù)收發(fā)功能;
NicReset()一復(fù)位RTL8019AS芯片;
EtherOutput()一數(shù)據(jù)包輸出;
Etherlnput()一數(shù)據(jù)包接收。
網(wǎng)絡(luò)通信還需要底層RTL8019AS驅(qū)動程序支持,參考R,rL8019AS以及AT91FR40162,即可編寫出針對此系統(tǒng)的RTL8019AS底層驅(qū)動程序。
3.2.2 基于μC/OS-Ⅱ?qū)崟r操作系統(tǒng)主函數(shù)及相關(guān)任務(wù)的編寫與嵌入
?
?
4 結(jié)束語
對上述的程序進(jìn)行調(diào)試后,并結(jié)合硬件調(diào)試表明文中所設(shè)計的運動控制卡能夠?qū)崿F(xiàn)準(zhǔn)確的位置及速度控制,受控電機運行平穩(wěn),基本能實現(xiàn)對電機的控制功能,通信穩(wěn)定。對于長期的穩(wěn)定性測試,現(xiàn)在浙江紹興某襪機公司的試著運營階段,初期表現(xiàn)良好。
pid控制相關(guān)文章:pid控制原理
伺服電機相關(guān)文章:伺服電機工作原理
pid控制器相關(guān)文章:pid控制器原理
評論