時間:2018-03-09 13:59:50來源:中國傳動網(wǎng)
研控MCC系列運動控制卡使用方便,功能可靠,一般來說是不會在使用過程中產(chǎn)生位置偏差的。但是在長期客戶服務(wù)的過程中我們也遇到了一些因使用不當(dāng)造成的位置偏差,如果沒有豐富的經(jīng)驗,往往會判斷為運動控制卡的問題,而實際上真正的原因是在使用過程中有一些軟硬件問題未加以注意造成的。不管使用運動控制卡或其他類別的運動控制產(chǎn)品,如果對這些問題不加注意,它往往會在不經(jīng)意間出現(xiàn),引起機械運動誤差,造成損失。而當(dāng)你在實驗室中針對它進行測試時,又因為參數(shù)和使用環(huán)境的變化,問題卻不能重現(xiàn),所以非常難以捕捉。本文主要針對這幾個最常見的疑難問題進行描述、分析、并提出一定的解決方法。
首先應(yīng)該做什么
在客戶提出使用控制卡出現(xiàn)了位置偏差的時候,首先應(yīng)該做的就是定位偏差來源,也就是定位“究竟是控制卡的問題,還是電機和機械的問題?”這是非常關(guān)鍵的定位思路。
如圖1所示,原因在于,“軟件和控制卡的問題”的尋找定位和“電機和機械的問題”的尋找定位是完全不同的方式,如果首先不區(qū)分好是哪一個模塊的問題就直接深入到細(xì)節(jié)上,往往會找錯方向。
最常見的定位工具是伺服驅(qū)動器的“顯示指令位置”功能,如果問題軸所用電機正好是伺服電機,那就非常方便了。如果使用的是步進電機,則可能需要外接一個伺服電機進行測試。其他如示波器、邏輯分析儀也可以進行測試,但是不如伺服電機方便。
測試方法非常簡單,首先計算出某一工位處,控制卡“按理應(yīng)該發(fā)送多少個脈沖”,然后觀察伺服驅(qū)動器的顯示,是否“接受到了同樣數(shù)量的脈沖”。如果兩個數(shù)量一致,并且長期工作后(過程中沒有借助傳感器的復(fù)位動作,如果有復(fù)位動作則是另一回事,后文有詳述),還是精確一致的話,就說明軟件和運動控制卡沒有問題,需要在電機和機械上找問題。相反,如果運行一段時間后,到達指定工位時,控制卡“理應(yīng)發(fā)送的脈沖數(shù)”與“伺服電機接受的脈沖數(shù)”不相同了,并且有誤差越來越大或者誤差大小隨機變化的情況,則可以判斷是下文中提到的“疑難問題”之一。
取整誤差累計
取整誤差累計是因為上位機控制軟件在設(shè)計時,全部采用“相對位置運動”功能,在計算相對位置脈沖數(shù)時,由于取整誤差造成的小數(shù)位脈沖數(shù)丟棄,而當(dāng)正向丟棄數(shù)和反向丟棄數(shù)不一至?xí)r就會造成微小的位置偏差,經(jīng)過長期運行反復(fù)積累后,此偏差逐漸會發(fā)展到肉眼可見的程度。舉例如下:
某客戶在數(shù)控平面鉆孔機上采用了運動控制卡,工位和運動方式如下:
如圖2所示,鉆頭從原點出發(fā),到達工位A開始鉆第一個孔,然后向右逐個鉆孔,孔之間橫向間距10mm,鉆到工位B后,X方向橫向平移,同時Y方向移動,到達工位C。
程序員是這樣設(shè)計程序的:
floatValueX=500.19;//脈沖當(dāng)量,500.19個脈沖機械走1mm
floatMMTargetX=0;//運行目標(biāo)相對位置
longPulseTargetX=0;//運行目標(biāo)相對位置
MMTargetX=10;//橫向運行距離10mm
PulseTargetX=(long)(MMTargetX*ValueX);//得到運行脈沖數(shù)5001
YK_start_s_move(XAxisNum,PulseTargetX);//發(fā)指令讓X軸正向走5001個脈沖
//等待運行結(jié)束
MMTargetX=10;//橫向運行距離10mm
PulseTargetX=(long)(MMTargetX*ValueX);//得到運行脈沖數(shù)5001
YK_start_s_move(XAxisNum,PulseTargetX);//發(fā)指令讓X
軸正向走5001個脈沖
//等待運行結(jié)束
……運行10次
MMTargetX=-100;//橫向運行距離-100mm
PulseTargetX=(long)(MMTargetX*ValueX);//得到運行脈沖數(shù)-50019
YK_start_s_move(XAxisNum,PulseTargetX);//發(fā)指令讓X軸反向走50019個脈沖
//等待運行結(jié)束
從上面的程序很容易看出來,正向運行時,總共走了5001x10=50010個脈沖,而反向運行時,走了50019個脈沖。雖然看起來每次正向運行了10mm,運行10次后,反向運行了100mm,所以在工位C處X軸坐標(biāo)應(yīng)該跟工位A一致,但是實際上由于正向運行時取整誤差舍去了10次0.9個脈沖,而反向運行時則沒有因為取整誤差而舍去脈沖,所以一來一回就會有9個脈沖的累計。
對于一般的機械設(shè)備來說,9個脈沖可能還看不出來位置的偏差,但是隨著反復(fù)的加工,如果沒有借助傳感器的復(fù)位動作的話,這個誤差會逐漸隨機積累,位置會越來越偏,最終導(dǎo)致加工失敗。
這個問題的出現(xiàn)純屬軟件工程師經(jīng)驗不足。如果想要在程序設(shè)計時避免此問題,有以下方法可以解決。
方法一:避免在整個加工過程中全部使用“相對位置運動”,在一個加工流程中添加一定量的,至少一條絕對運動指令,就可以消除掉取整誤差的帶來的積累偏差。
如在上述工序中,在工位A處記錄X軸坐標(biāo),然后將從工位B到工位C的移動改用“絕對位置移動”指令。在工位B時,運動控制卡會自動讀取當(dāng)前的實際坐標(biāo),與工位A處的坐標(biāo)進行對比,然后準(zhǔn)確地走出50010個脈沖,這樣一來,從工位A到工位B的所有取整誤差就全部糾正過來了。
方法二:增加復(fù)位動作。
每個工件加工完成后利用傳感器進行一次原點復(fù)位動作,不僅能消除取整誤差的積累,而且還能消除機械誤差的積累,也是不錯的選擇。
除了上述的“往返”運動,有些單向送料系統(tǒng),如制袋機類,在重復(fù)進行單方向運行時,由于取整誤差的積累也會引起加工問題。而此類系統(tǒng)又無法進行復(fù)位或者插入“絕對位置運動”指令。這種情況下推薦在編程時采用一種簡單實現(xiàn)的“四舍五入法”,具體方法如下。
在計算指令脈沖數(shù)時,在浮點數(shù)的結(jié)果后面+0.5,再取整。
以上文中的程序為例:
MMTargetX=10;//橫向運行距離10mm
PulseTargetX=(long)(MMTargetX*ValueX+0.5);//得到運行脈沖數(shù)
YK_start_s_move(XAxisNum,PulseTargetX);//發(fā)指令讓X軸正向運行
在計算指令脈沖數(shù)時采用了此方法可以減小取整誤差帶來的干擾,但是并不能消除,這是針對無法進行上述兩種方法時的折衷辦法。不過由于簡單易行,推薦給軟件工程師在計算脈沖數(shù)時使用。
換向時第一個脈沖的運動方向誤差
在試機的過程中出現(xiàn)過這樣的問題:當(dāng)使用某一品牌的驅(qū)動器,運行就非常準(zhǔn)確;而換用另一品牌的驅(qū)動器,走一些固定的動作時就會越走越偏。而容易走偏的驅(qū)動器換了另一家的控制器,就又好了。
問題的原因出現(xiàn)在方向信號提前不足。當(dāng)前大部分驅(qū)動器是按周期掃描鎖存方向信號,當(dāng)捕捉到PULSE的有效信號沿時,再去根據(jù)鎖存的方向信號進行運動,在讀取鎖存方向信號到判斷PULSE信號有跳變之間有一個偏差τ。而對于PULSE的有效邊沿,有些驅(qū)動器是上升沿有效,而有些驅(qū)動器是下降沿有效。文中將上述類型的驅(qū)動器簡稱為先方向上升沿類型(如圖3所示)和先方向下降沿類型驅(qū)動器(如圖4所示)。
也有一些國內(nèi)不太知名公司提供的驅(qū)動器,采取這樣的方式:當(dāng)捕捉到PULSE的有效信號沿時,再去即時讀取方向信號,判斷運動方向。在讀取到有效信號沿后,距離讀取方向信號也有一個時間偏差τ。下文中將此類驅(qū)動器稱之為上升沿后方向和下降沿后方向類型驅(qū)動器。這種情況比較少見,在此不做討論。
不同公司的驅(qū)動器,甚至同一公司的不同型號驅(qū)動器,時間τ都不一樣。有些驅(qū)動器比如研控模擬驅(qū)動器,這個時間非常??;但是對于新型的數(shù)字型驅(qū)動器,由于采樣周期的原因,此周期長達125μS,這就給控制信號提出了要求:
方向信號必須要早于脈沖信號到位,最少要早τ秒,否則會引起換向后,第一個起跳脈沖的運動方向錯誤。
當(dāng)然,即使?jié)M足不了此要求,對于普通的運動來說,如果發(fā)生了這類錯誤無非就是起跳時少了2個脈沖,一般情況下不會影響設(shè)備精度。但是當(dāng)設(shè)備被要求反復(fù)折返的啟停運動時,就有可能引起誤差的積累。但是同時,因為此誤差類似于機械間隙,只出現(xiàn)在換向后的第一次運動時;而大部分情況下,正反運動會對此誤差進行抵消。因此,此情況只會帶來微小的誤差,不會產(chǎn)生太大的影響,但在對精度要求非常高的場合需要注意這個問題。
規(guī)避方法:查看驅(qū)動器產(chǎn)品說明書,大部分驅(qū)動器都會對此時間τ進行規(guī)定。而研控MCC1410C的方向提前時間受起跳速度影響,最短情況下105μS;但只要將起跳速度降到100KHz以下,方向信號的提前時間就到了毫秒級別,不會產(chǎn)生上述錯誤的情況。
原點復(fù)位誤差
有的客戶反饋,在進行復(fù)位動作的時候,就會產(chǎn)生位置偏差。一般來說,我們推薦客戶在設(shè)計工序時,每完成一整套加工步驟后,進行一次復(fù)位動作,這樣可以消除積累誤差,包括機械打滑誤差、齒輪間隙誤差和驅(qū)動器少量丟步造成的誤差。但復(fù)位動作的運動參數(shù)設(shè)置、復(fù)位動作順序設(shè)置、傳感器的選擇和安裝位置、以及伺服參數(shù)設(shè)置的恰當(dāng)與否都會影響復(fù)位精度。當(dāng)客戶發(fā)現(xiàn)復(fù)位會導(dǎo)致運行位置不準(zhǔn)時,客戶通常會首要考慮排除傳感器靈敏度、動作是否過猛等,因此問題往往不大,本節(jié)主要描述當(dāng)伺服參數(shù)設(shè)置不當(dāng)這一較少能考慮到的情況會引起的復(fù)位偏差。當(dāng)使用伺服電機時,如果參數(shù)調(diào)整不當(dāng),剛性太弱,會造成該軸原點復(fù)位時的誤差。
總的來說,伺服是一個必須要考慮其滯后特性的執(zhí)行部件。當(dāng)設(shè)置伺服參數(shù)時,剛性越小,運行時的實際滯后就越大。直觀上看起來就是“軟軟的,懶懶的”,指令脈沖開始發(fā)送了,它才會慢慢動起來;指令脈沖已經(jīng)發(fā)完不發(fā)了,它還要往前走一陣才能停下來。這種特性跟它的閉環(huán)控制特性有一定的關(guān)系。
當(dāng)單軸運動進行時,這種滯后通常不會影響生產(chǎn),甚至覺察不出來,因為雖然運動滯后,但是最終還是會準(zhǔn)確到位。但是當(dāng)進行插補運動或者原點復(fù)位時就會產(chǎn)生很大的影響。
比如當(dāng)系統(tǒng)復(fù)位時,當(dāng)傳感器被觸發(fā),發(fā)出限位信號給控制卡,控制卡馬上停止了脈沖的發(fā)送。但是此時伺服電機由于反應(yīng)的滯后,還是會往前走一陣,這一段距離就造成了偏差。
解決的方法
1.在系統(tǒng)穩(wěn)定沒有太大沖擊的情況下盡量調(diào)高伺服的剛性;
2.在不影響生產(chǎn)效率的情況下降低復(fù)位運動的速度,或者采取二次復(fù)位的方法,第一次高速復(fù)位,到位后,再低速向回找原點信號。
其他情況還可以按以下方法解決。
情況一:驅(qū)動電壓/電流不足
當(dāng)客戶采用一路控制信號帶多路驅(qū)動器時,可能會出現(xiàn)驅(qū)動電流不足的情況,繼而導(dǎo)致驅(qū)動器無法順利獲取信號。
研控運動控制卡多采用AM26C31芯片來產(chǎn)生驅(qū)動電流,限流電阻20歐姆,最大電流150mA,因此不推薦采用一路運動控制信號帶多路驅(qū)動器。如果必須采用這種接法,則最多帶兩臺驅(qū)動器,如果超過此數(shù)值可能會造成芯片過熱燒壞或者信號丟失等情況;同時要注意,不保證此種接法的運動穩(wěn)定性。
情況二:限位信號干擾/誤碰
客戶采用非研控生產(chǎn)的運動控制卡時,可能會隨機地出現(xiàn)設(shè)定的運動距離還沒走到,就停下來的問題。甚至?xí)碜矙C等嚴(yán)重的情況。這種偏差會非常大,隨機無規(guī)律地出現(xiàn),一次出現(xiàn)馬上就造成運行的混亂。
這種情況往往是某軸在運行時,該軸的“限位信號”受到了干擾,令板卡認(rèn)為應(yīng)該停止該軸的動作。
對于這種情況的判定要從軟件上進行抓取,當(dāng)調(diào)用函數(shù)判斷一個軸是否停止的時候,如果返回值不是“脈沖發(fā)送完停止”,而是“未知異常停止”或者“遇到限位點停止”,就基本可以定位是限位點受到了干擾。然后可以將受到干擾的軸的限位信號從接線板上斷開,看看是否還有此情況產(chǎn)生。
針對此問題,需要從硬件上查找干擾源、干擾傳遞的通路。常規(guī)的濾波,分開供電,屏蔽,重新布線等方法都可以試一下。不過最有效的,是換用研控的運動控制卡產(chǎn)品,具備強大的抗干擾特性(濾波參數(shù)可設(shè)置),能夠根除此類問題。
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。