近年來,隨著MEMS及相關(guān)技術(shù)的發(fā)展,微機(jī)器人領(lǐng)域已越來越來受人關(guān)注。但由于零件的尺寸很小,微機(jī)器人組件的裝配需要很高的精確度,一般的裝配方法無法滿足要求。本文介紹了一個(gè)可進(jìn)行微零件裝配工作的機(jī)器人手臂控制系統(tǒng)的控制方法。
1 系統(tǒng)結(jié)構(gòu)
考慮到多機(jī)器人手臂的使用,整個(gè)機(jī)器人控制系統(tǒng)由上位機(jī)與多個(gè)下位機(jī)組成。下位機(jī)即是手臂控制器,每個(gè)下位機(jī)控制一個(gè)機(jī)械手臂的伸縮運(yùn)動(dòng)。上位機(jī)即為控制終端,通過不同配件組裝方式生成每個(gè)手臂的位置數(shù)據(jù),并通過數(shù)據(jù)線傳輸給各個(gè)下位機(jī),由下位機(jī)控制手臂到達(dá)目標(biāo)位置并進(jìn)行目標(biāo)操作。整個(gè)系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
1.1 機(jī)械結(jié)構(gòu)
如圖2所示,手臂控制器的機(jī)械結(jié)構(gòu)由直流減速電機(jī)、手臂、螺桿、減速齒輪、角度傳感器組成。機(jī)器人手臂與機(jī)械螺桿相連,螺桿與直流減速電機(jī)通過減速齒輪耦合,各個(gè)手臂控制器通過控制電機(jī)轉(zhuǎn)動(dòng)來達(dá)到控制手臂位置的目的。同時(shí),手臂控制器具有手動(dòng)調(diào)節(jié)旋柄與螺桿相連,需要時(shí)可通過手動(dòng)調(diào)節(jié),改變手臂位置。
1.2 電路結(jié)構(gòu)
手臂控制器由使用ARM內(nèi)核的PHLIPS LPC2138系列微處理器控制,電路結(jié)構(gòu)主要分為主控制模塊、測(cè)量反饋模塊和通信模塊,如圖3所示。通過主控制模塊控制電機(jī)狀態(tài),通過測(cè)量反饋模塊得到螺桿移動(dòng)距離和位置,在達(dá)到規(guī)定位置后停止電機(jī)。而通信模塊則完成與上位機(jī)之間的數(shù)據(jù)交換。
2 電機(jī)控制
電機(jī)控制由主控制模塊和測(cè)量反饋模塊共同完成。
2.1 主控制模塊
LPC2138引腳分配如表1所示。
主控制器使用PHLIPS LPC2138微處理器,其具有64個(gè)引腳,31個(gè)雙向I/O口,2個(gè)8路10們A/D轉(zhuǎn)換器,能夠進(jìn)行電壓測(cè)量的工作,符合設(shè)計(jì)要求,其引腳分配如表1所示。電機(jī)使用RA-20GM-SD3 型直流減速電機(jī),其減速箱的減速比達(dá)到了1/1000,在減速后,電機(jī)轉(zhuǎn)速為4.5+/-0.9 rpm,在與1/2減速齒輪組進(jìn)一步耦合后,螺桿轉(zhuǎn)速為2.25 rpm,在所用螺桿齒距為1mm時(shí),手臂移動(dòng)述牢為3.75×10-2mm/s。
由于本設(shè)計(jì)中電機(jī)需要正反轉(zhuǎn)動(dòng),故選用了橋路驅(qū)動(dòng)芯片TA8409,其具有兩個(gè)輸入口,兩個(gè)輸出口。微處理器通過控制輸入電平組合即可控制電機(jī)的不同狀態(tài),包括正轉(zhuǎn)、反轉(zhuǎn)、剎車減速和停止?fàn)顟B(tài)。
它的輸出電壓與電機(jī)工作電壓相符,即可直接驅(qū)動(dòng)電機(jī),不用增加放大電路。
電機(jī)驅(qū)動(dòng)電路圖如圖4所示。
2.2 測(cè)量反饋模塊
角度傳感器采用了Midori的CP-2FC,它的機(jī)械角度范圍為360度無限,傳感器把角度變化量轉(zhuǎn)化為電壓量并通過電壓測(cè)量電路反饋回微處理器A/D轉(zhuǎn)換口,通過電壓的變化量可計(jì)算得到螺桿的移動(dòng)距離,這樣就可以得知手臂位置,并以這個(gè)為標(biāo)準(zhǔn)對(duì)電機(jī)驅(qū)動(dòng)器發(fā)送命令。
電壓測(cè)量電路包含由運(yùn)算放人器構(gòu)成的電壓跟隨電路,如圖5所示,它既可隔離電路,又可以完成電壓跟隨。
3 通信模塊
3.1 RS-422通信標(biāo)準(zhǔn)
RS-422標(biāo)準(zhǔn)的數(shù)據(jù)信號(hào)采用差分傳輸方式,也稱作平衡傳輸,其全稱是“平衡電壓數(shù)字接口電路的電氣特性”。
其接收器采用高輸入阻抗,發(fā)送驅(qū)動(dòng)器有比RS232更強(qiáng)的驅(qū)動(dòng)能力,故允許在相同傳輸線上連接多個(gè)接收節(jié)點(diǎn),最多可接10個(gè)節(jié)點(diǎn)。即一個(gè)主設(shè)備(Master),其余為從設(shè)備(Salve),從發(fā)備之間不能通信,所以RS-422支持點(diǎn)對(duì)多的雙向通信。
RS-422的最大傳輸距離為4000英尺(約1219m),最大傳輸速率為10Mbit/s。
3.2 數(shù)據(jù)交換功能實(shí)現(xiàn)
本系統(tǒng)通信模塊采用RS-422標(biāo)準(zhǔn),線路長(zhǎng)度約為200m,故通信的可靠性可得到保證。差分線路驅(qū)動(dòng)器使用AM26LS31芯片,差分接受器使用AM26LS32芯片,微處理器的串行輸出口和輸入口分別與驅(qū)動(dòng)器輸入和接收器輸出相連,并使用差分開路自動(dòng)故障保險(xiǎn)終端連接配置。
差分開路自動(dòng)故障保險(xiǎn)終端連接配置圖如圖6所示。
從而在發(fā)送器輸出端為高阻狀態(tài)時(shí)保證接受器輸入有至少200mV的電壓信號(hào),使輸出不會(huì)出現(xiàn)未知的狀態(tài),提高可靠性,完成與上位機(jī)間的數(shù)據(jù)交換工作。另外,考慮到多機(jī)器人手臂的應(yīng)用情況,在手臂控制器中設(shè)有撥碼開關(guān)來設(shè)定編號(hào),與上位機(jī)的數(shù)據(jù)交換必須包含該編號(hào),并由此來判斷通信時(shí)目標(biāo)控制器的具體位置。
4 軟件設(shè)計(jì)
在設(shè)計(jì)了手臂控制器硬件的基礎(chǔ)上,我們?cè)O(shè)計(jì)了運(yùn)行在微處理器上的軟件應(yīng)用程序。主程序流程圖如圖7所示。
在控制器上電后,首先讀入撥碼開關(guān)的控制器編號(hào),然后進(jìn)入等待模式。程序設(shè)定了UART中斷,當(dāng)上位機(jī)有數(shù)據(jù)傳送過來時(shí),中斷發(fā)生。此時(shí)核對(duì)數(shù)據(jù)包中的控制器編號(hào),若傳送編號(hào)與小控制器編號(hào)相符,則把數(shù)據(jù)讀入,并計(jì)算得到電機(jī)運(yùn)行方向和手臂移動(dòng)距離。在電機(jī)運(yùn)行時(shí),不斷讀取傳感器反饋電壓,并進(jìn)行計(jì)算,判斷手臂是否接近目標(biāo)位置和是否進(jìn)行剎車停車操作。電機(jī)停止后,即手臂到達(dá)目標(biāo)位置,此時(shí)控制器對(duì)上位機(jī)回復(fù)工作完成(通信時(shí)始終附帶控制器編號(hào)),并再次進(jìn)入等待狀態(tài)。
本系統(tǒng)中,可使用兩種算法來決定電機(jī)的減速停止命令的發(fā)送時(shí)機(jī)。
第一種是剛好是在測(cè)量得到手臂到達(dá)目標(biāo)位置之時(shí)發(fā)送減速停止命令,此算法執(zhí)行較為簡(jiǎn)單,但不可避免會(huì)存在電機(jī)停止時(shí)螺桿位置偏離了目標(biāo)位置的情況。不過工作時(shí)手臂移動(dòng)速度很低,已經(jīng)可以保證控制精度。第二種算法,即在接近目標(biāo)位置時(shí)進(jìn)行預(yù)測(cè)算法,在手臂到達(dá)目標(biāo)位置前發(fā)送剎車減速命令,使得螺桿停止位置與目標(biāo)位置差距更小,此算法雖較為復(fù)雜,但精度較第一種更高,在本設(shè)計(jì)中,我們使用第二種算法從而保證更高的控制精度。
手臂控制器程序是通過不斷讀取傳感器反饋值得到手臂位置的,雖然經(jīng)過預(yù)測(cè)算法提高算法精度,但由于傳感器本身也有一定的誤差,手臂停止位置不免會(huì)有偏差,但由于高精度的硬件設(shè)計(jì),此誤差不會(huì)影響機(jī)械手臂大多數(shù)的工作。
5 結(jié)束語
本章設(shè)計(jì)了一個(gè)基于ARM核微處理器的機(jī)器人手臂控制系統(tǒng),對(duì)控制器的硬件設(shè)計(jì)進(jìn)行了詳細(xì)的敘述,并給出了系統(tǒng)結(jié)構(gòu)圖和部分電路的原理圖;介紹了控制軟件的設(shè)計(jì)并給出了程序的流程圖。由于使用了高減速比的減速箱來調(diào)整電機(jī)速度并配合了改良的算法,本手臂控制器的定位精度是比較高的。若在此基礎(chǔ)上加裝可控夾鉗,即可完成簡(jiǎn)單可靠的裝配工作。