李 麗, 郝 兵, 白金泉, 姜重然
(佳木斯大學(xué)信息電子技術(shù)學(xué)院,黑龍江佳木斯 154007)
CAN是控制網(wǎng)絡(luò)的英文(Control Area Network)的簡(jiǎn)稱(chēng),由德國(guó)BOSCH公司最早提出,它具有通信速率高(最高可達(dá)1Mbps/40m),傳輸距離遠(yuǎn)(10km),抗干擾能力強(qiáng),接口簡(jiǎn)單,編程方便,開(kāi)發(fā)系統(tǒng)價(jià)格便宜等優(yōu)點(diǎn);在現(xiàn)代工控領(lǐng)域中得到了廣泛的應(yīng)用.仿人機(jī)器人具有雙臂、頸部、腰部、雙腿等很多的自由度,為了能夠完成復(fù)雜的動(dòng)作,各部分必須通過(guò)關(guān)節(jié)的協(xié)調(diào)控制[1].如果控制系統(tǒng)過(guò)于集中,其中的局部出現(xiàn)錯(cuò)誤,就可能降低系統(tǒng)的性能,嚴(yán)重會(huì)產(chǎn)生全系統(tǒng)失控的嚴(yán)重故障.所以基于CAN現(xiàn)場(chǎng)總線(xiàn)的分布式控制,問(wèn)題就會(huì)迎刃而解[2].如圖1 所示.
機(jī)械臂的運(yùn)動(dòng)規(guī)劃算法由主控制器的計(jì)算機(jī)完成,通過(guò)現(xiàn)場(chǎng)總線(xiàn)與各部位的控制單元通信,協(xié)調(diào)各關(guān)節(jié)部位的動(dòng)作;由執(zhí)行器來(lái)執(zhí)行規(guī)定動(dòng)作[4].每個(gè)部位的關(guān)節(jié)執(zhí)行器由一臺(tái)電機(jī)、驅(qū)動(dòng)器、檢測(cè)反饋裝置構(gòu)成,負(fù)責(zé)執(zhí)行各個(gè)部位關(guān)節(jié)的動(dòng)作[5].臂分布式控制器.肩部的回轉(zhuǎn)和仰俯以及肘部的仰俯動(dòng)作采用RE3024V 60W的電機(jī),腕部的偏轉(zhuǎn)和回轉(zhuǎn)以及仰俯采用RE2524V 20W的電機(jī).采用TITECH的JW-144-2作為電機(jī)的驅(qū)動(dòng)器[6].
圖1 分布式控制系統(tǒng)結(jié)構(gòu)框圖
圖2 分布式控制器的硬件結(jié)構(gòu)框圖
根據(jù)仿人機(jī)器人需要體積小的實(shí)際情況,把關(guān)節(jié)控制器、電機(jī)驅(qū)動(dòng)器的接口電路、增量式編碼器信號(hào)處理電路等設(shè)計(jì)在一個(gè)電路板上,也就是機(jī)械
圖3 CAN總線(xiàn)電路圖
圖4 主程序流程圖
本設(shè)計(jì)采用C8051F041高速混合信號(hào)ISP FLASH微控制器作為控制單元.這個(gè)芯片的優(yōu)點(diǎn)是尺寸小、外擴(kuò)資源少,很容易實(shí)現(xiàn)對(duì)C8051F041的全速調(diào)試.由C8051F041微控制器組成關(guān)節(jié)控制器硬件電路的硬件結(jié)構(gòu)框圖見(jiàn)圖2[7].
在圖2中,編碼器的信號(hào)輸入接口,采用3個(gè)通道的 TTL 電平,即 A、B、I三路信號(hào),A→OUTc,B→OUTb,I→OUTa.一支固定在關(guān)節(jié)控制器運(yùn)動(dòng)的極限位置,其信號(hào)通過(guò)I/O口被C8051F041微控制器不斷查詢(xún).另一支霍爾接近開(kāi)關(guān)用于絕對(duì)零位檢測(cè),必須采用中斷的方式進(jìn)入C8051F041微控制器.
圖5 控制信息接收和中斷服務(wù)程序流程圖
主控制器的計(jì)算機(jī)經(jīng)過(guò)現(xiàn)場(chǎng)總線(xiàn)與各部位控制單元通信,由相應(yīng)的執(zhí)行器來(lái)完成各部位關(guān)節(jié)的協(xié)調(diào)控制;現(xiàn)場(chǎng)總線(xiàn)利用CAN總線(xiàn).充分利用CAN總線(xiàn)的通信距離遠(yuǎn)(最遠(yuǎn)可以達(dá)到10km)、速率高(最高達(dá)到1Mbps)的特點(diǎn),在沒(méi)有CAN總線(xiàn)網(wǎng)橋、中繼器或集線(xiàn)器情況下,關(guān)節(jié)控制器總數(shù)最大達(dá)到110個(gè),對(duì)于仿人機(jī)器人控制系統(tǒng)完全能滿(mǎn)足.C8051F041微控制器有CAN總線(xiàn)控制器,沒(méi)有CAN總線(xiàn)收發(fā)器,采用TJA1050作為CAN總線(xiàn)收發(fā)器,CAN總線(xiàn)電路圖見(jiàn)圖3.CAN總線(xiàn)接收器TJA1050的輸入與C8051F041微控制器的引腳1 CANRX相連,CAN總線(xiàn)接收器TJA1050的發(fā)送輸出與C8051F041微控制器的引腳2 CANTX相連[8].
圖6 控制周期的定時(shí)中斷服務(wù)程序流程圖
主程序的流程見(jiàn)圖4.
初始化操作主要包括:設(shè)置C8051F041片內(nèi)VDD監(jiān)視器、看門(mén)狗定時(shí)器和時(shí)鐘振蕩器,CAN節(jié)點(diǎn)的初始化、報(bào)文發(fā)送和報(bào)文接收,設(shè)置定時(shí)器∕計(jì)數(shù)器,設(shè)置寄存器和數(shù)據(jù)存儲(chǔ)區(qū),設(shè)置中斷控制器等.
在控制信息接收和中斷程序中,首先是程序讀取接收器的數(shù)據(jù),然后將數(shù)據(jù)存入數(shù)據(jù)接收區(qū)中不執(zhí)行任何動(dòng)作,計(jì)數(shù)器加1,等待主程序處理,當(dāng)主程序處理完一條完整指令信息后,中斷結(jié)束.
將C8051F401的定時(shí)器∕計(jì)數(shù)器設(shè)定為2ms的定時(shí),于是每隔2ms就進(jìn)入定時(shí)中斷服務(wù)程序讀取位置和速度的控制信息,然后計(jì)算位置的偏差進(jìn)行 PID運(yùn)算,最后通過(guò) C8051F041微控制器DAC0輸出控制電機(jī).對(duì)于每個(gè)50ms的周期里,主控制器的計(jì)算機(jī)通過(guò)CAN現(xiàn)場(chǎng)總線(xiàn)將規(guī)劃的位置信息發(fā)送給各部位的執(zhí)行器去執(zhí)行[9].由于,目標(biāo)位置的脈沖信號(hào)的頻率是增量編碼器信號(hào)頻率的四倍;所以,當(dāng)控制單元讀取新的位置信息后,立即對(duì)以前的信息進(jìn)行清零,將新的位置信息定位各個(gè)關(guān)節(jié)的實(shí)際位置;進(jìn)而驅(qū)動(dòng)執(zhí)行器的動(dòng)作[10].根據(jù)實(shí)際情況,還可以讓主控制器的計(jì)算機(jī)實(shí)時(shí)查詢(xún)電機(jī)的實(shí)際位置,達(dá)到實(shí)時(shí)控制的目的.為了實(shí)現(xiàn)控制的精確、可靠的目的,我們這里將各執(zhí)行器的精度設(shè)定在0.1度以?xún)?nèi).
通過(guò)研究表明,這種基于CAN總線(xiàn)的仿人機(jī)械人機(jī)械臂的分布式控制方式,能夠很好地提高機(jī)器人的總體性能指標(biāo),充分完善了人機(jī)實(shí)時(shí)交換的能力;在實(shí)踐中得到了充分的驗(yàn)證.同時(shí),由于采用了基于CAN總線(xiàn)的分布式控制模式,使機(jī)械臂控制系統(tǒng)具有了高度的實(shí)時(shí)性、完善的擴(kuò)充性、廣泛容錯(cuò)性、精確地可靠性等優(yōu)點(diǎn).所以可以預(yù)言,在未來(lái)相關(guān)的控制領(lǐng)域里會(huì)有廣闊的應(yīng)用前景.
[1](美)Saeed B.Niku.機(jī)器人學(xué)導(dǎo)論—分析、系統(tǒng)及應(yīng)用[M].北京:電子工業(yè)出版社,2004.
[2]史慶軍,李敏,姜重燃,等.仿人型機(jī)器人關(guān)節(jié)驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009,12-15.
[3]單麗娜,姜重然,陳文平.基于DSP仿人機(jī)器人關(guān)節(jié)控制器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009.
[4]姜重然,陳文平,徐斌山.基于CAN總線(xiàn)分布式糧情管控系統(tǒng)的研究與設(shè)計(jì)[J].低壓電器,2010,(14):49-52.
[5]鄭劍飛.六自由度機(jī)械臂分布式控制系統(tǒng)的設(shè)計(jì)與研究[D].哈爾濱:哈爾濱工業(yè)大學(xué).2006.
[6]姜重然,陳文平,徐斌山.永磁同步電機(jī)控制系統(tǒng)控制器參數(shù)的優(yōu)化設(shè)計(jì)[J].電機(jī)與控制應(yīng)用,2011.38(6):26-30.
[7]張毅剛,彭喜元.單片機(jī)原理與應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2008.
[8]饒運(yùn)濤,鄒繼軍,王進(jìn)宏.現(xiàn)場(chǎng)總線(xiàn)CAN原理與應(yīng)用技術(shù)(第2版)[M].北京:北京航空航天大學(xué)出版,2007.
[9]Jean- Pierre,Thomesse,F(xiàn)ieldbus.Technology in Industrial Automation[J].Industrial Electronics,2005,3(6):1073-1174.
[10]趙曉軍,黃強(qiáng),彭朝琴.基于人體運(yùn)動(dòng)的仿人型機(jī)器人動(dòng)作的運(yùn)動(dòng)學(xué)匹配[J].機(jī)器人,2005,27(7):358-379.
佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版)2014年2期