孫暢 徐洪亮
摘 要:本文設(shè)計(jì)以單片機(jī)ATmega16作為智能小車控制系統(tǒng)主控芯片,利用循跡傳感器模塊控制小車行走路線,光電傳感器模塊識(shí)別小車在行進(jìn)過程中遇到的障礙物,超聲波傳感器測(cè)量小車行駛距離并通過顯示模塊12864進(jìn)行顯示,由于AVR單片機(jī)控制精確、操作簡(jiǎn)單,在制造業(yè)、倉(cāng)儲(chǔ)業(yè)和特種行業(yè)得到了廣泛的應(yīng)用。
關(guān)鍵詞:ATmega16;智能AGV小車;循跡傳感器
0 引言
科學(xué)技術(shù)迅速發(fā)展,人工智能系統(tǒng)開發(fā)研究受到廣泛關(guān)注。智能AGV小車在倉(cāng)儲(chǔ)業(yè)、制造業(yè)、危險(xiǎn)場(chǎng)所和特種行業(yè)有廣泛的應(yīng)用前景。譬如在一些汽車領(lǐng)域,如雪佛蘭、豐田等汽車廠配線上有廣泛的應(yīng)用,經(jīng)過使用了AVG作為載運(yùn)工具裝配線后,減少裝配時(shí)間和故障率。本系統(tǒng)基于AVR單片機(jī)智能AGV小車控制系統(tǒng)研究,能夠自動(dòng)識(shí)別前方道路、障礙物檢測(cè)等功能。
1 控制系統(tǒng)總體構(gòu)成
通過循跡傳感器確定小車按照規(guī)定的軌跡行駛,光電傳感器檢測(cè)前方道路障礙物,超聲波傳感器測(cè)量小車行駛的距離,通過傳感器檢測(cè)到的數(shù)字信號(hào)送入單片機(jī),單片機(jī)通過處理電機(jī)驅(qū)動(dòng)實(shí)現(xiàn)智能小車的左右,前進(jìn),并進(jìn)行前方障礙物檢測(cè)和測(cè)量行駛距離,結(jié)果會(huì)顯示在智能小車上。
圖1 ?系統(tǒng)結(jié)構(gòu)框圖
2 控制系統(tǒng)硬件組成與實(shí)現(xiàn)設(shè)計(jì)
2.1 系統(tǒng)主控制模塊
該芯片不僅功耗低,性能也高,運(yùn)行速度快,而且擁有8位AVR微處理器,32個(gè)8位通用工作寄存器,16KB的系統(tǒng)內(nèi)可編程Flash,內(nèi)存量大,還擁有上電復(fù)位以及可編程的掉電檢測(cè)功能,支持?jǐn)U展的片內(nèi)調(diào)試功能,32個(gè)可編程I/O口,而且功耗小。
2.2 系統(tǒng)電機(jī)驅(qū)動(dòng)模塊
電機(jī)驅(qū)動(dòng)芯片主要對(duì)智能AGV小車速度和方向起到一個(gè)控制的作用,速度控制采用ATmega16單片機(jī)定時(shí)中斷法產(chǎn)生PWM方波控制速度,方向采用H橋式電路進(jìn)行電機(jī)正轉(zhuǎn)、反轉(zhuǎn)控制。速度和方向同時(shí)控制采用專用的電機(jī)驅(qū)動(dòng)芯片,例如L298N、L297N、AQMH2407等電機(jī)驅(qū)動(dòng)芯片,電路具有抗干擾能力的問題,于是我們?cè)诳紤]芯片鏈接、驅(qū)動(dòng)等問題就可以迎刃而解。
2.3 系統(tǒng)輸入模塊
2.3.1 循跡傳感器
智能AGV小車的行進(jìn)軌跡的檢測(cè)是采用循跡傳感器,采用TCRT5000反射式傳感器的紅外發(fā)射二極管不斷發(fā)射紅外線,紅外接收管在發(fā)出的紅外線沒有被反射回來或者反射強(qiáng)度不夠大時(shí)候,它會(huì)一直處于關(guān)閉狀態(tài),此時(shí)輸出的模塊為高電平,二極管會(huì)一直處于熄滅狀態(tài);紅外線被反射回來且強(qiáng)度足夠大,紅外接收管飽和,此時(shí)模塊輸出端為低電平,二極管被點(diǎn)亮。
2.3.2 光電傳感器
系統(tǒng)采用光電傳感器也叫光電開關(guān)來檢測(cè)智能AGV小車行進(jìn)軌跡上的障礙物,光電開關(guān)上三根不同顏色的線,紅色接4.5-5V電源,黃色接單片機(jī)。
2.3.3 超聲波傳感器
針對(duì)檢測(cè)AVG小車的形式距離,我們采用的是超聲波傳感器來檢測(cè)。HC-SR04超聲波檢測(cè)行駛距離精度可達(dá)3mm。我們采用IO口TRIG測(cè)距,給最少10us的高電平信號(hào),通過檢測(cè)是否有信號(hào)返回,如果有信號(hào)返回,則可以通過輸出的一個(gè)高電平信號(hào),信號(hào)持續(xù)的時(shí)間越長(zhǎng)說明超聲波從發(fā)射到返回的時(shí)間越長(zhǎng)。
3 控制系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)通過C語言編程,完成檢測(cè)信息的處理和分析,并發(fā)出相應(yīng)的控制指令,改變智能AGV小車的行進(jìn)方向,其控制流程如下:
首先,電機(jī)的驅(qū)動(dòng)流程,利用ATmega16定時(shí)1中斷法產(chǎn)生PWM方波,利用PB0、PB1、PB2、PB3控制電機(jī)的正反轉(zhuǎn),從而可以控制智能AGV小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)。
其次,初始化系統(tǒng),小車行駛過程中是否有障礙物,檢測(cè)有障礙物時(shí),PD7口輸出低電平,單片機(jī)檢測(cè)到信號(hào)之后判斷左轉(zhuǎn)或者右轉(zhuǎn),無障礙物時(shí)保持原來速度繼續(xù)前進(jìn)。
最后,利用三塊循跡傳感器放在小車的前下方,尋找小車的行進(jìn)軌跡,單片機(jī)檢測(cè)到小車信號(hào)為111,小車前進(jìn);檢測(cè)到信號(hào)為110,小車右轉(zhuǎn);檢測(cè)到信號(hào)為011,小車左轉(zhuǎn)。
4 結(jié)論
本文主要是基于AVR單片機(jī)和傳感器技術(shù)原理,以ATmega16單片機(jī)為主控芯片,采用L298N為驅(qū)動(dòng)元件,通過硬件設(shè)計(jì)和軟件編程制作了一套完整、功能模塊化、反應(yīng)較為靈敏的智能AGV小車控制系統(tǒng)。經(jīng)過對(duì)該智能AGV小車進(jìn)行檢測(cè)測(cè)試,實(shí)驗(yàn)結(jié)果證明該智能AGV小車能很好完成循線、避障、測(cè)距功能。
參考文獻(xiàn):
[1]劉治滿.AVR單片機(jī)(C語言)項(xiàng)目開發(fā)實(shí)踐教程[M].北京:人民郵電出版社,2015.
[2]彭偉.單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例 [M].北京:北京航天航空大學(xué)出版社,2012.