基于LabVIEW的閉環(huán)步進(jìn)電機(jī)運(yùn)動系統(tǒng)設(shè)計(jì)及精度分析
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
隨著社會工業(yè)化的不斷發(fā)展,工業(yè)對于設(shè)備自動化的需求不斷提高,運(yùn)動控制系統(tǒng)顯得愈發(fā)重要。作為驅(qū)動自動化設(shè)備的重要部件,閉環(huán)步進(jìn)電機(jī)在開環(huán)步進(jìn)電機(jī)的基礎(chǔ)上增加了位置反饋器來實(shí)現(xiàn)閉環(huán)控制,同樣是通過調(diào)節(jié)脈沖信號的數(shù)量和頻率來調(diào)整位移及速度,其運(yùn)行時(shí)的發(fā)熱和振動都小于開環(huán)步進(jìn)電機(jī),精度和可靠性卻優(yōu)于開環(huán)步進(jìn)電機(jī),因此,基于閉環(huán)步進(jìn)電機(jī)的運(yùn)動系統(tǒng)設(shè)計(jì)成為一個(gè)有著重要意義的研究課題。與此同時(shí),虛擬儀器由于其強(qiáng)大的底層驅(qū)動程序以及便捷的可視化編程特性,在自動化領(lǐng)域的應(yīng)用已經(jīng)越發(fā)廣泛,在工業(yè)界的認(rèn)可度也不斷提高。通過LabVIEW虛擬儀器搭配運(yùn)動控制卡、驅(qū)動器及閉環(huán)步進(jìn)電機(jī)進(jìn)行運(yùn)動系統(tǒng)的設(shè)計(jì),可使系統(tǒng)具有高移植性、高穩(wěn)定性和高擴(kuò)展性。
1運(yùn)動控制系統(tǒng)總體結(jié)構(gòu)
本文以驅(qū)動閉環(huán)步進(jìn)電機(jī)為研究對象,采用LabVIEW上位機(jī)+運(yùn)動控制卡+驅(qū)動器模塊的控制方案進(jìn)行運(yùn)動系統(tǒng)的設(shè)計(jì):伴隨著運(yùn)動的多元化,多軸控制得到進(jìn)一步關(guān)注,故系統(tǒng)設(shè)計(jì)從四軸控制的角度出發(fā)。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示,該運(yùn)動控制系統(tǒng)主要分為硬件和軟件兩部分,硬件部分主要由工控機(jī)、四軸運(yùn)動控制卡、驅(qū)動器模塊、閉環(huán)步進(jìn)電機(jī)構(gòu)成,其中工控機(jī)主要用于LabVIEW上位機(jī)軟件的硬件環(huán)境,四軸運(yùn)動控制卡通過驅(qū)動器模塊進(jìn)行閉環(huán)步進(jìn)電機(jī)的控制管理,同時(shí)閉環(huán)步進(jìn)電機(jī)自帶的編碼器向驅(qū)動器模塊實(shí)時(shí)反饋位置信息,驅(qū)動器模塊依據(jù)反饋信息進(jìn)行輸出指令調(diào)節(jié),提高電機(jī)運(yùn)轉(zhuǎn)精度。
軟件部分主要是通過LabVIEW進(jìn)行上位機(jī)控制軟件的設(shè)計(jì),來實(shí)現(xiàn)對整個(gè)系統(tǒng)的操控。LabVIEW上位機(jī)軟件基于工控機(jī)硬件環(huán)境與運(yùn)動控制卡通過高實(shí)時(shí)性的PCI總線進(jìn)行通信,實(shí)現(xiàn)對系統(tǒng)的實(shí)時(shí)控制及系統(tǒng)狀態(tài)的實(shí)時(shí)采集。
2運(yùn)動控制系統(tǒng)的硬件配置
依據(jù)電機(jī)負(fù)載、電機(jī)額定轉(zhuǎn)速、額定扭矩及最大扭矩、動作模式、編碼器分辨率等方面進(jìn)行閉環(huán)步進(jìn)電機(jī)的選擇,本系統(tǒng)選用了富興的sC42-03型閉環(huán)步進(jìn)電機(jī)以及與其配套的Ts808D伺服驅(qū)動器,四軸運(yùn)動控制卡選用了研華的PCI-1245L運(yùn)動控制卡。
PCI-1245L運(yùn)動控制卡是四軸的softMotionPCI總線控制器卡,能夠?qū)崿F(xiàn)運(yùn)動軌跡和時(shí)間控制,以滿足精確運(yùn)動中的同步應(yīng)用需求,其在Cw/CCw模式的編碼器輸入為lMHz,脈沖輸出高達(dá)lMb/s,可實(shí)現(xiàn)高精度的控制、線性插補(bǔ)和同步啟停等功能。閉環(huán)步進(jìn)電機(jī)的精度為l.89,其編碼器精度為0.369。單個(gè)電機(jī)系統(tǒng)硬件接線圖如圖2所示,Ts808D伺服驅(qū)動器的A、B接線端需要與閉環(huán)步進(jìn)電機(jī)的動力線相連,用于驅(qū)動步進(jìn)電機(jī),Ts808D伺服驅(qū)動器的EA、EB接口連接到閉環(huán)步進(jìn)電機(jī)的編碼器信號接口,進(jìn)行編碼器反饋信息的接收,依據(jù)該信息調(diào)節(jié)速度指令和電流指令,進(jìn)一步提高電機(jī)轉(zhuǎn)動精度。PCI-1245L運(yùn)動控制卡的PULs、DIR、ENA、ALM分別連接到伺服驅(qū)動器的脈沖輸入端、方向輸入端、使能輸入端、報(bào)警信號輸出端,以實(shí)現(xiàn)對系統(tǒng)運(yùn)動狀態(tài)的控制及監(jiān)視。
3基于LabVIEW的運(yùn)動控制程序設(shè)計(jì)
上位機(jī)程序基于LabVIEW搭配PCI-1245L運(yùn)動控制卡設(shè)備驅(qū)動進(jìn)行設(shè)計(jì),PCI-1245L運(yùn)動控制卡設(shè)備驅(qū)動是基于通用運(yùn)動架構(gòu),基于該架構(gòu)設(shè)計(jì)的上位機(jī)包含設(shè)備驅(qū)動層、整合層和應(yīng)用層,這樣當(dāng)支持該架構(gòu)的設(shè)備發(fā)生變化時(shí),設(shè)計(jì)中的應(yīng)用也無須修改,保證了程序的可移植性。
該通用運(yùn)動架構(gòu)的操作對象主要包括設(shè)備對象和軸對象,程序設(shè)計(jì)時(shí),需要調(diào)用相應(yīng)的對象來實(shí)現(xiàn)相應(yīng)的操作,以保證每次動作都有明確的操作對象。上位機(jī)程序控制流程如圖3所示,為了確保程序的適用廣泛性,故程序設(shè)計(jì)需要先確定操作設(shè)備來獲取設(shè)備句柄,之后在該設(shè)備句柄的基礎(chǔ)上進(jìn)行軸使能,即打開運(yùn)動控制卡目標(biāo)軸的操控接口,之后打開設(shè)備驅(qū)動器以保證驅(qū)動器的有效工作。
回原點(diǎn)運(yùn)動是運(yùn)動控制必備的功能,目前實(shí)現(xiàn)方法主要有硬件復(fù)位或軟件復(fù)位,硬件復(fù)位是將光電開關(guān)放置在目標(biāo)位置,當(dāng)運(yùn)動到原點(diǎn)位置時(shí),光電開關(guān)發(fā)出限位信號指示運(yùn)動停止:軟件復(fù)位是依據(jù)程序記錄的位置信息進(jìn)行回原點(diǎn)運(yùn)動,直至當(dāng)前位置處于原點(diǎn)位。上位機(jī)程序集合了兩種限位措施,既可以通過硬件限位,又可以基于軟件限位進(jìn)行回原點(diǎn)運(yùn)動。在程序中通過動態(tài)鏈接庫來調(diào)用相關(guān)函數(shù)實(shí)現(xiàn)相關(guān)參數(shù)的設(shè)置,參數(shù)設(shè)置中包括了運(yùn)動距離、速度等信息,通過調(diào)整脈沖數(shù)量和頻率來改變移動距離和速度。整個(gè)運(yùn)動過程中都對位置、速度等參數(shù)進(jìn)行實(shí)時(shí)顯示,以實(shí)現(xiàn)對運(yùn)動狀態(tài)的實(shí)時(shí)監(jiān)視,以免出現(xiàn)運(yùn)動狀態(tài)的不確定性。
運(yùn)動控制上位機(jī)程序控制界面如圖4所示,程序開始運(yùn)行后,設(shè)備編號成功顯示PCI-1245L,代表板卡加載成功并已獲取板卡信息,之后打開設(shè)備、打開驅(qū)動器才能成功進(jìn)行后續(xù)操作,同時(shí)可以通過設(shè)備開啟、驅(qū)動開啟、軸開啟指示燈來判斷操作的成功與否以及閉環(huán)步進(jìn)電機(jī)能否正常運(yùn)行。每次電機(jī)運(yùn)行前,需要在上位機(jī)程序控制界面選擇相應(yīng)的運(yùn)動模式,運(yùn)動模式主要包括絕對運(yùn)動和相對運(yùn)動,之后輸入運(yùn)行距離和運(yùn)行速度等參數(shù),運(yùn)行時(shí),各軸的位置和速度信息實(shí)時(shí)顯示在上位機(jī)程序控制界面上,當(dāng)想停止本次運(yùn)動時(shí),選擇停止方式,即立即停止或減速停止,點(diǎn)擊"停止"按鈕即可結(jié)束本次運(yùn)動。通過復(fù)位即可使電機(jī)進(jìn)行回原點(diǎn)運(yùn)動,在原點(diǎn)模式一欄進(jìn)行復(fù)位運(yùn)動停止模式的選擇。當(dāng)程序因軸處于"Errorstop"狀態(tài)而無法進(jìn)行動作時(shí),通過重置錯誤按鈕消除該狀態(tài)來保證程序的正常運(yùn)轉(zhuǎn)。界面中的重置計(jì)數(shù)按鈕是針對軸位置信息的清除,由于每次移動距離的輸入為脈沖數(shù),故軸位置信息的清除即是將相應(yīng)軸脈沖總數(shù)清除,重置計(jì)數(shù)后,位置信息重新從零累計(jì)。
4精度測試
為了進(jìn)一步測試設(shè)計(jì)好的運(yùn)動控制系統(tǒng)的性能,基于編碼器搭建了實(shí)驗(yàn)測試平臺,如圖5所示,通過設(shè)計(jì)的轉(zhuǎn)接件將電機(jī)和編碼器相連,其中,編碼器分辨率為0.0189。當(dāng)電機(jī)旋轉(zhuǎn)一定角度時(shí),編碼器也隨之轉(zhuǎn)動相同角度,編碼器將該角度傳送給運(yùn)動控制卡,再通過編寫的精度測試上位機(jī)程序進(jìn)行該角度的采集,即可完成編碼器每次測量結(jié)果的記錄,精度測試上位機(jī)界面如圖6所示,每次測量結(jié)果都存入目標(biāo)文件中。
4.1定位精度測試
定位精度是系統(tǒng)運(yùn)行中必不可少的參數(shù),故首先通過編碼器來進(jìn)行電機(jī)定位精度的測試,通過上位機(jī)向運(yùn)動控制卡發(fā)送一定脈沖數(shù)。運(yùn)動控制卡依據(jù)脈沖數(shù)進(jìn)行閉環(huán)步進(jìn)電機(jī)步距的控制,為了更好地覆蓋閉環(huán)步進(jìn)電機(jī)一周各位置的定位精度,運(yùn)動角度選取最小步距角1.89,進(jìn)行7200次運(yùn)動,這樣累計(jì)步距成功覆蓋超過一周,每個(gè)位置測試36次。
測試結(jié)果如圖7所示,最大偏差值是0.216°,故搭配該閉環(huán)步進(jìn)電機(jī)的情況下,該運(yùn)動系統(tǒng)不適用于精度要求不高于0.216°的場合。
4.2重復(fù)定位精度測試
重復(fù)定位精度作為系統(tǒng)的另一個(gè)指標(biāo),其重要性不言而喻。該參數(shù)的測量同樣是基于搭建好的測試平臺,測試過程中,在轉(zhuǎn)動一圈內(nèi)均勻選取n個(gè)位置,如圖8所示,在每個(gè)位置測試a次,即在同一個(gè)位置進(jìn)行a次運(yùn)動,這樣總共測試1000次。每次運(yùn)動過程中讓電機(jī)不斷重復(fù)走過固定步距,之后通過編碼器觀察每次走過的實(shí)際步距與給定的固定步距差值,再通過上位機(jī)進(jìn)行測試以實(shí)現(xiàn)針對重復(fù)定位精度的測試。通過選取不同步距角度來不斷重復(fù)該測量步驟,以保證測試結(jié)果的可靠性。
圖8 重復(fù)定位精度測試位置的選取
測試中選取了5°、36°、90°、144°、180°、360°等6個(gè)步距角,實(shí)現(xiàn)了從小角度步距到大角度步距的覆蓋。在電機(jī)轉(zhuǎn)動一圈范圍內(nèi)均勻選取10個(gè)位置,每個(gè)位置進(jìn)行100次測試。當(dāng)步距角為5°時(shí),測量結(jié)果如圖9所示,最大偏差值為0.216°:當(dāng)步距角為36°時(shí),測量結(jié)果如圖10所示,最大偏差值為0.198°:當(dāng)步距角為90°時(shí),測量結(jié)果如圖11所示,最大偏差值為0.108°:當(dāng)步距角為144°時(shí),測量結(jié)果如圖12所示,最大偏差值為0.09°:當(dāng)步距角為180°時(shí),測量結(jié)果如圖13所示,最大偏差值為0.09°:當(dāng)步距角為360°時(shí),測量結(jié)果如圖14所示,最大偏差值為0.036°。
雖然步距角為144°與步距角為180°時(shí)的最大偏差值都為0.09°,但從圖12與圖13的對比中可以看出,步距角為180°的重復(fù)定位精度要優(yōu)于步距角為144°的情況。從測量結(jié)果也可以看出,大角度的重復(fù)定位精度要優(yōu)于小角度的,也進(jìn)一步說明該系統(tǒng)不適用于小角度高精度定位的情況,而更適用于應(yīng)用場合為大角度定位的情況。當(dāng)然,也可以從各角度重復(fù)定位精度的偏差情況分析得出是否符合應(yīng)用場景,測試結(jié)果進(jìn)一步為該系統(tǒng)應(yīng)用場合的選擇提供了數(shù)據(jù)支持。
5結(jié)語
本文基于LabVIEW上位機(jī)+運(yùn)動控制卡+驅(qū)動器模塊的控制方案進(jìn)行四軸運(yùn)動系統(tǒng)的設(shè)計(jì),通過設(shè)計(jì)的上位機(jī)控制程序?qū)崿F(xiàn)了閉環(huán)步進(jìn)電機(jī)的實(shí)時(shí)控制及監(jiān)視。之后基于編碼器搭建了電機(jī)測試平臺,對電機(jī)的定位精度和重復(fù)定位精度進(jìn)行測試,通過設(shè)計(jì)精度測試上位機(jī)程序進(jìn)行測試結(jié)果的采集。定位精度測試結(jié)果
顯示該運(yùn)動系統(tǒng)不適用于精度要求不高于0.226°的場合,重復(fù)定位精度測試結(jié)果顯示該系統(tǒng)不適用于小角度高精度定位的情況,而更適用于應(yīng)用場合為大角度定位的情況。該系統(tǒng)采用精度更高的閉環(huán)步進(jìn)電機(jī),在成本沒有提高的情況下優(yōu)化了系統(tǒng)性能,同時(shí)測試結(jié)果為系統(tǒng)應(yīng)用場合的選擇提供了數(shù)據(jù)支持,為后續(xù)使用提供了方便。