《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 基于嵌入式系統(tǒng)和CAN總線的檢修機(jī)械臂控制系統(tǒng)

基于嵌入式系統(tǒng)和CAN總線的檢修機(jī)械臂控制系統(tǒng)

2008-07-25
作者:陸 軍,,劉其端,朱齊丹

??? 摘 ?要: 以蒸汽發(fā)生器六自由度檢修機(jī)械臂" title="機(jī)械臂">機(jī)械臂為應(yīng)用背景,,給出六自由度檢修機(jī)械臂" title="檢修機(jī)械臂">檢修機(jī)械臂的硬件體系結(jié)構(gòu)和上下位機(jī)軟件設(shè)計(jì)方法。本設(shè)計(jì)方法在檢修機(jī)械臂控制系統(tǒng)" title="控制系統(tǒng)">控制系統(tǒng)的設(shè)計(jì)開發(fā)中取得了良好的效果,。
??? 關(guān)鍵詞: 檢修機(jī)械臂,;嵌入式操作系統(tǒng);SMC控制器,;CAN總線

??? ??

??? 蒸汽發(fā)生器(Steam Generator)是核動(dòng)力裝置中一,、二回路之間的連接樞紐,也是核動(dòng)力裝置運(yùn)行中發(fā)生故障最多的設(shè)備之一。蒸汽發(fā)生器的故障大多是由于各種腐蝕使傳熱管或管與管板接頭處發(fā)生泄漏,,從而影響動(dòng)力裝置的安全運(yùn)行,。由于蒸汽發(fā)生器中存在放射性物質(zhì),當(dāng)發(fā)生泄漏時(shí),,人不能進(jìn)入其中進(jìn)行維修,,這時(shí)就需要機(jī)械臂代替人完成維修工作。機(jī)械臂檢修系統(tǒng)即通過六自由度機(jī)械臂對(duì)蒸汽發(fā)生器內(nèi)部進(jìn)行檢修和維護(hù),。該機(jī)械臂有六個(gè)關(guān)節(jié),,六軸聯(lián)動(dòng);主要用于蒸汽發(fā)生器(SG)一回路側(cè)檢修活動(dòng),。機(jī)械臂的手端裝有適配器,,可以攜掛不同的檢修工具,即可根據(jù)需要對(duì)蒸汽發(fā)生器實(shí)施不同程度的維護(hù),。
??? 由于該機(jī)械臂的工作環(huán)境的特殊性,,所以對(duì)機(jī)械臂整個(gè)控制系統(tǒng)的可靠性提出了更高的要求,這就需要良好的硬件電路設(shè)計(jì),、功能更強(qiáng)大的微處理器和更好的軟件實(shí)現(xiàn)方法,。本文以蒸汽發(fā)生器六自由度檢修機(jī)械臂為應(yīng)用背景,給出六自由度檢修機(jī)械臂的硬件體系結(jié)構(gòu)和上下位機(jī)軟件設(shè)計(jì)方法,。在硬件上采用TI公司的TMS320LF2407處理器作為主控制芯片組成SMC控制器,,采用工控機(jī)" title="工控機(jī)">工控機(jī)作為監(jiān)控計(jì)算機(jī),SMC控制器與監(jiān)控計(jì)算機(jī)用CAN總線連接,。監(jiān)控計(jì)算機(jī)主要完成機(jī)械臂控制算法" title="控制算法">控制算法、數(shù)據(jù)記錄以及實(shí)時(shí)監(jiān)控,,SMC控制器實(shí)現(xiàn)機(jī)械臂的控制,、傳感器數(shù)據(jù)采集與通訊功能。在軟件上,,SMC控制器采用μC/OS-II嵌入式實(shí)時(shí)操作系統(tǒng),,并采用模塊化程序設(shè)計(jì)方法,方便軟件系統(tǒng)管理和后續(xù)升級(jí),,在監(jiān)控計(jì)算機(jī)上采用Visual C++與OpenGL設(shè)計(jì)監(jiān)控軟件,。
1 檢修機(jī)械臂系統(tǒng)描述
??? 機(jī)械臂控制系統(tǒng)的組成框圖如圖1所示。

????????????????????????
??? 系統(tǒng)主要由分布在三個(gè)區(qū)域的裝置組成,。(1)位于核反應(yīng)堆廠房外面的集裝箱內(nèi)的配電系統(tǒng)和監(jiān)控系統(tǒng),;(2)位于蒸汽發(fā)生器附近的SMC控制器,最大距離可達(dá)到100m,;(3)位于蒸汽發(fā)生器下封頭附近的機(jī)械臂本體,、檢修工具、監(jiān)控?cái)z像頭,其中集裝箱與SMC控制器最大距離可達(dá)到150m,。
??? 下面介紹三部分之間的連接關(guān)系及主要功能,。
??? (1)集裝箱與SMC控制器:①由集裝箱內(nèi)配電系統(tǒng)向SMC控制器提供220VAC、48VAC等電源輸出,;②集裝箱內(nèi)監(jiān)控系統(tǒng)與SMC控制器采用現(xiàn)場(chǎng)總線通訊,;③集裝箱內(nèi)監(jiān)控系統(tǒng)向SMC控制器提供遠(yuǎn)程復(fù)位(Reset)信號(hào);④SMC控制器向集裝箱內(nèi)監(jiān)控系統(tǒng)提供自身工作狀態(tài)信號(hào),。
??? (2)SMC控制器與機(jī)械臂本體:①SMC控制器向機(jī)械臂本體各直流伺服電機(jī)分別提供PWM直流伺服驅(qū)動(dòng)信號(hào),;②SMC控制器向機(jī)械臂本體各旋轉(zhuǎn)變壓器提供中頻勵(lì)磁信號(hào);③SMC控制器向機(jī)械臂本體安裝偏差檢測(cè)電位器提供激勵(lì)信號(hào),;④R旋轉(zhuǎn)變壓器向SMC控制器提供角度反饋信號(hào),;⑤偏差檢測(cè)電位器向SMC控制器提供偏差檢測(cè)信號(hào)。
??? (3)集裝箱與機(jī)械臂本體:①由集裝箱內(nèi)配電系統(tǒng)向機(jī)械臂本體供應(yīng)檢修工具電源,、監(jiān)控?cái)z像頭電源,、散熱裝置電源;②SG附近監(jiān)控?cái)z像頭向集裝箱內(nèi)監(jiān)控系統(tǒng)提供監(jiān)控視頻,。
??? 由于機(jī)械臂控制算法計(jì)算量大,、控制復(fù)雜,所以采用上,、下位機(jī)的分布式控制方法來設(shè)計(jì)整個(gè)控制系統(tǒng),。
2 硬件電路設(shè)計(jì)
??? 機(jī)械臂控制系統(tǒng)有三個(gè)主要部件,即工控機(jī),、SMC控制器和機(jī)械臂本體,。工控機(jī)主要負(fù)責(zé)機(jī)械臂控制算法、正反解算法,、工作狀態(tài)顯示,、數(shù)據(jù)記錄以及實(shí)時(shí)監(jiān)控,保持與SMC控制器中六個(gè)關(guān)節(jié)控制板的實(shí)時(shí)通訊,;SMC控制器是機(jī)械臂的直接控制部件,,它接收工控機(jī)通過CAN通訊傳過來的機(jī)械臂角度、速度及加速度信息,,對(duì)機(jī)械臂本體進(jìn)行相應(yīng)的控制,,同時(shí)將機(jī)械臂的關(guān)節(jié)角度及運(yùn)行狀態(tài)參數(shù)通過CAN通訊傳給工控機(jī),機(jī)械臂本體接收SMC控制器的指令,,并按照指令要求做出機(jī)械動(dòng)作,,并將角度信號(hào)反饋給SMC控制器。
2.1 SMC控制器硬件電路設(shè)計(jì)
??? 系統(tǒng)的硬件框圖如圖2所示,。系統(tǒng)處理器采用TI公司的TMS320LF2407,它是TI公司新推出的高性能16位數(shù)字信號(hào)處理器,,是24X家族中的新成員,,專門為電極控制與運(yùn)動(dòng)控制數(shù)字化實(shí)現(xiàn)而設(shè)計(jì)。完全履行CAN2.0規(guī)范,,支持11位標(biāo)準(zhǔn)和29位擴(kuò)展標(biāo)識(shí)符,,完全能滿足系統(tǒng)對(duì)電機(jī)控制與CAN通訊功能。

??????????????????
??? (1)為了反饋關(guān)節(jié)電機(jī)的位置,提高控制精度,使系統(tǒng)運(yùn)行更加平穩(wěn),,在電機(jī)軸上和減速器后分別安裝了一只位置檢測(cè)元件旋轉(zhuǎn)變壓器,,用旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器(RDC)進(jìn)行軸角解碼,將關(guān)節(jié)的位置轉(zhuǎn)換成21位的自然二進(jìn)制碼送給DSP,,實(shí)現(xiàn)位置反饋,。
??? (2)電機(jī)選取瑞士MAXON公司的RE系列石墨電刷直流電機(jī),額定電壓為24V,,電源由一個(gè)24V的開關(guān)電源提供,。電機(jī)驅(qū)動(dòng)橋采用SA60脈沖調(diào)制型的運(yùn)算放大器,原理圖如圖3所示,。它能給負(fù)載提供10A的連續(xù)電流,,全橋運(yùn)放可在較寬的電源電壓范圍內(nèi)工作。

????????????????????????
??? (3)關(guān)節(jié)電機(jī)電流檢測(cè)采用電流霍爾器件,,經(jīng)過運(yùn)算放大器輸入到DSP的A/D轉(zhuǎn)換中,,用于檢測(cè)機(jī)械臂關(guān)節(jié)電機(jī)是否過流,由此判斷關(guān)節(jié)電機(jī)是否堵轉(zhuǎn),。
2.2 通訊接口設(shè)計(jì)
??? CAN總線是一種串行數(shù)據(jù)通訊協(xié)議,,通訊速率可達(dá)1Mb/s,采用光導(dǎo)纖維作為通訊介質(zhì),,保證了通訊的速率與可靠性,。數(shù)據(jù)段長度最多為8個(gè)字節(jié),可滿足一般系統(tǒng)控制命令,、工作狀態(tài)及檢測(cè)數(shù)據(jù)通訊的要求,。同時(shí)8個(gè)字節(jié)不會(huì)占用總線時(shí)間過長、保證了通訊的可靠性,。根據(jù)整個(gè)機(jī)械臂控制系統(tǒng)的特點(diǎn),把工控機(jī)設(shè)為主控節(jié)點(diǎn),,負(fù)責(zé)與機(jī)械臂關(guān)節(jié)控制節(jié)點(diǎn)之間的通訊,,對(duì)關(guān)節(jié)控制節(jié)點(diǎn)進(jìn)行統(tǒng)一管理。
??? 工控機(jī)與機(jī)械臂關(guān)節(jié)控制節(jié)點(diǎn)之間采用問答式的通訊方式,,工控機(jī)將計(jì)算的各關(guān)節(jié)角度傳給關(guān)節(jié)控制板,,之后控制板將機(jī)械臂各關(guān)節(jié)的角度信息傳給工控機(jī),數(shù)據(jù)交換完畢后控制板根據(jù)收到的角度信息控制機(jī)械臂,。工控機(jī)與關(guān)節(jié)控制板之間每隔0.1s交換一次數(shù)據(jù),,工控機(jī)每次都根據(jù)收到的角度信息進(jìn)行正反解計(jì)算,。
??? (1)CAN總線驅(qū)動(dòng)器采用PCA82C250,它是協(xié)議控制器和物理總線之間的接口,,該器件對(duì)總線提供差動(dòng)發(fā)送能力并對(duì)CAN控制器提供差動(dòng)額接收能力,,原理圖如圖4所示。CAN總線與DSP接口電路圖如圖5所示,。

?????????????????????????

??????????????????????????
??? (2)工控機(jī)與DSP板的CAN通訊采用CAN接口卡PCI-5110,,其作用是給計(jì)算機(jī)增加CAN-Bus現(xiàn)場(chǎng)總線接口功能。
3 軟件系統(tǒng)設(shè)計(jì)
????機(jī)械臂控制系統(tǒng)的軟件設(shè)計(jì)包括兩部分:下位機(jī)SMC控制器的控制軟件設(shè)計(jì)和上位機(jī)監(jiān)控軟件設(shè)計(jì),。
3.1 下位機(jī)軟件設(shè)計(jì)
????μC/OS-II是專門為微處理器設(shè)計(jì)的一種搶占式實(shí)時(shí)多任務(wù)操作系統(tǒng),,與傳統(tǒng)的DSP系統(tǒng)開發(fā)相比,其利用多任務(wù)管理,、任務(wù)間同步與通信等特點(diǎn),,可以在一定程度上提高系統(tǒng)的可靠性和實(shí)時(shí)性,滿足機(jī)械臂控制系統(tǒng)對(duì)位置信息采集,、CAN通訊以及電流采集的實(shí)時(shí)性要求,。
??? 軟件以TMS320LF2407的T0定時(shí)器作為操作系統(tǒng)的時(shí)鐘中斷源,中斷周期為1ms,。創(chuàng)建位置環(huán)任務(wù),、速度環(huán)任務(wù)、A/D轉(zhuǎn)換任務(wù),、CAN通訊任務(wù)和角度采集,,根據(jù)機(jī)械臂系統(tǒng)的工作特性和功能要求,系統(tǒng)任務(wù)劃分如圖6所示,。系統(tǒng)任務(wù)間的通信和同步用到的系統(tǒng)服務(wù)有消息郵箱和信號(hào)量,。信號(hào)量用于控制共享資源的使用權(quán)及激發(fā)其他任務(wù)的產(chǎn)生,消息郵箱用于通知任務(wù)的產(chǎn)生,;本系統(tǒng)中的任務(wù)分為三種:定時(shí)產(chǎn)生的任務(wù),,由其他任務(wù)激活而不需要等待的任務(wù),由中斷觸發(fā)產(chǎn)生的任務(wù),。圖6同時(shí)也反映本系統(tǒng)任務(wù)調(diào)度情況,。

????????????????????????
3.2 機(jī)械臂控制器設(shè)計(jì)
??? 機(jī)械臂控制原理框圖如圖7所示。

??????????????????????
??? 控制器由串聯(lián)的三個(gè)環(huán)構(gòu)成,,其中包括兩個(gè)模擬內(nèi)環(huán)(電流環(huán),,速度環(huán))和一個(gè)控制環(huán)。
??? 控制算法綜合采用積分PID控制算法和帶死區(qū)PID控制算法:積分分離PID控制算法既能保證系統(tǒng)有較快的響應(yīng)速度,,又有較高的控制精度,;帶死區(qū)PID控制可使機(jī)械裝置運(yùn)動(dòng)到位后,控制作用不會(huì)頻繁變動(dòng),,避免不必要的機(jī)械磨損,。這兩種控制算法魯棒性好,、可靠性高、算法簡單,,能滿足系統(tǒng)的控制要求,。
3.3 系統(tǒng)main函數(shù)結(jié)構(gòu)框架
??? 在主函數(shù)中用OSTaskCreate( )函數(shù)建立初始化任務(wù)Task Init( ),初始化任務(wù)中建立一系列的信號(hào)量和郵箱,,喚醒時(shí)鐘中斷任務(wù),。建立置環(huán)任務(wù)、速度環(huán)任務(wù),、電流環(huán)任務(wù),、A/D轉(zhuǎn)換任務(wù)、CAN通訊任務(wù)和角度采集等任務(wù),。在μC/OS-II實(shí)時(shí)內(nèi)核下整個(gè)程序的結(jié)構(gòu)框架如下:
??? Viod main(void)???????????? //主函數(shù)
??? {
????? ?? 硬件初始化,;
???????? OSInit();???????????? //內(nèi)核的初始化
???????? 調(diào)用OSTaskCreate( )創(chuàng)建初始化任務(wù)Task Init( ),;
????????? OSStart( ),;????????? //開始多任務(wù)調(diào)度
??? }
??? Viod TaskInit(void * data)? //任務(wù)初始化
??? {
??????? 硬件時(shí)鐘初始化;
??? ??? 創(chuàng)建用戶任務(wù),;
??????? 定時(shí)檢查系統(tǒng)的狀態(tài),;
??????? 定時(shí)復(fù)位看門狗;
??? }
??? ISR//中斷服務(wù)程序
??? {
?????? 保存處理器寄存器的值,;
?????? OSIntEnter( ),;
? ???? 執(zhí)行中斷函數(shù);
?????? OSIntExit( ),;
?????? 恢復(fù)處理器寄存器的值,;
?????? 中斷返回;
??? }
3.4 工控機(jī)監(jiān)控軟件設(shè)計(jì)
??? 監(jiān)控軟件功能模式分為安裝,、工作,、調(diào)試模式。工作,、安裝模式分為實(shí)和虛兩種模式,。工作過程是指機(jī)械臂腳趾已經(jīng)插到管板孔中并脹緊、機(jī)械臂處于倒掛狀態(tài)后,,完成堵管和其他檢測(cè)的工作過程,。安裝過程是指機(jī)械臂進(jìn)入人孔,其四個(gè)腳趾安裝到管板孔并脹緊的過程,。虛模式是計(jì)算機(jī)三維仿真,不控制實(shí)際的機(jī)械臂,。實(shí)模式給控制器發(fā)各種數(shù)據(jù)和信息,,通過控制器對(duì)機(jī)械臂的運(yùn)動(dòng)和操作進(jìn)行控制,,實(shí)際機(jī)械臂的位置和姿態(tài)與三維仿真保持一致。
??? 監(jiān)控軟件按功能劃分為五大模塊:操作界面設(shè)計(jì),、軌跡規(guī)劃與運(yùn)動(dòng)控制設(shè)計(jì),、任務(wù)管理模塊設(shè)計(jì)、三維運(yùn)動(dòng)仿真模塊設(shè)計(jì)和系統(tǒng)維護(hù)與故障診斷模塊設(shè)計(jì),。軟件功能結(jié)構(gòu)如圖8所示,。

???????????????????
??? 為滿足系統(tǒng)的控制與仿真功能,采用基于單文檔的OpenGL應(yīng)用程序?qū)崿F(xiàn)該監(jiān)控軟件,。
?監(jiān)控軟件的主要功能如下:
??? (1)主功能菜單:包括模式選擇,、作業(yè)方式選擇、安裝工作,、檢修工作選擇等,。
??? (2)參數(shù)設(shè)置:CAN通訊設(shè)置、機(jī)械臂PID控制參數(shù)設(shè)置等,。
??? (3)機(jī)械臂信息顯示:各關(guān)節(jié)位置姿態(tài)信息,、CAN通訊狀態(tài)、傳感器工作狀態(tài),、關(guān)節(jié)控制電機(jī)電流等,。
??? (4)機(jī)械臂控制:JOG單關(guān)節(jié)控制、JOY六關(guān)節(jié)聯(lián)動(dòng)控制,、自動(dòng)運(yùn)行控制,、關(guān)節(jié)封鎖控制等。
??? (5)記錄模式及數(shù)據(jù)分析:檢修路徑選擇和記錄,,路徑優(yōu)化等,。
??? 本文以實(shí)際工程實(shí)踐中的蒸汽發(fā)生器六自由度檢修機(jī)械臂為研究對(duì)象,通過大量的理論研究和實(shí)際調(diào)試試驗(yàn),,設(shè)計(jì)了一套完整的機(jī)械臂控制系統(tǒng),。整套系統(tǒng)的控制精度、可靠性及動(dòng)/靜態(tài)特性等均能達(dá)到技術(shù)要求,,可以很好地完成技術(shù)要求中的各項(xiàng)功能,,并應(yīng)用到實(shí)際工作中。


參考文獻(xiàn)
[1] 蔡自興.機(jī)器人學(xué)[M].北京:清華大學(xué)出版社,,2000.
[2] 霍偉.機(jī)器人動(dòng)力學(xué)與控制[M].北京:高等教育出版社,,2004.
[3] 梁喜鳳.番茄收獲機(jī)械手機(jī)構(gòu)分析與優(yōu)化設(shè)計(jì)研究于RBF網(wǎng)絡(luò)[D].浙江大學(xué)博士學(xué)位論文,2004.
[4] 蔣新松.人工智能及其控制系統(tǒng)概述[J].自動(dòng)化學(xué)報(bào),,1981,,7(2):153-159.
[5] 任哲.嵌人式實(shí)時(shí)操作系統(tǒng)?滋C/OS-II原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2005.
[6] 饒運(yùn)濤,,鄒繼軍.現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,,2003.
[7] 江思敏.TMS320LF240X DSP硬件開發(fā)教程.北京:機(jī)械工業(yè)出版社,,2003.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。