楊日容
(中山職業(yè)技術(shù)學(xué)院,廣東中山,528400)
近年來,隨著工業(yè)AGV小車和汽車電子的迅速發(fā)展,智能小車得到了廣泛的研究。本文以智慧工廠中常見的搬運(yùn)小車為研究對象,給出了小車總體結(jié)構(gòu)、硬件設(shè)計(jì)、軟件設(shè)計(jì)、系統(tǒng)聯(lián)調(diào)四個(gè)主要設(shè)計(jì)內(nèi)容,最終實(shí)現(xiàn)了智能搬運(yùn)小車常見的沿線走、避障、站點(diǎn)設(shè)計(jì)、到站停、顯示路程等功能。
智能搬運(yùn)小車系統(tǒng)結(jié)構(gòu)如圖1所示。小車以STC89C52單片機(jī)為控制器,兩路L298N驅(qū)動(dòng)控制小車運(yùn)動(dòng)的四個(gè)直流電機(jī),通過3路TCRT5000紅外光電傳感器檢測電路實(shí)現(xiàn)小車的尋跡運(yùn)動(dòng),1路紅外傳感器檢測電路實(shí)現(xiàn)自動(dòng)避障,采用LJK-D4N金屬探測器實(shí)現(xiàn)金屬探測,使用者可以通過按鍵設(shè)計(jì)目標(biāo)站點(diǎn),同時(shí)根據(jù)在車輪安裝的檢測電路通過單片機(jī)的數(shù)據(jù)處理,可以在液晶顯示屏上顯示小車所走過的路程。
圖1 系統(tǒng)結(jié)構(gòu)圖
設(shè)計(jì)采用國產(chǎn)宏晶公司的貼片式STC89C52RC單片機(jī)為控制器,這款單片機(jī)具有高速、抗干擾能力強(qiáng)、功耗低的特點(diǎn),指令代碼完全兼容傳統(tǒng)8051單片機(jī),實(shí)際工作頻率可達(dá)48MHz,時(shí)鐘電路采用12MHz晶振和兩個(gè)22pF瓷片電容,設(shè)計(jì)了上電復(fù)位和按鍵復(fù)位兩種電路,最小系統(tǒng)電路如圖2所示,單片機(jī)板安裝時(shí),注意安裝位置,注意電源供電和下載線使用的方便性。
圖2 最小系統(tǒng)電路圖
根據(jù)系統(tǒng)需求,單片機(jī)I/O分配如下:P0.0-P0.7:直流電機(jī)驅(qū)動(dòng)板的控制端;P1.0-P1.7:液晶顯示器的數(shù)據(jù)端;
P3.5-P3.7:液晶顯示器的控制端;P2.0-P2.2:三路光電尋跡檢測電路的信號端;P2.3:1路紅外線避障的檢測信號端;P2.5:金屬探測器的檢測信號端;P3.0-P3.3:四個(gè)按鍵的控制端;P2.6-P2.7:直流電機(jī)驅(qū)動(dòng)電路板中的兩塊驅(qū)動(dòng)芯片L298N的使能端。其中,四個(gè)控制按鍵的作用分別是控制直流電機(jī)的啟動(dòng)/停止、加速、減速、站點(diǎn)選擇。
智能搬運(yùn)小車的4個(gè)直流電機(jī)驅(qū)動(dòng)采用常見的電機(jī)驅(qū)動(dòng)模L298N實(shí)現(xiàn),如圖3所示。L298N輸出最大電壓可達(dá)50V,滿足直流電機(jī)的驅(qū)動(dòng)要求,可以直接通過單片機(jī)的I/O端口提供驅(qū)動(dòng)信號,1塊L298N驅(qū)動(dòng)模塊驅(qū)動(dòng)兩路3~16V的直流電機(jī),工作電流可達(dá)2A,系統(tǒng)只需2塊L298N,具有電路結(jié)構(gòu)簡單、易于實(shí)現(xiàn)的特點(diǎn)。單片機(jī)將有一定規(guī)律的控制脈沖從P0口的P0.0-P0.7輸出,經(jīng)驅(qū)動(dòng)芯片L298N驅(qū)動(dòng)4個(gè)直流電機(jī)的各相繞組,兩個(gè)端口控制一個(gè)電機(jī)的運(yùn)動(dòng),如果需要對小車進(jìn)行PWM調(diào)速,則通過ENA和ENB端輸出PWM調(diào)速脈沖控制電機(jī)轉(zhuǎn)速。VDD和GND端為驅(qū)動(dòng)電源輸入端輸入電壓,可輸入6~12V電壓。
圖3 L298N驅(qū)動(dòng)模塊
本設(shè)計(jì)中要求的小車尋線運(yùn)動(dòng)主要是按照黑線的路徑進(jìn)行,光電尋跡檢測電路采用反射式紅外光電對管TCRT5000檢測信號,TCRT5000傳感器中藍(lán)色管為發(fā)射紅外線管,黑色管為接受管,其電路原理如圖4所示。系統(tǒng)設(shè)計(jì)了電源指示燈和檢測指示燈,方便進(jìn)行系統(tǒng)調(diào)試和驗(yàn)證,當(dāng)TCRT5000檢測到黑線時(shí),比較器正向輸入端電壓變大,檢測指示燈熄滅,當(dāng)TCRT5000檢測到反射較強(qiáng)的區(qū)域時(shí),比較器正向輸入端電壓變校,檢測指示燈點(diǎn)亮,通過10k歐姆的精密可調(diào)電阻可調(diào)節(jié)檢測靈敏度。設(shè)計(jì)共采用三路光電尋跡檢測電路,傳感器分別按照在小車車頭左中右三個(gè)位置,檢測信號分別由單片機(jī)的P2.0、P2.1、P2.2端口輸出。在白色區(qū)域內(nèi),光電管導(dǎo)通,比較器輸出為低電平;在黑色區(qū)域內(nèi),光電接收管截止,比較器輸出為高電平。單片機(jī)根據(jù)檢測到的高低電平可以控制小車前進(jìn)的方向是左轉(zhuǎn)還是右轉(zhuǎn),使小車行走不偏離黑線。當(dāng)小車左向偏離黑帶,則應(yīng)該控制小車右轉(zhuǎn);當(dāng)小車右向偏離黑帶,則應(yīng)該控制小車左轉(zhuǎn)。當(dāng)環(huán)境變化時(shí),可以通過微調(diào)可調(diào)電阻RW讓單片機(jī)可靠檢測到黑白線信號。
圖4 尋線檢測電路
小車避障電路采用尋線檢測電路相同的檢測原理,由單片機(jī)P2.3端口接收TCRT5000傳感器的檢測信號,避障電路安裝在小車正前方位置,當(dāng)小車前進(jìn)過程中有物體遮擋時(shí),P2.3為高電平,單片機(jī)控制小車停止運(yùn)動(dòng),直到把障礙物移除,小車?yán)^續(xù)前進(jìn)。
選用型號為LJK-D4N的金屬探測器來對小車實(shí)現(xiàn)金屬探測,其電路原理圖如圖5所示。傳感器的金屬探測距離是3-4mm,所以要將金屬探測器安裝在小車前面中間位置,而且讓它與地面相距3-4mm。當(dāng)智能小車前方有金屬塊時(shí),輸出為低電平。
圖5 金屬檢測電路
本設(shè)計(jì)的主設(shè)計(jì)流程圖如圖6所示,當(dāng)接通電源時(shí),必須按下啟動(dòng)按鍵小車才能運(yùn)動(dòng),在行駛過程中,結(jié)合查詢方式查詢小車是否偏離黑線,并根據(jù)偏離方向執(zhí)行相應(yīng)的控制程序;若P2.5端口為低電平,則探測到金屬,執(zhí)行對應(yīng)的報(bào)警程序;當(dāng)檢測到障礙物時(shí),會產(chǎn)生中斷,執(zhí)行對應(yīng)的避障程序。
圖6 主程序流程圖
在完成小車的機(jī)械結(jié)構(gòu)安裝后,首先要讓小車能夠?qū)崿F(xiàn)前進(jìn)、后退、左轉(zhuǎn)彎、右轉(zhuǎn)彎和停止五種基本運(yùn)動(dòng),分別對應(yīng)forward()、back()、left()、right()、stop()五個(gè)功能函數(shù),根據(jù)控制邏輯實(shí)現(xiàn)8個(gè)驅(qū)動(dòng)I/O的不同電平輸出來實(shí)現(xiàn)。
小車尋線檢測及控制的過程為:前車底部安裝3個(gè)傳感器,沿黑線運(yùn)動(dòng)時(shí),只有中間傳感器可以檢測到信號,小車向右偏移時(shí)則是左邊傳感器檢測到黑線,單片機(jī)接收到信號后將控制小車左轉(zhuǎn)以保證小車沿黑線前進(jìn),小車向左偏移時(shí)則是右邊傳感器檢測到黑線,單片機(jī)接收到信號后將控制小車轉(zhuǎn)以保證小車沿黑線前進(jìn),程序流程圖如圖7所示。轉(zhuǎn)向程序可以分為小角度拐彎和大角度拐彎兩個(gè)函數(shù)模塊,可以通過程序控制四個(gè)車輪不同的運(yùn)動(dòng)狀態(tài)來實(shí)現(xiàn)。
圖7 尋線檢測及控制程序流程圖
所設(shè)計(jì)的智能搬運(yùn)小車可以通過按鍵設(shè)置所要前往的目標(biāo)站點(diǎn),為節(jié)省I/O資源和硬件設(shè)計(jì)復(fù)雜性,系統(tǒng)只設(shè)計(jì)了一個(gè)按鍵,通過不同的按鍵次數(shù)識別設(shè)置的目標(biāo)站點(diǎn)數(shù)值,單片機(jī)通過計(jì)數(shù)功能累加所經(jīng)過的站點(diǎn)數(shù),當(dāng)計(jì)數(shù)所得的站點(diǎn)數(shù)和目標(biāo)站點(diǎn)數(shù)值一致時(shí),表明小車到達(dá)目標(biāo)站點(diǎn),需要停車進(jìn)行裝卸貨工作。
在車輪安裝一個(gè)路程檢測電路,小車車輪每轉(zhuǎn)一圈單片機(jī)I/O端檢測到一個(gè)低電平信號,控制器內(nèi)部通過識別電平的變化信號由變量自動(dòng)累加車輪轉(zhuǎn)動(dòng)的圈數(shù),使用軟尺測量輪胎的周長,在單片機(jī)內(nèi)部通過數(shù)據(jù)處理計(jì)算得到小車走過的路程。如果通過單片機(jī)的定時(shí)器設(shè)定一個(gè)電平信號采集時(shí)間,計(jì)算在采集時(shí)間內(nèi)變量的累加值就可以計(jì)算出小車的平均運(yùn)動(dòng)速度。
在進(jìn)行系統(tǒng)聯(lián)調(diào)前,首先進(jìn)行了硬件測試。在尋線檢測電路和避障檢測電路調(diào)試時(shí),在反射式光電傳感器上面放置白色物體,用萬用表測量LM324的第1引腳是不是為低電平;然后再用黑色的物品放在反射式光電傳感器的感應(yīng)部分,看萬用表的的電壓是否為高電平;來回移動(dòng)黑色物品,看萬用表的電壓值是否呈現(xiàn)高低電平的變化。在金屬探測電路調(diào)試時(shí),首先給金屬探測傳感器導(dǎo)入+7.2V的電源,并在接電源端和輸出端之間接一個(gè)4.7kΩ電阻;再用萬用表測量尚未碰到金屬時(shí)輸出端是否為高電平;當(dāng)碰到金屬時(shí),指示燈是否亮,電路輸出端是否為低電平。當(dāng)保證硬件電路正常工作的前提下,再對軟件進(jìn)行調(diào)試。說先通過仿真軟件proteus在線下載調(diào)試,觀察仿真情況是否和預(yù)計(jì)的要求一致。在確定無誤后,將程序下載到單片機(jī)中,進(jìn)行系統(tǒng)的聯(lián)調(diào),圖8為調(diào)試過程。
圖8 小車調(diào)試過程
本設(shè)計(jì)所完成的基于直流電機(jī)的智能搬運(yùn)小車,可以實(shí)現(xiàn)尋線、避障、金屬探測、到站停等功能,具有體積小、性價(jià)比高等特點(diǎn),對工業(yè)AGV小車、兒童玩具車的開發(fā)研制具有一定的借鑒作用。