亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32的智能物料搬運(yùn)小車*

        2022-08-15 06:48:00白煥鑫劉文飛薛茜藝
        科技與創(chuàng)新 2022年16期
        關(guān)鍵詞:樹莓舵機(jī)串口

        白煥鑫,劉文飛,孟 鑫,薛茜藝

        (臺州學(xué)院航空工程學(xué)院,浙江 臺州 318000)

        隨著中國工業(yè)化進(jìn)程不斷深入,工業(yè)生產(chǎn)中的物料搬運(yùn)工作逐漸趨于自動化、信息化、智能化,在一些高精度、高網(wǎng)絡(luò)化、高風(fēng)險(xiǎn)的作業(yè)環(huán)境中,智能物流小車已逐漸取代人工搬運(yùn)。2021年第七屆浙江省大學(xué)生工程訓(xùn)練綜合能力競賽要求設(shè)計(jì)并制作一臺通過掃描二維碼領(lǐng)取搬運(yùn)任務(wù),在指定的工業(yè)場景內(nèi)行走與避障,并按任務(wù)要求將物料搬運(yùn)至指定地點(diǎn)并精準(zhǔn)擺放的智能物料搬運(yùn)小車。

        1 總體方案設(shè)計(jì)

        浙江省大學(xué)生工程訓(xùn)練綜合能力競賽要求設(shè)計(jì)的智能小車需具有定位、移動、避障、讀取條形碼及二維碼、物料位置和顏色識別、物料抓取與載運(yùn)、上坡和下坡、路徑規(guī)劃等功能。

        根據(jù)此要求,對小車各功能模塊進(jìn)行設(shè)計(jì),主控采用嵌入式方案,其上帶有電機(jī)驅(qū)動電路以及任務(wù)內(nèi)容顯示裝置(OLED);由于機(jī)械臂夾取部分需要現(xiàn)場制作,因此機(jī)械臂應(yīng)結(jié)構(gòu)簡潔,易于加工。車輪選擇普通海綿內(nèi)膽輪,上料與下料使用五自由度機(jī)械臂,樹莓派搭載攝像頭獲取物料搬運(yùn)順序、物料顏色與形狀信息,姿態(tài)傳感器實(shí)現(xiàn)小車的全局定位;尋跡模塊實(shí)現(xiàn)自主移動與路徑規(guī)劃,單片機(jī)進(jìn)行數(shù)據(jù)分析與處理??傮w方案如圖1所示。

        圖1 總體方案圖

        2 硬件設(shè)計(jì)

        2.1 主控模塊設(shè)計(jì)

        主控芯片采用STM32,樹莓派、舵機(jī)控制板、姿態(tài)傳感器與主控之間的數(shù)據(jù)傳輸采用串口通信,由于還需實(shí)現(xiàn)移動、避障、任務(wù)顯示的功能,因此選擇I/O口較多的STM32F103ZET6主控芯片[1],其具有4路UART串口、112個(gè)快速I/O口、多個(gè)定時(shí)器時(shí)鐘,且配有512 KB的閃存程序存儲器,可滿足設(shè)計(jì)要求。

        2.2 電源模塊設(shè)計(jì)

        小車以12 V航模電池為電源,利用穩(wěn)壓器將電壓穩(wěn)定在12 V后并聯(lián)供電,分別作為電機(jī)驅(qū)動、PCB控制板的電源,其中PCB板通過LMS2596模塊將輸入電壓降到5 V后給電路板上的其他模塊供電。穩(wěn)壓器流出的12 V電壓通過降壓器后分別給機(jī)械臂控制板、樹莓派供電,電路原理如圖2所示。

        圖2 電源模塊電路原理圖

        2.3 電機(jī)驅(qū)動模塊設(shè)計(jì)

        小車?yán)?個(gè)電機(jī)實(shí)現(xiàn)移動功能,電機(jī)采用直流減速電機(jī),電機(jī)型號為MG513P30_12V,外形尺寸73 mm×33 mm,質(zhì)量145 g,輸出軸徑6 mm,D型軸,額定參數(shù)12 V、0.36 A、293 r/min、扭矩1 kg·cm,通過調(diào)節(jié)PWM占空比實(shí)現(xiàn)轉(zhuǎn)速的控制,進(jìn)而通過輪間差速實(shí)現(xiàn)轉(zhuǎn)彎功能。電機(jī)驅(qū)動采用大功率隔離電機(jī)驅(qū)動模塊,可頻繁正反轉(zhuǎn)而不燒驅(qū)動,且使用方便,只需要將電機(jī)正負(fù)線連接驅(qū)動,驅(qū)動IN1~I(xiàn)N4分別接STM32F103ZET6的PWM輸出I/O口就可以實(shí)現(xiàn)PWM信號控制。

        2.4 尋跡模塊設(shè)計(jì)

        小車的尋跡是沿著地圖中的黑線移動,在指定位置根據(jù)特定邏輯判斷實(shí)現(xiàn)停車。本小車尋跡分為2部分:一部分是黑線位于小車中間尋跡,主要利用12路灰度尋跡模塊[2],其上的LED燈通電后發(fā)光,經(jīng)過地面的反射后光敏電阻根據(jù)光強(qiáng)改變電阻大小,由于地圖的色差不同,調(diào)節(jié)尋跡模塊的靈敏度后可實(shí)現(xiàn)在黑線上返回高電平,深黃色區(qū)域返回低電平,STM32芯片根據(jù)返回的電平改變電機(jī)轉(zhuǎn)速實(shí)現(xiàn)尋跡功能;另一部分是2條黑線位于小車兩邊,小車靠近2條黑線的其中1條尋跡,利用2個(gè)一路灰度尋跡模塊檢測小車相對于黑線的位置并實(shí)時(shí)調(diào)節(jié),實(shí)現(xiàn)走中間尋跡功能,能夠解決小車在夾取下層貨架的物料時(shí)機(jī)械臂長度限制的問題。2種尋跡效果如圖3和圖4所示。

        圖3 小車巡中間

        圖4 小車巡兩邊

        2.5 樹莓派模塊設(shè)計(jì)

        樹莓派是一個(gè)開放源代碼的硬件平臺,它是一款基于ARM的微型電腦主板,以SD/MicroSD卡為內(nèi)存硬盤,并且只有信用卡大小,功能強(qiáng)大,可以通過開源的Linux系統(tǒng)安裝軟件實(shí)現(xiàn)各種功能,并且處理數(shù)據(jù)效率高,不易出錯,能夠滿足對圖像識別的要求,因此選擇用它安裝python-opencv并搭載200萬像素?cái)z像頭實(shí)現(xiàn)二維碼的讀取、物料位置和顏色的識別。

        2.6 姿態(tài)傳感器模塊設(shè)計(jì)

        小車在轉(zhuǎn)彎時(shí)由于場地摩擦力、電池電壓、重心、輪間距等原因不能每次都精確地轉(zhuǎn)到相同的角度,因此需要額外增加姿態(tài)傳感器模塊,與STM32通過串口通信,采用閉環(huán)控制,在旋轉(zhuǎn)角度與預(yù)定不符的時(shí)候,姿態(tài)傳感器檢測當(dāng)前角度并反饋給單片機(jī),單片機(jī)經(jīng)過處理后調(diào)整輪間差速,旋轉(zhuǎn)后姿態(tài)傳感器再次檢測角度,反復(fù)多次,最終實(shí)現(xiàn)對小車旋轉(zhuǎn)角度的準(zhǔn)確控制。

        2.7 舵機(jī)及舵機(jī)控制板模塊設(shè)計(jì)

        物料的抓取和放置需要準(zhǔn)確且快速,因此選擇串行總線舵機(jī),它與傳統(tǒng)的PWM舵機(jī)相比,舵機(jī)之間通過雙接口進(jìn)行上下串聯(lián),極大地減少了布線,使得結(jié)構(gòu)更加清晰簡單,而且減少了串口的占用,同時(shí),總線舵機(jī)具有角度反饋,可以快速讀取舵機(jī)角度,進(jìn)行機(jī)械臂關(guān)節(jié)的位置捕捉。舵機(jī)控制板通過降壓后的7.5 V供電,與STM32串口通信,小車到指定位置后單片機(jī)發(fā)送指令,控制板收到信息后控制舵機(jī)執(zhí)行動作組。

        3 機(jī)械結(jié)構(gòu)設(shè)計(jì)

        小車機(jī)械結(jié)構(gòu)包含2個(gè)部分:小車主體和機(jī)械臂。小車主體由直流電機(jī)驅(qū)動的海綿內(nèi)膽輪、各種模塊以及底板組成,車載布局空間高效利用,使小車整體空間利用率最大化。底板采用亞克力板,亞克力板質(zhì)量小、加工方便,并且成本不高。

        機(jī)械臂由舵機(jī)和機(jī)械爪組成。機(jī)械臂各關(guān)節(jié)使用鋁制材料制作,可以最大程度地減輕整車質(zhì)量,并且將機(jī)械臂設(shè)計(jì)[3]為折疊形式,節(jié)省空間。使用5個(gè)大功率總線舵機(jī)驅(qū)動機(jī)械臂的每一個(gè)關(guān)節(jié),使機(jī)械臂具有5個(gè)自由度,夾取物料靈活快捷,控制精度高而且比較穩(wěn)定;機(jī)械爪采用籠式抓手,使用亞克力板制作,內(nèi)部夾持面設(shè)計(jì)為深溝狀且?guī)в蟹阑瑮l紋,2個(gè)亞克力板之間以銅柱連接,在夾取時(shí)能夠更加穩(wěn)定、準(zhǔn)確;物料倉使用斜坡式,物料只需放到一定范圍內(nèi)即可在重力作用下滑到指定位置,提高容錯率,并且在后方間隔一定距離固定2根銅柱卡住物料,防止物料掉落。結(jié)構(gòu)設(shè)計(jì)采用SOLIDWORKS進(jìn)行整體仿真以及有限元與力學(xué)分析,確保在實(shí)際情況下能夠滿足設(shè)計(jì)要求。

        4 軟件設(shè)計(jì)

        4.1 主程序設(shè)計(jì)

        根據(jù)競賽要求,主程序設(shè)計(jì)流程如圖5所示。

        圖5 主程序設(shè)計(jì)流程圖

        4.2 電機(jī)控制單元

        采用STM32的TIM3定時(shí)器的2個(gè)通道輸出PWM方波,通過電機(jī)驅(qū)動實(shí)現(xiàn)電機(jī)控制,控制電機(jī)的PWM頻率需要在6~16 kHz之間。高頻率驅(qū)動電機(jī)的振動比較大、開關(guān)損耗比較大、電磁噪聲較明顯,且電機(jī)參數(shù)本身也不推薦太高的載頻,所以采用了10 kHz的頻率,確保電機(jī)平穩(wěn)運(yùn)行。PWM輸出可以實(shí)現(xiàn)基本的電機(jī)控制,但是隨著供電電壓和負(fù)載的變化,電機(jī)的速度會發(fā)生變化。為了保證電機(jī)的速度達(dá)到理想的效果,采用了霍爾編碼器對電機(jī)轉(zhuǎn)速進(jìn)行檢測。根據(jù)編碼器正反轉(zhuǎn)輸出信號的相位差,通過STM32芯片對其進(jìn)行正交解碼,獲取電機(jī)運(yùn)轉(zhuǎn)狀態(tài),存入CNT寄存器之中。任何時(shí)候CNT寄存器的值就是編碼器的位置信息,正轉(zhuǎn)累加,反轉(zhuǎn)遞減,不需要軟件干預(yù)。

        為了控制電機(jī)平穩(wěn)運(yùn)轉(zhuǎn),運(yùn)用了增量式PID控制算法[4]。當(dāng)執(zhí)行機(jī)構(gòu)需要的控制量是增量,而不是位置量的絕對數(shù)值時(shí),可以使用增量式PID控制算法進(jìn)行控制。其公式也是由位置式PID推導(dǎo)出來。增量式PID控制算法與位置式PID算法公式相比,計(jì)算量小的多,計(jì)算公式如下所示:

        其中:

        經(jīng)過上述方案調(diào)節(jié),精度雖然足夠高,但出現(xiàn)了超調(diào)現(xiàn)象,不能達(dá)到理想的加速效果,速度超調(diào)會使得小車的整體運(yùn)行不平穩(wěn),在加速的時(shí)候由于加速度過快,會發(fā)生前輪上翹,在剎車時(shí)會出現(xiàn)后輪上翹。嘗試了去整定PID的參數(shù),如果把Kp調(diào)小,可以解決加減速過快的問題,但是響應(yīng)速度受到了嚴(yán)重的影響。在保持Kp不變的情況下增大Kd值去抑制電機(jī)過調(diào)量。這樣能達(dá)到一定的平緩速度,但是在速度變化量較大的時(shí)候小車的運(yùn)行依舊不平穩(wěn)。因此,采取對每次增量進(jìn)行限幅的措施,當(dāng)速度差很大的時(shí)候限制了單位時(shí)間內(nèi)的增量,這樣就能保證平穩(wěn)加速減速控制。具體程序如下。

        if(abs(Target2-pid_speed_2_last)>30)

        {

        if(Target2>Encoder2)

        pid_speed_2=pid_speed_2_last+Car_Max_Chang e_Speed;

        else

        pid_speed_2=pid_speed_2_last-Car_Max_Change_Speed;

        }

        小車限幅后的速度控制曲線如圖6所示。

        圖6 小車限幅后的速度控制曲線

        4.3 二維碼識別單元

        使用樹莓派4b+opencv+200萬像素?cái)z像頭,二維碼的識別通過pyzbar包實(shí)現(xiàn),攝像頭處于時(shí)刻開啟狀態(tài),對準(zhǔn)二維碼,單片機(jī)發(fā)送指令,讀取當(dāng)前幀轉(zhuǎn)為灰度圖像后提取條形碼的邊界框的位置,使用pyzbar內(nèi)置函數(shù)讀取二維碼內(nèi)容,轉(zhuǎn)化為字符串后發(fā)送給單片機(jī),單片機(jī)內(nèi)通過串口中斷,如果接收到內(nèi)容,判斷是否為二維碼內(nèi)容,若是,則讓任務(wù)顯示裝置逐位顯示。

        4.4 顏色識別單元

        使用樹莓派4b+opencv+200萬像素?cái)z像頭,單片機(jī)發(fā)送指令后先將目標(biāo)對象圖片的特征數(shù)據(jù)提取出來,將圖像進(jìn)行色彩模型轉(zhuǎn)換,由RGB模型變?yōu)镠SV模型。HSV表色系由色度(Hue)、飽和度(Saturation)、亮度(Value)3個(gè)分量構(gòu)成。提前設(shè)置物料顏色的HSV范圍,對轉(zhuǎn)換后的HSV圖像中的顏色進(jìn)行檢測,用白色像素將其標(biāo)記出來,其余背景標(biāo)記為黑色像素,生成二值圖像。對顏色篩選后的圖像進(jìn)行形態(tài)學(xué)處理[5]。二值圖像的形態(tài)學(xué)運(yùn)算主要包括腐蝕、膨脹、開操作、閉操作,用來提取圖像目標(biāo)分量。最后使用opencv內(nèi)置函數(shù)inrange(),并將在指定范圍內(nèi)的顏色框選出來,判斷輪廓的面積,如果面積大于0則說明檢測到指定顏色并標(biāo)號,并且攝像頭可以一次識別3種顏色,3種顏色全部檢測完成后通過串口返回給單片機(jī)進(jìn)行處理。

        4.5 任務(wù)顯示單元

        任務(wù)碼的顯示采用0.96 in(1 in≈2.54 cm)7引腳OLED屏幕,為使字符高度達(dá)到規(guī)則要求的8 mm,通過PCtoLCD2002軟件對字符取模,取模設(shè)置為陰碼,列行式,逆向,十六進(jìn)制數(shù),最后得到32×160像素的字模。成功識別二維碼后,樹莓派通過串口傳回一組如“312”的字符串,通過單個(gè)數(shù)字所在位置決定在OLED上顯示的位置,核心程序如下所示。

        if(a==49)

        LCD_P32x160Str(0,0,"1");

        else if(a==50)

        LCD_P32x160Str(0,0,"2");

        elseif(a==51)

        LCD_P32x160Str(0,0,"3");

        4.6 尋跡單元

        走直線:走直線使用的是12路灰度尋跡模塊,使用定時(shí)器7中斷函數(shù),每隔5 mm實(shí)時(shí)檢測模塊當(dāng)前相對黑線的位置并以高低電平的形式反饋給STM32,同時(shí)在尋跡的程序中加入PID閉環(huán)控制,使小車在偏離直線時(shí)能夠準(zhǔn)確且迅速地返回預(yù)定軌跡。檢測12路灰度當(dāng)前位置并返回差值部分程序、尋跡位置式PID控制程序如下所示。

        檢測12路灰度程序:

        u16 P0=PO_get();

        if(P0==0x0600)

        {val=0;}

        elseif(P0==0xC000)

        {val=-110;}

        elseif(P0==0x4000)

        {val=-102;}

        else if(P0==0x4000)

        {val=-99;}

        PID控制:

        void car_fwd_encode(int car_spd)

        {

        error_last=error;

        error=val;

        if(val<=100)

        {adjust=val*KP/100+(error-error_last)*KD+(error+error_l ast)*KI;

        car_run_open(car_spd+adjust-wz ,car_spd-adjust+wz);

        }

        }

        走中間:走中間是通過檢測安裝在小車四角的由2個(gè)一路灰度傳感器組成的兩路灰度的位置,當(dāng)檢測到小車邊緣超過黑線時(shí),給小車的左右輪子一定偏差,使其實(shí)現(xiàn)貼邊走,部分程序如下所示。

        u16 P2=P2_get();

        if(P2_get()==0x0000) //0000

        {

        car_run_go(speed_left,speed_right);

        }

        else if(P2_get()==0x1000)

        {

        car_run_go(27,60);

        }

        elseif(P2_get()==0x3000)

        {

        car_run_go(27,70);

        delay_ms(50);

        }

        5 小車實(shí)物

        小車實(shí)物如圖7所示。

        圖7 小車實(shí)物

        6 結(jié)語

        本文設(shè)計(jì)并制作了一輛智能物流小車,包含實(shí)現(xiàn)電機(jī)驅(qū)動、尋跡模塊、樹莓派的二維碼識別與顏色識別、姿態(tài)傳感器、舵機(jī)控制等功能的軟硬件設(shè)計(jì),小車的電機(jī)控制以及尋跡功能都加入了PI閉環(huán)控制,能夠?qū)崿F(xiàn)更精確的移動控制,能夠精準(zhǔn)、快速地完成物料搬運(yùn)任務(wù),降低工人風(fēng)險(xiǎn),減少企業(yè)人力成本。

        猜你喜歡
        樹莓舵機(jī)串口
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
        基于樹莓派的騎行智能頭盔設(shè)計(jì)
        電子制作(2019年11期)2019-07-04 00:34:32
        基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
        電子制作(2018年1期)2018-04-04 01:48:14
        基于樹莓派的遠(yuǎn)程家居控制系統(tǒng)的設(shè)計(jì)
        電子制作(2017年17期)2017-12-18 06:40:43
        基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計(jì)
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        響應(yīng)面法優(yōu)化紅樹莓酒發(fā)酵工藝
        中國釀造(2016年12期)2016-03-01 03:08:19
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
        地礦測繪(2015年3期)2015-12-22 06:27:26
        基于云模型的舵機(jī)同步控制
        天啦噜国产精品亚洲精品| 亚洲av无码av在线播放| 最近中文字幕视频完整版在线看| 国产最新网站| 扒开非洲女人大荫蒂视频 | 男人天堂av在线成人av| 国产女主播大秀在线观看| 国产精品沙发午睡系列| 亚洲av永久无码精品| 国产一级毛片卡| 丰满人妻一区二区三区精品高清| 亚洲视频高清一区二区| 99精品国产一区二区三区| 欧美成人免费高清视频| 日本福利视频免费久久久| 国产视频一区二区在线免费观看| 欧美老熟妇喷水| 亚洲成人免费网址| 亚洲av男人的天堂在线观看| 毛片无遮挡高清免费久久| 国产三级一区二区三区在线观看 | 色偷偷av一区二区三区人妖| 国产三级一区二区三区在线观看| 国产精品黄色片在线看| 中文字幕无码日韩专区免费| 亚洲av不卡电影在线网址最新| 亚洲女人天堂成人av在线| 日韩精品无码一区二区三区四区 | 日本高级黄色一区二区三区| 国产放荡对白视频在线观看| 色一情一乱一伦一区二区三欧美| 久久精品国产亚洲精品色婷婷| 国产日产在线视频一区| 国产色欲av一区二区三区| 色欲aⅴ亚洲情无码av蜜桃| 国产AV无码专区亚洲AWWW| 99久久国产精品免费热| 丰满少妇被粗大的猛烈进出视频| 亚洲精品国产字幕久久vr| 精品色老头老太国产精品| 精品亚洲成a人在线观看 |