運動操控卡運用便利,功用牢靠,一般來說是不會在運用過程中發生方位差錯的。但也遇到過一些因運用不妥形成的方位差錯,假如沒有豐厚的經歷,往往會判別為運動操控卡的問題,而實踐上真實的原因是在運用過程中有一些軟硬件問題未加以留意形成的。不管運用運動
操控卡或其他類別的運動操控產品,假如對這些問題不加留意,它往往會在不經意間呈現,引起機械運動差錯,形成丟掉。而當你在實驗室中針對它進行測驗時,又因為參數和運用環境的變化,問題卻不能重現,所以十分難以捕捉。本文將以研控MCC系列運動操控卡為例,首要
針對這幾個見的疑難問題進行描繪、剖析、并提出必定的處理辦法。
首要應該做什么
在客戶提出運用操控卡呈現了方位差錯的時分,首要應該做的就是定位差錯來源,也就是定位“究竟是操控卡的問題,仍是電機和機械的問題?”這是十分關鍵的定位思路。
如圖1所示,原因在于,“軟件和操控卡的問題”的尋覓定位和“電機和機械的問題”的尋覓定位是*不同的辦法,假如首要不區分
好是哪一個模塊的問題就直接深入到細節上,往往會找錯方向。
見的定位東西是伺服驅動器的“顯現指令方位”功用,假如問題軸所用電機正好是伺服電機,那就十分便利了。假如運用的是步進電機,則可能需求外接一個伺服電機進行測驗。其他如示波器、邏輯剖析儀也可以進行測驗,可是不如伺服電機便利。
測驗辦法十分簡略,首要核算出某一工位處,操控卡“按理應該發送多少個脈沖”,然后調查伺服驅動器的顯現,是否“承遭到了相同數量的脈沖”。假如兩個數量共同,并且長時刻作業后(過程中沒有憑借傳感器的復位動作,假如有復位動作則是另一回事,后文有臚陳)
,仍是精確共同的話,就闡明軟件和運動操控卡沒有問題,需求在電機和機械上找問題。相反,假如運轉一段時刻后,抵達工位時,操控卡“理應發送的脈沖數”與“伺服電機承受的脈沖數”不相同了,并且有差錯越來越大或許差錯大小隨機變化的狀況,則可以判別是下文中說到的“疑難問題”之一。
取整差錯累計
取整差錯累計是因為上位機操控軟件在規劃時,悉數選用“相對方位運動”功用,在核算相對方位脈沖數時,因為取整差錯形成的小數位脈沖數丟掉,而當正向丟掉數和反向丟掉數紛歧至時就會形成微小的方位差錯,通過長時刻運轉重復堆集后,此差錯逐步會發展到肉眼可見的程度。舉例如下:
某客戶在數控平面鉆孔機上選用了運動操控卡,工位和運動辦法如下:
鉆頭從原點動身,抵達工位A開端鉆個孔,然后向右逐一鉆孔,孔之間橫向間隔10mm,鉆到工位B后,X方向橫向平移,一起Y方向移動,抵達工位C。
程序員是這樣規劃程序的:
floatValueX=500.19;//脈沖當量,500.19個脈沖機械走1mm
floatMMTargetX=0;//運轉方針相對方位
longPulseTargetX=0;//運轉方針相對方位
MMTargetX=10;//橫向運轉間隔10mm
PulseTargetX=(long)(MMTargetX*ValueX);//得到運轉脈沖數5001
YK_start_s_move(XAxisNum,PulseTargetX);//發指令讓X軸正向走5001個脈沖
//等候運轉完畢
MMTargetX=10;//橫向運轉間隔10mm
PulseTargetX=(long)(MMTargetX*ValueX);//得到運轉脈沖數5001
YK_start_s_move(XAxisNum,PulseTargetX);//發指令讓X
軸正向走5001個脈沖
//等候運轉完畢
……運轉10次
MMTargetX=-100;//橫向運轉間隔-100mm
PulseTargetX=(long)(MMTargetX*ValueX);//得到運轉脈沖數-50019
YK_start_s_move(XAxisNum,PulseTargetX);//發指令讓X軸反向走50019個脈沖
//等候運轉完畢
從上面的程序很容易看出來,正向運轉時,一共走了5001x10=50010個脈沖,而反向運轉時,走了50019個脈沖。盡管看起來每次正向運轉了10mm,運轉10次后,反向運轉了100mm,所以在工位C處X軸坐標應該跟工位A共同,可是實踐上因為正向運轉時取整差錯舍去了10次0.9個脈沖,而反向運轉時則沒有因為取整差錯而舍去脈沖,所以一來一回就會有9個脈沖的累計。
關于一般的機械設備來說,9個脈沖可能還看不出來方位的差錯,可是隨著重復的加工,假如沒有憑借傳感器的復位動作的話,這個差錯會逐步隨機堆集,方位會越來越偏,最終導致加工失敗。
這個問題的呈現純屬軟件工程師經歷缺乏。假如想要在程序規劃時防止此問題,有以下辦法可以處理。
辦法一:防止在整個加工過程中悉數運用“相對方位運動”,在一個加工流程中添加必定量的,至少一條肯定運動指令,就可以消除去取整差錯的帶來的堆集差錯。
如在上述工序中,在工位A處記載X軸坐標,然后將從工位B到工位C的移動改用“肯定方位移動”指令。在工位B時,運動操控卡會主動讀取當時的實踐坐標,與工位A處的坐標進行比照,然后精確地走出50010個脈沖,這樣一來,從工位A到工位B的一切取整差錯就悉數糾正過來了。
辦法二:添加復位動作。
每個工件加工完結后利用傳感器進行一次原點復位動作,不僅能消除取整差錯的堆集,并且還能消除機械差錯的堆集,也是不錯的挑選。
除了上述的“往復”運動,有些單向送料體系,如制袋機類,在重復進行單方向運轉時,因為取整差錯的堆集也會引起加工問題。而此類體系又無法進行復位或許插入“肯定方位運動”指令。這種狀況下引薦在編程時選用一種簡略完結的“四舍五入法”,具體辦法如下。
在核算指令脈沖數時,在浮點數的成果后面+0.5,再取整。
以上文中的程序為例:
MMTargetX=10;//橫向運轉間隔10mm
PulseTargetX=(long)(MMTargetX*ValueX+0.5);//得到運轉脈沖數
YK_start_s_move(XAxisNum,PulseTargetX);//發指令讓X軸正向運轉
在核算指令脈沖數時選用了此辦法可以減小取整差錯帶來的攪擾,可是并不能消除,這是針對無法進行上述兩種辦法時的折衷辦法。不過因為簡略易行,引薦給軟件工程師在核算脈沖數時運用。
換向時個脈沖的運動方向差錯
在試機的過程中呈現過這樣的問題:當運用某一品牌的驅動器,運轉就十分精確;而換用另一品牌的驅動器,走一些固定的動作時就會越走越偏。而容易走偏的驅動器換了另一家的操控器,就又好了。
問題的原因呈現在方向信號提早缺乏。當時大部分驅動器是按周期掃描鎖存方向信號,當捕捉到PULSE的有用信號沿時,再去根據鎖存的方向信號進行運動,在讀取鎖存方向信號到判別PULSE信號有跳變之間有一個差錯τ。而關于PULSE的有用邊緣,有些驅動器是上升沿有用,而有些驅動器是下降沿有用。文中將上述類型的驅動器簡稱為先方向上升沿類型和先方向下降沿類型驅動器。
也有一些國內不太聞名公司供給的驅動器,采取這樣的辦法:當捕捉到PULSE的有用信號沿時,再去即時讀取方向信號,判別運動方向。在讀取到有用信號沿后,間隔讀取方向信號也有一個時刻差錯τ。下文中將此類驅動器稱之為上升沿后方向和下降沿后方向類型驅動器。
這種狀況比較罕見,在此不做討論。
不同公司的驅動器,乃至同一公司的不同型號驅動器,時刻τ都紛歧樣。有些驅動器比如研控模擬驅動器,這個時刻十分小;可是關于新型的數字型驅動器,因為采樣周期的原因,此周期長達125μS,這就給操控信號提出了要求:
方向信號必需求早于脈沖信號到位,最少要早τ秒,不然會引起換向后,個起跳脈沖的運動方向過錯。
當然,即便滿意不了此要求,關于一般的運動來說,假如發生了這類過錯無非就是起跳時少了2個脈沖,一般狀況下不會影響設備精度。
可是當設備被要求重復折返的啟停運動時,就有可能引起差錯的堆集。可是一起,因為此差錯類似于機械空隙,只呈現在換向后的次運動時;而大部分狀況下,正反運動會對此差錯進行抵消。因而,此狀況只會帶來微小的差錯,不會發生太大的影響,但在對精度要求十分高的場合需求留意這個問題。
躲避辦法:檢查驅動器產品闡明書,大部分驅動器都會對此刻刻τ進行規則。而研控MCC1410C的方向提早時刻受起跳速度影響,最短狀況下105μS;但只要將起跳速度降到100KHz以下,方向信號的提早時刻就到了毫秒等級,不會發生上述過錯的狀況。
原點復位差錯
有的客戶反響,在進行復位動作的時分,就會發生方位差錯。一般來說,我們引薦客戶在規劃工序時,每完結一整套加工過程后,進行一次復位動作,這樣可以消除堆集差錯,包括機械打滑差錯、齒輪空隙差錯和驅動器少數丟步形成的差錯。但復位動作的運動參數設置、復
位動作次序設置、傳感器的挑選和裝置方位、以及伺服參數設置的恰當與否都會影響復位精度。當客戶發現復位會導致運轉方位不按時,客戶一般會首要考慮掃除傳感器靈敏度、動作是否過猛等,因而問題往往不大,本節首要描繪當伺服參數設置不妥這一較少能考慮到的狀況會
引起的復位差錯。當運用伺服電機時,假如參數調整不妥,剛性太弱,會形成該軸原點復位時的差錯。
總的來說,伺服是一個必需求考慮其滯后特性的履行部件。當設置伺服參數時,剛性越小,運轉時的實踐滯后就越大。直觀上看起來就是“軟軟的,懶懶的”,指令脈沖開端發送了,它才會漸漸動起來;指令脈沖現已發完不發了,它還要往前走一陣才干停下來。這種特性跟
它的閉環操控特性有必定的關系。
當單軸運動進行時,這種滯后一般不會影響出產,乃至察覺不出來,因為盡管運動滯后,可是最終仍是會精確到位。可是當進行插補運動或許原點復位時就會發生很大的影響。
比如當體系復位時,當傳感器被觸發,發出限位信號給操控卡,操控卡立刻中止了脈沖的發送。可是此刻伺服電機因為反響的滯后,仍是會往前走一陣,這一段間隔就形成了差錯。
處理的辦法
1.在體系安穩沒有太大沖擊的狀況下盡量調高伺服的剛性;
2.在不影響出產功率的狀況下降低復位運動的速度,或許采取二次復位的辦法,次高速復位,到位后,再低速向回找原點信號。其他狀況還可以按以下辦法處理。
狀況一:驅動電壓/電流缺乏
當客戶選用一路操控信號帶多路驅動器時,可能會呈現驅動電流缺乏的狀況,繼而導致驅動器無法順暢獲取信號。
研控運動操控卡多選用AM26C31芯片來發生驅動電流,限流電阻20歐姆,電流150mA,因而不引薦選用一路運動操控信號帶多路驅動器。假如有必要選用這種接法,則最多帶兩臺驅動器,假如超越此數值可能會形成芯片過熱燒壞或許信號丟掉等狀況;一起要留意,不確保此種接法的運動安穩性。
狀況二:限位信號攪擾/誤碰
客戶選用非研控出產的運動操控卡時,可能會隨機地呈現設定的運動間隔還沒走到,就停下來的問題。乃至會帶來撞機等嚴重的狀況。這種差錯會十分大,隨機無規律地呈現,一次呈現立刻就形成運轉的混亂。
這種狀況往往是某軸在運轉時,該軸的“限位信號”遭到了攪擾,令板卡以為應該中止該軸的動作。
關于這種狀況的斷定要從軟件上進行抓取,當調用函數判別一個軸是否中止的時分,假如返回值不是“脈沖發送完中止”,而是“不知道反常中止”或許“遇到限位點中止”,就根本可以定位是限位點遭到了攪擾。然后可以將遭到攪擾的軸的限位信號從接線板上斷開,看看是否還有此狀況發生。
針對此問題,需求從硬件上查找攪擾源、攪擾傳遞的通路。慣例的濾波,分隔供電,屏蔽,從頭布線等辦法都可以試一下。不過用的,是換用研控的運動操控卡產品,具備強大的抗攪擾特性(濾波參數可設置),可以此類問題。
全年征稿/資訊合作
聯系郵箱:1271141964@qq.com
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://m.xashilian.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
IOTE 2025第二十四屆國際物聯網展·深圳站
展會城市:深圳市展會時間:2025-08-27