梁廣瑞,莫?jiǎng)俸?,喻寧?/p>
(廣西機(jī)電職業(yè)技術(shù)學(xué)院,廣西南寧530007)
目前焊縫激光視覺(jué)跟蹤系統(tǒng)在焊接自動(dòng)化中的應(yīng)用越來(lái)越廣泛,焊機(jī)安裝焊縫跟蹤系統(tǒng)可以在焊接過(guò)程中使焊槍自動(dòng)對(duì)中焊縫,保證焊接質(zhì)量,從而減少焊接工人或減輕勞動(dòng)強(qiáng)度。由于焊縫激光視覺(jué)跟蹤系統(tǒng)進(jìn)行圖像處理與識(shí)別時(shí)計(jì)算量很大,一般將識(shí)別出來(lái)的位置偏差信號(hào)傳送給下位電機(jī)控制器來(lái)控制電機(jī)運(yùn)行以完成跟蹤過(guò)程。由于焊接現(xiàn)場(chǎng)環(huán)境惡劣,常采用PLC作為下位電機(jī)控制器。為了降低設(shè)備成本,更好地推廣焊縫激光視覺(jué)跟蹤系統(tǒng),采用Stm32微處理器設(shè)計(jì)了3軸步進(jìn)電機(jī)控制器取代原PLC的方案。經(jīng)現(xiàn)場(chǎng)使用一年多來(lái),系統(tǒng)運(yùn)行穩(wěn)定可靠,效果良好。
系統(tǒng)跟蹤系統(tǒng)如圖1所示,由埋弧焊機(jī)小車(chē)、激光視覺(jué)系統(tǒng)、步進(jìn)電機(jī)控制器、步進(jìn)電機(jī)及其驅(qū)動(dòng)器、光電編碼器、十字導(dǎo)軌、焊槍等組成。
激光視覺(jué)系統(tǒng)將激光投射到工件上,通過(guò)采集形成表征焊縫三維位置的圖像并進(jìn)行實(shí)時(shí)圖像處理,識(shí)別出焊縫在水平位置和高度位置的偏差信息,通過(guò)PC機(jī)的串口發(fā)送給步進(jìn)電機(jī)控制器,由步進(jìn)電機(jī)控制器完成糾偏控制算法,最后輸出脈沖信號(hào)給步進(jìn)電機(jī)驅(qū)動(dòng)器,步進(jìn)電機(jī)在驅(qū)動(dòng)信號(hào)作用下帶動(dòng)焊槍在十字型導(dǎo)軌機(jī)構(gòu)的水平方向和高度方向上移動(dòng),實(shí)現(xiàn)焊縫實(shí)時(shí)跟蹤。埋弧焊小車(chē)的前進(jìn)由獨(dú)立的直流電機(jī)進(jìn)行調(diào)速控制,同時(shí)決定了焊接速度。由于在不同情況或工藝要求下焊接速度不同,會(huì)影響糾偏控制參數(shù),為了實(shí)現(xiàn)控制參數(shù)的自調(diào)整,通過(guò)光電編碼器檢測(cè)小車(chē)速度并反饋至步進(jìn)電機(jī)控制器。另外在焊接過(guò)程中,通常需要焊槍在焊縫中心位置左右微擺以改善焊縫成形,這種焊槍的左右擺動(dòng)也通過(guò)步進(jìn)電機(jī)控制器提供控制信號(hào)。
從以上分析看出,步進(jìn)電機(jī)控制器需要三路脈沖信號(hào)控制三個(gè)軸:一路根據(jù)焊縫水平位置的偏差控制焊槍的左右移動(dòng),一路根據(jù)高度位置的偏差控制焊槍的上下移動(dòng),最后一路控制焊槍擺動(dòng)的寬度和速度。
圖1 埋弧焊焊縫跟蹤系統(tǒng)
步進(jìn)電機(jī)控制器選用基于ARM Cortex-M3內(nèi)核的Stm32系列32位微控制器,該芯片運(yùn)行速度快,外設(shè)功能齊全,7個(gè)TM最多可以產(chǎn)生28個(gè)精準(zhǔn)的PWM信號(hào),特別適合用于電機(jī)控制領(lǐng)域。本控制器主要由主控芯片最小系統(tǒng)、電源模塊、串口通信模塊、輸入輸出模塊組成,主控芯片最小系統(tǒng)直接按芯片手冊(cè)提供圖紙?jiān)O(shè)計(jì),其余各模塊原理分別如圖2所示。硬件設(shè)計(jì)的主要任務(wù)是提供完成邏輯功能的硬件模塊并保證系統(tǒng)的可靠性、抗干擾性。整個(gè)控制器由24 V開(kāi)關(guān)電源供電,控制器的電源模塊使用了抑制串模和共模干擾的電源濾波器,通過(guò)AP1501-50和LM1117s電源芯片將24 V轉(zhuǎn)換成5 V和3.3 V電壓進(jìn)行板級(jí)供電,輸入端口使用光電隔離技術(shù),輸出端口使用高耐壓、大電流復(fù)合晶體管陣列ULN2003芯片。輸出使用了PA端口,其中PA1、PA6、PA8為PWM功能映射到端口的引腳,PA2、PA3、PA4為旋轉(zhuǎn)方向信號(hào)輸出引腳。輸入信號(hào)通過(guò)光隔PC817進(jìn)行光電隔離后進(jìn)入PB端口,輸入信號(hào)主要有3個(gè)軸的6個(gè)限位信號(hào)、小車(chē)前進(jìn)的速度編碼信號(hào),圖2的輸入部分只畫(huà)出了一路的電氣原理圖,其他輸入通道采用同樣原理。
圖2 步進(jìn)電機(jī)控制器硬件原理
為了提高系統(tǒng)響應(yīng)的實(shí)時(shí)性和程序開(kāi)發(fā)效率,使用μC/OS-Ⅱ嵌入式多任務(wù)實(shí)時(shí)操作系統(tǒng)進(jìn)行開(kāi)發(fā)。該操作系統(tǒng)2000年就得到了美國(guó)聯(lián)邦航空管理局用于商用飛機(jī)的、符合RTCA DO-178B標(biāo)準(zhǔn)的認(rèn)證,證明其具有足夠的穩(wěn)定性和安全性[3]。使用操作系統(tǒng)可以仿制出“多CPU”環(huán)境,使得每個(gè)任務(wù)都覺(jué)得自己擁有獨(dú)立的CPU。這樣一來(lái),任務(wù)的程序設(shè)計(jì)就可以得到簡(jiǎn)化,每個(gè)任務(wù)只需要考慮自己的執(zhí)行流程即可,一個(gè)繁雜的多功能系統(tǒng)就可以分解為多個(gè)簡(jiǎn)單的任務(wù),從而降低了程序設(shè)計(jì)的難度,同時(shí)也提高了程序設(shè)計(jì)的效率與可靠性[4]。
基于實(shí)時(shí)操作系統(tǒng)應(yīng)用軟件設(shè)計(jì)的關(guān)鍵就是任務(wù)劃分。根據(jù)對(duì)控制器控制要求的分析以及任務(wù)的同步性、設(shè)備依賴(lài)性、緊迫性、功能聚合等特點(diǎn)將軟件功能分為四個(gè)主要任務(wù),優(yōu)先級(jí)由高到低為:手動(dòng)調(diào)整焊槍位置任務(wù)、糾偏算法控制任務(wù)、通信協(xié)議任務(wù)、焊槍擺動(dòng)任務(wù)。其中糾偏算法控制任務(wù)是關(guān)鍵性任務(wù),水平方向和高度方向的糾偏都在一個(gè)采樣周期中處理,具有同步性,故都整合到糾偏算法控制任務(wù);通信協(xié)議任務(wù)接收到位置偏差之后觸發(fā)糾偏算法控制任務(wù)執(zhí)行。手動(dòng)調(diào)整焊槍位置任務(wù)的執(zhí)行與糾偏算法控制任務(wù)互斥,當(dāng)在自動(dòng)跟蹤焊接過(guò)程中不會(huì)觸發(fā),故不妨將其列為最高優(yōu)先級(jí)。
激光視覺(jué)系統(tǒng)與運(yùn)動(dòng)控制器之間的通信采用自定義協(xié)議。通信的內(nèi)容主要有:激光視覺(jué)系統(tǒng)傳遞給運(yùn)動(dòng)控制器的位置偏差信號(hào);激光視覺(jué)系統(tǒng)作為人機(jī)操作界面發(fā)送給運(yùn)動(dòng)控制器的手動(dòng)操作、自動(dòng)跟蹤命令信號(hào);運(yùn)動(dòng)控制器反饋給激光視覺(jué)系統(tǒng)的運(yùn)行狀態(tài)信號(hào)等。每幀數(shù)據(jù)統(tǒng)一為5個(gè)字節(jié),協(xié)議格式如表1所示。
表1 協(xié)議格式
如數(shù)據(jù)幀01H 23H F8 38H B2H,01表示本幀數(shù)據(jù)為位置偏差數(shù)據(jù),其中水平方向正偏差23H個(gè)單位,高度方向負(fù)偏差8個(gè)單位(補(bǔ)碼),后兩個(gè)字節(jié)為CRC校驗(yàn)碼。通信協(xié)議功能的實(shí)現(xiàn)由串口中斷和協(xié)議解析兩部分組成,串口接收到5個(gè)字節(jié)數(shù)據(jù)之后,給通信協(xié)議發(fā)信號(hào),任務(wù)獲得CPU運(yùn)行權(quán)利之后解析數(shù)據(jù)幀,根據(jù)命令執(zhí)行動(dòng)作。通信協(xié)議任務(wù)流程如圖3所示。
焊接過(guò)程中,焊槍會(huì)在水平方向和高度方向偏離焊縫中心,焊槍需要在水平和高度兩個(gè)方向上進(jìn)行糾偏,實(shí)現(xiàn)焊縫自動(dòng)跟蹤。兩個(gè)偏差信號(hào)是激光視覺(jué)系統(tǒng)同時(shí)發(fā)送給運(yùn)動(dòng)控制器的,并且在一個(gè)控制周期內(nèi)同時(shí)進(jìn)行糾偏,因此兩個(gè)方向上的糾偏算法統(tǒng)一使用一個(gè)任務(wù)完成。接收到偏差信號(hào)后,觸發(fā)該任務(wù)執(zhí)行,任務(wù)流程如圖4所示。手動(dòng)任務(wù)主要根據(jù)上位機(jī)發(fā)送來(lái)的運(yùn)動(dòng)指令產(chǎn)生相應(yīng)的PWM和方向信號(hào)調(diào)整焊槍位置,任務(wù)流程如圖5所示。
由于激光傳感器前置,焊縫中心檢測(cè)位置超前焊槍較大距離,為解決這個(gè)問(wèn)題,水平方向糾偏算法采用軌跡斜率PD控制[1],控制算法為
式中 u(n)為當(dāng)前輸出量;k(n)和k(n-1)分別為當(dāng)前和前一次的焊縫斜率;Kp為比例增益;Kd為微分增益。PD控制參數(shù)采用試驗(yàn)方法進(jìn)行整定,整定結(jié)果為 Kp=120,Kd=55。
圖3 通信協(xié)議任務(wù)流程
圖4 糾偏算法控制任務(wù)流程
圖5 手動(dòng)控制任務(wù)流程
在高度方向上,激光視覺(jué)系統(tǒng)通過(guò)分析圖像中焊縫三維位置信息來(lái)計(jì)算高度位置變化,與水平方向跟蹤相比,無(wú)需延時(shí)。焊接過(guò)程中的高度變化具有非線(xiàn)性、時(shí)變和不確定性,因此采用專(zhuān)家PID控制算法來(lái)實(shí)現(xiàn)。通過(guò)PID機(jī)理分析及現(xiàn)場(chǎng)試驗(yàn),總結(jié)出以下四條規(guī)則,控制算法如下[4]:
(2)當(dāng) e(k)Δe(k)>0 或 Δe(k)=0 時(shí),表明誤差在向誤差絕對(duì)值增大方向變化,或誤差為一常量。此時(shí),如果,表明誤差較大,給控制器實(shí)施較強(qiáng)的控制作用,控制器輸出為:
(3)當(dāng) e(k)Δe(k)<0,表明誤差的絕對(duì)值向減少方向變化,此時(shí)保持控制器輸出不變。
以上各式中,e(k)、e(k-1)、e(k-2)分別為當(dāng)前誤差、前一次誤差、前兩次誤差;u(k)、u(k-1)分別為當(dāng)前控制器輸出和前一次輸出;k1為增益放大系數(shù),k1>1;KΦ為與小車(chē)前進(jìn)速度相關(guān)的系數(shù),速度越快,該系數(shù)越大。
焊接過(guò)程中,焊槍在焊縫中心的左右擺動(dòng)及擺動(dòng)速度影響焊接效果。如果啟動(dòng)焊槍擺動(dòng)功能,則會(huì)激活焊槍擺動(dòng)任務(wù)。在實(shí)際運(yùn)行中,如果擺動(dòng)速度較快,會(huì)出現(xiàn)步進(jìn)電機(jī)丟步現(xiàn)象,因此在焊槍擺動(dòng)的中心處安裝有光電對(duì)射傳感器檢測(cè)焊槍何時(shí)擺動(dòng)到中間位置,作為脈沖校準(zhǔn)。焊槍擺動(dòng)任務(wù)流程如圖6所示。
圖6 焊槍擺動(dòng)任務(wù)流程
基于stm32微控制器的步進(jìn)電機(jī)控制器成本低、硬件電路簡(jiǎn)單,經(jīng)過(guò)一年多在不同焊接環(huán)境中運(yùn)行,性能穩(wěn)定可靠,滿(mǎn)足生產(chǎn)要求,降低了設(shè)備成本,有利于進(jìn)一步推廣焊縫跟蹤系統(tǒng)的應(yīng)用。
[1]莫?jiǎng)俸叮鲗幠?,鐘義廣,等.PLC在埋弧焊焊縫激光視覺(jué)跟蹤系統(tǒng)中的應(yīng)用[J].焊接,2009(9):55-58.
[2]莫?jiǎng)俸?,喻寧娜,鐘義廣,等.塔吊臂架角鋼外角接焊縫跟蹤系統(tǒng)[J].電焊機(jī),2009,39(9):29-33.
[3]Jean J.Labrosse.嵌入式實(shí)時(shí)操作系統(tǒng) μC/OS-Ⅱ(第二版)[M].邵貝貝,譯.北京:北京航空航天大學(xué)出版社,2003:1-3.
[4]周航慈.基于嵌入式實(shí)時(shí)操作系統(tǒng)的程序設(shè)計(jì)技術(shù)(第二版)[M].北京:北京航空航天大學(xué)出版社,2011:21-38.
[5]劉金琨.智能控制[M].北京:電子工業(yè)出版社,2005:12-17.
[6]李伯成.嵌入式系統(tǒng)可靠性設(shè)計(jì)[M].北京:電子工業(yè)出版社,2006:98-101.