康 杰,夏文豪,楊承漢,陳曉穎
(三江學(xué)院 機(jī)械與電氣工程學(xué)院,江蘇 南京210012)
近年來(lái),國(guó)內(nèi)外眾多高校、研究機(jī)構(gòu)對(duì)Delta機(jī)器人的研究一直比較熱門(mén)[1-4];由于在食品、碼垛、3C等行業(yè)中快速性、穩(wěn)定性和性?xún)r(jià)比等方面的較好表現(xiàn),Delta機(jī)器人廠商如雨后春筍般崛起。商用Delta機(jī)器人多采用傳統(tǒng)的專(zhuān)用控制器;隨著計(jì)算機(jī)技術(shù)和DSP技術(shù)的快速發(fā)展,基于PC+運(yùn)動(dòng)控制板卡(DSP、FPGA)的開(kāi)放式控制器成為新的潮流方向;鑒于PLC編程靈活方便、工作可靠,在工業(yè)領(lǐng)域應(yīng)用廣泛,觸摸屏(或PC+組態(tài)軟件)+PLC+運(yùn)動(dòng)控制模塊的控制系統(tǒng)架構(gòu)也成為部分研究人員或工廠自動(dòng)化的選擇;部分研究人員和工程技術(shù)人員也在探索自主設(shè)計(jì)成本低、開(kāi)放式、可靠性高、使用方便的各種機(jī)器人控制系統(tǒng)。本次設(shè)計(jì)采用PC+MCU控制器架構(gòu)的教學(xué)型Delta機(jī)器人控制系統(tǒng)就是一次嘗試,免去昂貴的機(jī)器人控制器,增加了控制系統(tǒng)的開(kāi)放性和多技術(shù),便于教學(xué)。
控制系統(tǒng)方案圖如圖1所示。上位機(jī)通過(guò)USB轉(zhuǎn)RS485接口或以太網(wǎng)接口連接下位機(jī);下位機(jī)控制器、步進(jìn)電機(jī)驅(qū)動(dòng)器、電源、開(kāi)關(guān)、按鈕、指示燈等集中安裝于電控箱中;下位機(jī)主要完成至少4路頻率和個(gè)數(shù)可控的高速脈沖輸出,另外需要控制安全邏輯、數(shù)字量輸入采集、數(shù)字量輸出執(zhí)行、加減速控制、每路的多段連續(xù)脈沖規(guī)劃、通信等。本次設(shè)計(jì)主要解決下位機(jī)基于MCU的控制器硬件、軟件系統(tǒng)設(shè)計(jì)。
圖1 控制系統(tǒng)總體方案框圖
采用通用的PC或便攜式PC或工業(yè)控制計(jì)算機(jī),帶USB接口或以太網(wǎng)接口即可。電腦應(yīng)預(yù)裝好微軟操作系統(tǒng)和C++編程軟件。開(kāi)發(fā)串口Modbus RTU通信方式,通常只需要一個(gè)USB-RS485接口轉(zhuǎn)換器,電腦安裝其驅(qū)動(dòng)。采用宇泰UT-890型工業(yè)級(jí)防浪涌屏蔽線(xiàn)轉(zhuǎn)接口,后期擬開(kāi)發(fā)以太網(wǎng)通信方式,不需要轉(zhuǎn)接口,使用將更為方便。
硬件部分主要包括機(jī)器人本體結(jié)構(gòu)如圖2所示和硬件控制包括核心控制模塊、狀態(tài)轉(zhuǎn)換模塊、功率放大模塊和通信模塊等如圖3所示。在該系統(tǒng)中主控芯片采用了STM32F103RCT6,具有多路PWM脈沖輸出接口,輸出頻率要達(dá)到10kHz左右,具有串行通信能力。利用內(nèi)置的串行端口和RS485轉(zhuǎn)換電路來(lái)構(gòu)建RS485總線(xiàn)實(shí)現(xiàn)與主計(jì)算機(jī)通信的目的,并實(shí)現(xiàn)一臺(tái)主機(jī)計(jì)算機(jī)主站可同時(shí)控制多個(gè)從屬控制器。同時(shí)需要接收上位機(jī)發(fā)送的控制指令,將整個(gè)系統(tǒng)的當(dāng)前運(yùn)行狀態(tài)信息發(fā)送給上位機(jī)。理論與實(shí)際偏移狀態(tài)和上位機(jī)指令狀態(tài)相結(jié)合,可獲得步進(jìn)電機(jī)的所需脈沖數(shù),從而實(shí)現(xiàn)該多步進(jìn)電動(dòng)機(jī)的控制和準(zhǔn)確地到達(dá)目標(biāo)位置或姿態(tài)。Delta機(jī)構(gòu)的三個(gè)步進(jìn)電機(jī)系統(tǒng)配置一致,其運(yùn)動(dòng)協(xié)調(diào)由上位機(jī)根據(jù)機(jī)器人運(yùn)動(dòng)學(xué)反解計(jì)算而成;獨(dú)立的第4軸(C軸)安裝于動(dòng)平臺(tái),可實(shí)現(xiàn)圍繞Z軸的旋轉(zhuǎn)。
圖2 Delta機(jī)器人本體結(jié)構(gòu)圖
圖3 下位機(jī)硬件控制連接圖
2.2.1 通信接口電路設(shè)計(jì)
RS485是半雙工通信,所組建的網(wǎng)絡(luò)屬于總線(xiàn)型網(wǎng)絡(luò)。在教學(xué)過(guò)程中可以利用該網(wǎng)絡(luò)實(shí)現(xiàn)集中控制。網(wǎng)絡(luò)地址是區(qū)分每臺(tái)Delta機(jī)器人的唯一標(biāo)識(shí)。在該網(wǎng)絡(luò)中,下位機(jī)與上位機(jī)通信所使用的協(xié)議是Modbus RTU協(xié)議,地址(ID)范圍是0~127,127一般作為廣播地址用,常用的是1~124。本系統(tǒng)采用4位撥碼開(kāi)關(guān)來(lái)實(shí)現(xiàn)地址ID的設(shè)定,后續(xù)改進(jìn)可采用8位撥碼開(kāi)關(guān)來(lái)實(shí)現(xiàn)ID的設(shè)定,以滿(mǎn)足通常實(shí)驗(yàn)室設(shè)備臺(tái)(套)數(shù)的要求。另外為了進(jìn)一步提高系統(tǒng)可擴(kuò)展性,系統(tǒng)選用了ENC28J60芯片設(shè)計(jì)了以太網(wǎng)接口。該芯片內(nèi)部具有DMA模塊,能夠?qū)崿F(xiàn)快速數(shù)據(jù)吞吐,硬件支持IP校驗(yàn)和計(jì)算。通信速率可達(dá)到10Mb/秒。該芯片有兩個(gè)引腳專(zhuān)用于連接的LED,它可以很容易指示網(wǎng)絡(luò)活動(dòng)的狀態(tài)。
2.2.2 普通I/O接口設(shè)計(jì)
主控芯片STM32F103RCT6的邏輯電平是+3.3V,Delta機(jī)器人控制柜使用的是+24V的邏輯電平,所以輸入輸出I/O需要電平轉(zhuǎn)換。輸入部分采用光電耦合器控制電平隔離,輸出部分需要提高電流輸出能力,在光電耦合器隔離的基礎(chǔ)上加入N溝道MOS管用來(lái)提高負(fù)載能力。
2.2.3 電源電路設(shè)計(jì)
主控制芯片STM32F103RCT6電源為+3.3V,步進(jìn)電機(jī)驅(qū)動(dòng)器的邏輯電源是+5V,但控制柜提供+24V電源,因此它需要必要的+3.3V電壓調(diào)節(jié)器電路和+5V的電壓調(diào)節(jié)器電路。+5V電源轉(zhuǎn)換芯片采用XL4005E,該電源轉(zhuǎn)換芯片輸入電壓范圍為5V-32V,輸出電壓范圍為0.8V-30V可調(diào),輸出電流能力高達(dá)5A,可以滿(mǎn)足總體硬件系統(tǒng)的需求。+3.3V穩(wěn)壓電源部分由于涉及到通信的穩(wěn)定性的要求,選用TPS7333器件,其是微功耗低壓差LDO穩(wěn)壓器可以使通信更加穩(wěn)定。
教學(xué)型Delta機(jī)器人需要同時(shí)對(duì)3個(gè)主動(dòng)臂進(jìn)行控制,從而實(shí)現(xiàn)動(dòng)平臺(tái)的位置控制,再加上末端的旋轉(zhuǎn)電機(jī),需要4路高頻脈沖信號(hào)。程序設(shè)計(jì)時(shí)使用TIM3、TIM4、TIM5、TIM6作為產(chǎn)生4路高頻脈沖的定時(shí)器。首先需要對(duì)4個(gè)定時(shí)器進(jìn)行初始化的操作:將4個(gè)定時(shí)器的自動(dòng)重裝載設(shè)置為1;定時(shí)器的預(yù)分頻設(shè)置為7199,設(shè)置時(shí)鐘分割為1,計(jì)數(shù)模式設(shè)置為向上計(jì)數(shù)模式;初始化4個(gè)定時(shí)器中斷的優(yōu)先級(jí)和編寫(xiě)中斷服務(wù)子函數(shù)。下位機(jī)控制器所發(fā)出的各路實(shí)時(shí)累計(jì)脈沖數(shù)存儲(chǔ)于其存儲(chǔ)器中,可供上位機(jī)讀取。在其定時(shí)器更新中斷函數(shù)中進(jìn)行各路脈沖數(shù)的實(shí)時(shí)累計(jì),正轉(zhuǎn)累加,相應(yīng)的反轉(zhuǎn)則累減,初始化回零時(shí)實(shí)時(shí)累計(jì)脈沖值清零。
下位機(jī)作為Modbus從站,利用了STM32F103RCT6單片機(jī)的UASRT串口來(lái)進(jìn)行通信。下位機(jī)串口接收到上位機(jī)發(fā)來(lái)的數(shù)據(jù)幀,并確定是否和本機(jī)的地址一致,若不一致,從機(jī)結(jié)束本次接收進(jìn)入等待;若一致,從機(jī)首先對(duì)收到的數(shù)據(jù)幀進(jìn)行CRC計(jì)算,并與主機(jī)發(fā)送的CRC進(jìn)行校驗(yàn)。當(dāng)檢查沒(méi)有錯(cuò)誤時(shí),可以根據(jù)主機(jī)發(fā)送的功能碼去調(diào)用對(duì)應(yīng)的功能函數(shù)來(lái)執(zhí)行此函數(shù)操作;否則將錯(cuò)誤消息以從機(jī)錯(cuò)誤數(shù)據(jù)幀的格式返回給主機(jī),Modbus RTU從站程序流程圖如圖4所示。
在Delta機(jī)器人運(yùn)行過(guò)程中,雖然單段式控制可以滿(mǎn)足點(diǎn)位運(yùn)動(dòng)的要求,但是插補(bǔ)運(yùn)動(dòng)時(shí)需要多段控制切換每段速度和脈沖數(shù),否則機(jī)構(gòu)容易出現(xiàn)抖動(dòng)、卡頓等現(xiàn)象,為了平順運(yùn)動(dòng)過(guò)程,下位機(jī)可以采取多段式連續(xù)點(diǎn)規(guī)劃模式[5]控制步進(jìn)電機(jī)。
如圖5所示,一個(gè)完整的運(yùn)動(dòng)過(guò)程,根據(jù)轉(zhuǎn)速被分成了3個(gè)步驟,下位機(jī)分別向步進(jìn)電機(jī)發(fā)送連續(xù)多段運(yùn)行頻率和脈沖個(gè)數(shù)不同的脈沖串[5]。多個(gè)脈沖串之間沒(méi)有停止間隙,進(jìn)行連續(xù)平滑切換。包括起跳頻率、終止頻率以及起動(dòng)、停止、頻率切換過(guò)程中的加速頻率、減速頻率等規(guī)劃,均由下位機(jī)單片機(jī)控制器根據(jù)上位機(jī)通過(guò)串行通信發(fā)送過(guò)來(lái)的相關(guān)參數(shù)進(jìn)行準(zhǔn)確規(guī)劃,并將系列脈沖串發(fā)送給對(duì)應(yīng)步進(jìn)電機(jī)驅(qū)動(dòng)器。
圖5 步進(jìn)電機(jī)控制的多段連續(xù)點(diǎn)規(guī)劃模式示意圖
目的:設(shè)計(jì)一個(gè)連續(xù)循環(huán)動(dòng)作,比如取放物品,進(jìn)行示教與循環(huán)再現(xiàn)操作。
內(nèi)容:將幾枚硬幣放于操作空間內(nèi)的平面上,在動(dòng)平臺(tái)中間安裝電磁吸盤(pán),控制Delta機(jī)器人進(jìn)行拾取、移動(dòng)、放置等動(dòng)作;注意整套動(dòng)作能循環(huán)執(zhí)行多次,注意拾?。姶盼P(pán)通電)和放置(電磁吸盤(pán)斷電)動(dòng)作后應(yīng)有一定延時(shí)時(shí)間才能使動(dòng)作連貫。
通過(guò)前期的結(jié)構(gòu)設(shè)計(jì)與實(shí)物制作裝配完成了Delta機(jī)器人實(shí)驗(yàn)平臺(tái)的搭建。其電控箱內(nèi)實(shí)物圖和總體實(shí)物圖,分別如圖6、圖7所示。圖8為實(shí)驗(yàn)平臺(tái)進(jìn)行的吸硬幣示教與再現(xiàn)實(shí)驗(yàn)過(guò)程。對(duì)3枚1元硬幣依次吸取、放置,圖中的8個(gè)動(dòng)作為一個(gè)周期,經(jīng)過(guò)數(shù)百組循環(huán)實(shí)驗(yàn),實(shí)驗(yàn)平臺(tái)末端對(duì)硬幣吸取與放置位置誤差能達(dá)到預(yù)期效果。Delta并聯(lián)機(jī)器人廠商通常以25*305*25mm門(mén)形路徑的運(yùn)行時(shí)間作為快速性指標(biāo),本實(shí)驗(yàn)平臺(tái)經(jīng)測(cè)試時(shí)間約為0.40s,達(dá)到國(guó)內(nèi)知名商用機(jī)器人水平。
圖6 數(shù)據(jù)采集數(shù)據(jù)庫(kù)
圖6 電控箱內(nèi)實(shí)物圖
圖7 教學(xué)型Delta機(jī)器人實(shí)驗(yàn)平臺(tái)
圖8 硬幣的拾取-放置循環(huán)再現(xiàn)實(shí)驗(yàn)
本文主要介紹了Delta機(jī)器人實(shí)驗(yàn)平臺(tái)下位機(jī)控制系統(tǒng)設(shè)計(jì),主要完成了以下工作:硬件部分主要包括核心控制模塊,輸入輸出模塊和通信等模塊。軟件部分包括解決了4個(gè)通用定時(shí)器來(lái)產(chǎn)生4路的高頻PWM脈沖信號(hào),通過(guò)Modbus通訊協(xié)議與上位進(jìn)行通信的問(wèn)題。通過(guò)各路實(shí)時(shí)累計(jì)脈沖數(shù)來(lái)驗(yàn)證開(kāi)環(huán)步進(jìn)電機(jī)運(yùn)行位置是否準(zhǔn)確。在點(diǎn)位控制上通過(guò)采用多段式路徑規(guī)劃來(lái)提高機(jī)器人的運(yùn)行性能。初步教學(xué)設(shè)計(jì)并通過(guò)吸硬幣實(shí)驗(yàn)進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果良好,達(dá)到預(yù)期效果。本實(shí)驗(yàn)平臺(tái)也為機(jī)器人工程等專(zhuān)業(yè)的實(shí)踐教學(xué)提供了一種新的嘗試。