吳羽歆 趙振偉 陳思羽 王海琛 張力文 張悅
摘要:本文基于單片機(jī)keil和Arduino技術(shù),設(shè)計(jì)、制作并控制一臺(tái)起重機(jī)器人,對(duì)中國(guó)大學(xué)生創(chuàng)新類比賽的實(shí)際賽況線路控制,做了較為詳細(xì)的技術(shù)分析。本設(shè)計(jì)采用OpenMV作為識(shí)別標(biāo)識(shí)的前端輸入部件,Arduino與單片機(jī)為控制元件,通過(guò)利用Arduino與單片機(jī)串口通信來(lái)實(shí)現(xiàn)車體移動(dòng),單片機(jī)控制鉤取裝置和其他連接元件實(shí)現(xiàn)精準(zhǔn)識(shí)別取物,保證重物擺放位置的精準(zhǔn)性,實(shí)現(xiàn)全自動(dòng)化。
關(guān)鍵詞:搬運(yùn)機(jī)器人 控制系統(tǒng) 單片機(jī) Arduino PID
Design of automatic control handling trolley for science and technology competition
WU Yuxin,ZHAO Zhenwei,CHEN Siyu,WANG Haichen,ZHANG Liwen, ZHANG Yue
(School of mechanical engineering,Shenyang University of Technology,Shenyang, Liaoning Province, 110870,China)
Abstract:Based on the keil and Arduino technology of single-chip microcomputer, this paper designs, manufactures and controls a crane robot, and makes a detailed technical analysis of the actual circuit control of the innovation competition of Chinese college students. This design uses OpenMV as the front-end input component of the identification mark, Arduino and single-chip microcomputer as the control components, and realizes the movement of the car body by using the serial communication between Arduino and single-chip microcomputer, and the single-chip computer controls the hooking device and other connecting components to achieve accurate identification and retrieval, ensuring heavy objects. The accuracy of the placement position is fully automated.
Key Words:Handling robot; Control system; MCU; ArduinoPID
中國(guó)大學(xué)生起重機(jī)創(chuàng)意大賽是由中國(guó)機(jī)械工程學(xué)會(huì)主辦的“中國(guó)大學(xué)生機(jī)械工程創(chuàng)新創(chuàng)意大賽”系列專業(yè)賽事之一,其宗旨是通過(guò)大賽增強(qiáng)大學(xué)生的科技創(chuàng)新意識(shí),鼓勵(lì)大學(xué)生積極投身科技創(chuàng)新與工程實(shí)踐活動(dòng),提高大學(xué)生針對(duì)實(shí)際需求進(jìn)行起重機(jī)設(shè)計(jì)和工藝制作的動(dòng)手能力,拓寬大學(xué)生的科技創(chuàng)新視野,提升大學(xué)生對(duì)起重機(jī)在國(guó)民經(jīng)濟(jì)各領(lǐng)域的應(yīng)用意識(shí)。2020年中國(guó)大學(xué)生起重機(jī)創(chuàng)意大賽成為全國(guó)創(chuàng)新人才培養(yǎng)與學(xué)科競(jìng)賽評(píng)估排名賽事之一。
大學(xué)生科技競(jìng)賽是培養(yǎng)創(chuàng)新型人才的重要手段[1]。大學(xué)生科技競(jìng)賽中的自動(dòng)控制搬運(yùn)小車,采用機(jī)器視覺(jué)、步進(jìn)電機(jī)、伺服電機(jī)、自動(dòng)控制等技術(shù)[2-5]。搬運(yùn)小車的設(shè)計(jì)為參加中國(guó)大學(xué)生起重機(jī)創(chuàng)意大賽,要求設(shè)計(jì)、制作一臺(tái)起重機(jī)器人,基于機(jī)器視覺(jué),對(duì)固定取物區(qū)具有特定顏色及形狀標(biāo)識(shí)的搬運(yùn)物品進(jìn)行識(shí)別,通過(guò)自主有序的控制方式將物品從取物區(qū)按通行規(guī)則通過(guò)設(shè)置有兩個(gè)障礙物的通行區(qū)搬運(yùn)到堆碼區(qū),期間不得觸碰障礙物圓柱體,搬運(yùn)物品的最底面不能超過(guò)障礙物的最高端面,完全堆完6個(gè)箱子即完成比賽。
1搬運(yùn)小車的機(jī)械結(jié)構(gòu)設(shè)計(jì)
搬運(yùn)小車整體呈方形框架,上方為車體抓取部分,下方為車體移動(dòng)部分。所述車架的四角分別設(shè)有空心鋁方管,4根空心鋁方管的上端均安裝有支撐座,一對(duì)所述支撐座上設(shè)置有同步帶模組,另一對(duì)所述支撐座上設(shè)置有光軸,同步帶模組和光軸上另設(shè)有另一個(gè)同步帶模組,同步帶模組上設(shè)有步進(jìn)電機(jī),用于驅(qū)動(dòng)同步帶模組;同步帶模組上設(shè)有隨同步帶板一起移動(dòng)的立體板,用于放置驅(qū)動(dòng)電機(jī),所述車架的四角安裝有步進(jìn)電機(jī),該步進(jìn)電機(jī)的輸出端設(shè)有麥克納姆輪,為搬運(yùn)小車運(yùn)動(dòng)機(jī)械結(jié)構(gòu);鉤取結(jié)構(gòu)中橫桿的兩端設(shè)置有一對(duì)豎桿,鉤取裝置形狀成一個(gè)“工”字形。自動(dòng)控制搬運(yùn)小車結(jié)構(gòu)設(shè)計(jì)圖如圖1所示,自動(dòng)控制搬運(yùn)小車結(jié)構(gòu)建模圖如圖2所示。
2控制系統(tǒng)
2.1 OpenMV識(shí)別校準(zhǔn)
在攝像頭捕捉到標(biāo)識(shí)圖標(biāo),在機(jī)器視覺(jué)中的閾值編輯器調(diào)閾值參數(shù),將其反饋的閾值參數(shù)編入OpenMV程序中[6-8]。若最后OpenMV的串口打印輸出與實(shí)體標(biāo)識(shí)不一致,則為閾值參數(shù)調(diào)整不到位,需要進(jìn)一步調(diào)整參數(shù)閾值。在調(diào)試過(guò)程中,因?yàn)橛衅渌矬w的干擾,所以在調(diào)試中將OpenMV的鏡頭識(shí)別范圍調(diào)小,前后挪動(dòng)鏡頭的固定位置,取該區(qū)間的閾值范圍作為最終數(shù)據(jù)。特別需要注意競(jìng)賽場(chǎng)地光線的影響,由于打印的標(biāo)識(shí)反光度比較大,在攝像頭識(shí)別標(biāo)識(shí)時(shí)候需要人工進(jìn)行光線遮擋,以避免影響后續(xù)抓取。
2.2步進(jìn)電機(jī)控制
當(dāng)單個(gè)調(diào)整鉤取裝置得到的電機(jī)反饋的圈數(shù)數(shù)據(jù)直接用于整體機(jī)械運(yùn)行,可以看見(jiàn)單個(gè)部分調(diào)整與整體調(diào)整的圈數(shù)是不一致的。出現(xiàn)這個(gè)問(wèn)題的原因是整體運(yùn)行時(shí)各部分分布的電壓的不同,可以通過(guò)微調(diào)受影響的零部件參數(shù)進(jìn)行調(diào)整。該搬運(yùn)小車的同步帶采用的驅(qū)動(dòng)器是雷賽智能的M542C高細(xì)分驅(qū)動(dòng)器,一個(gè)M542C驅(qū)動(dòng)器控制一個(gè)步進(jìn)電機(jī),在Signal接口中,采用的共陰接法[9-10]。B22B7373-4DEC-4753-A110-A474BB5AF2DF
該搬運(yùn)小車的步進(jìn)電機(jī)驅(qū)動(dòng)器程序設(shè)計(jì)需要定義方向信號(hào)和脈沖信號(hào)的引腳。步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。電機(jī)的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的。通過(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的。本程序設(shè)定需要間隔設(shè)定初始化引腳,以控制一定時(shí)間的脈沖個(gè)數(shù)達(dá)到控制速度的目的;以調(diào)整脈沖IO口的GPIO_ResetBits與GPIO_SetBits函數(shù)間隔時(shí)間來(lái)調(diào)整速度大小。
2.3伺服電機(jī)控制鉤取裝置調(diào)試
本文所設(shè)計(jì)搬運(yùn)小車的取物方式為鉤取,本鉤取裝置的動(dòng)力源為伺服電機(jī)。伺服電機(jī)的控制原理是通過(guò)控制脈沖時(shí)間的長(zhǎng)短控制轉(zhuǎn)動(dòng)角度。鉤取物品需要較為精準(zhǔn)的伸縮位移和適宜的電機(jī)速度,所以在控制程序上采用“速度+位置PID雙閉環(huán)”的方法來(lái)實(shí)現(xiàn)精準(zhǔn)控制鉤取位置。為了使鉤取物體的時(shí)候保證物體不滑落和到達(dá)指定距離時(shí)候維持鉤取穩(wěn)定,需要觀察傳輸至PC端的數(shù)值嘗試多個(gè)值細(xì)微調(diào)整電機(jī)的轉(zhuǎn)速和剎車距離來(lái)確保鉤取物體的有勁與穩(wěn)定。
伺服電機(jī)需要用PMW波控制的,所以在控制程序上設(shè)定使能PMW的IO口;使能時(shí)鐘TIM4并設(shè)定定時(shí)器TIM4的中斷服務(wù)函數(shù),為計(jì)算電機(jī)旋轉(zhuǎn)路程做準(zhǔn)備;設(shè)定電機(jī)的編碼器模式,初始化IO口和定時(shí)器TIM3;設(shè)置基礎(chǔ)PID的計(jì)算函數(shù),確保PID閉環(huán)精確控制速度與距離??刂齐姍C(jī)正反轉(zhuǎn)程序一起并入PID的程序,便于設(shè)計(jì)鉤取裝置以位置環(huán)為主,速度環(huán)為輔,把位置值采回去給單片機(jī)CPU,CPU把這個(gè)采集回來(lái)的實(shí)際位置和設(shè)定位置做比較,若實(shí)際數(shù)值小,就通過(guò)控制信號(hào)讓電機(jī)繼續(xù)正轉(zhuǎn),若實(shí)際數(shù)值大,就通過(guò)控制信號(hào)讓電機(jī)反轉(zhuǎn)。
2.3四驅(qū)步進(jìn)電機(jī)驅(qū)動(dòng)板控制車體運(yùn)動(dòng)
驅(qū)動(dòng)板的上層為設(shè)計(jì)的電路板用于連接DRV8825驅(qū)動(dòng)器和下層的Arduino控制板。上層電路板接通24V電源,通過(guò)電路板中的電容降壓到5V來(lái)控制驅(qū)動(dòng)器,驅(qū)動(dòng)器為64細(xì)分,能較為精準(zhǔn)控制電機(jī)移動(dòng)量。Dir函數(shù)?來(lái)控制步進(jìn)點(diǎn)擊的正反轉(zhuǎn),以達(dá)到控制?輛前進(jìn)、后退等功能;Step函數(shù)表示電機(jī)轉(zhuǎn)的路程,Step函數(shù)根據(jù)控制?低電平的次數(shù)達(dá)到輸出穩(wěn)定的脈沖個(gè)數(shù),脈沖個(gè)數(shù)代表了電機(jī)可以?進(jìn)的位移;Speed函數(shù)?來(lái)表示電機(jī)的轉(zhuǎn)速。
3搬運(yùn)小車整體調(diào)試
在整體調(diào)試的時(shí)候,搬運(yùn)小車出現(xiàn)了程序運(yùn)行亂套問(wèn)題。最初調(diào)試時(shí),一個(gè)單片機(jī)串聯(lián)所有設(shè)備,在程序過(guò)渡時(shí),控制輪子的步進(jìn)電機(jī)不動(dòng),且伺服電機(jī)未能閉環(huán)反而開(kāi)始亂轉(zhuǎn)。經(jīng)過(guò)多方面排除,初步懷疑步進(jìn)電機(jī)四驅(qū)步進(jìn)電機(jī)驅(qū)動(dòng)板通過(guò)單片機(jī)發(fā)出的信號(hào)干擾伺服電機(jī)接收。將四驅(qū)步進(jìn)電機(jī)驅(qū)動(dòng)板單獨(dú)出一個(gè)單片機(jī)但與同步帶同電源,干擾仍存在,查閱資料后懷疑四驅(qū)步進(jìn)電機(jī)驅(qū)動(dòng)板通過(guò)同電源的電源線產(chǎn)生電磁進(jìn)行干擾。最后將同步帶與四驅(qū)步進(jìn)電機(jī)驅(qū)動(dòng)板分開(kāi)電源,干擾消除。當(dāng)伺服電機(jī)與步進(jìn)電機(jī)共同運(yùn)轉(zhuǎn)時(shí),需要獨(dú)立單片機(jī)控制和獨(dú)立電源供電來(lái)消除相互干擾。自動(dòng)控制搬運(yùn)小車如圖3所示。
4 結(jié)語(yǔ)
基于OpenMV圖像處理算法和競(jìng)賽中的比賽規(guī)則設(shè)計(jì)并實(shí)現(xiàn)了競(jìng)賽型起重機(jī)的運(yùn)動(dòng)。設(shè)計(jì)了新型起重機(jī)通過(guò)設(shè)計(jì)鉤子的種類,解決了重物不穩(wěn)定的問(wèn)題。通過(guò)串聯(lián)攝像頭與電機(jī)之間的關(guān)系,實(shí)現(xiàn)了重物擺放位置的精準(zhǔn)性,并且實(shí)現(xiàn)了全自動(dòng)化,全程只需人工進(jìn)行啟動(dòng)此機(jī)構(gòu)。通過(guò)OpenMV識(shí)別標(biāo)識(shí)并與主控制板通信,主控制板與四驅(qū)步進(jìn)電機(jī)驅(qū)動(dòng)板的通信,實(shí)現(xiàn)整體起重機(jī)的按比賽要求進(jìn)行移動(dòng)、鉤取的運(yùn)轉(zhuǎn)。中國(guó)大學(xué)生起重機(jī)創(chuàng)意大賽,以起重機(jī)工程應(yīng)用為牽引,充分融合了結(jié)構(gòu)、控制、智能及機(jī)械加工技術(shù),作品新穎性強(qiáng)、實(shí)用性高。通過(guò)大賽增強(qiáng)大學(xué)生的科技創(chuàng)新意識(shí),提高大學(xué)生針對(duì)實(shí)際需求進(jìn)行起重機(jī)設(shè)計(jì)和工藝制作的動(dòng)手能力,擴(kuò)寬大學(xué)生的科學(xué)視野。比賽中通過(guò)匯聚行業(yè)學(xué)會(huì)專家、知名企業(yè)代表、高等院校學(xué)者等一系列學(xué)術(shù)競(jìng)賽交流活動(dòng),激發(fā)出當(dāng)代大學(xué)生的潛力,提高了大學(xué)生工程創(chuàng)新創(chuàng)業(yè)能力和工程實(shí)踐能力,是行業(yè)、企業(yè)、高校之間知行并舉、協(xié)同育人、產(chǎn)學(xué)合作的一次有益探索,為培養(yǎng)一流工程創(chuàng)新人才不斷改革創(chuàng)新。
參考文獻(xiàn)
[1]? 李翠英,蘇盈盈,劉金晟.以競(jìng)賽為平臺(tái)培養(yǎng)大學(xué)生專業(yè)創(chuàng)新能力的實(shí)踐[J].科技資訊,2020(4):235-236.
[2]? 李振宇.基于Arduino技術(shù)的光電搬運(yùn)機(jī)器人設(shè)計(jì)與編程(一):循線技術(shù)與線路控制[J].首都師范大學(xué)學(xué)報(bào):自然科學(xué)版,2021,42(4):8-11.
[3]? 李華文,倪駿,程倩.淺談基于CPLD的G.D伺服的抗干擾系統(tǒng)設(shè)計(jì)[J].中國(guó)設(shè)備工程,2021(9):95-96.
[4]? 白永威.基于CPLD伺服系統(tǒng)的速度測(cè)量及抗干擾技術(shù)[D].沈陽(yáng):沈陽(yáng)工業(yè)大學(xué),2017.
[5]? 韓利虎.淺談步進(jìn)電機(jī)的基本原理[J].內(nèi)蒙古石油化工,2007(11):240
[6]? 賀龍豹.競(jìng)賽用搬運(yùn)機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京財(cái)經(jīng)大學(xué),2013
[7]? 劉學(xué)文.基于stm32單片機(jī)的智能小車控制[J].現(xiàn)代制造技術(shù)與裝備,2019(1):192-193..
[8]? 董期林,周曉東,馬媛,等.基于模糊自整定PID控制器的直流電機(jī)伺服系統(tǒng)的仿真研究[J].機(jī)床與液壓,2009,37(2):117-119.
[9]? 張輝,李應(yīng)岐,方曉峰.機(jī)器人空間三點(diǎn)圓弧的圓心算法及MATLAB實(shí)現(xiàn)[J].科技資訊,2021(15):21-23.
[10]????? 郭勤,蔡亞永.智能小車控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)試,2021(11):25-26B22B7373-4DEC-4753-A110-A474BB5AF2DF