《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于紅外技術(shù)的AGV控制
基于紅外技術(shù)的AGV控制
來源:微型機與應(yīng)用2010年第17期
李 亮,詹躍東
(昆明理工大學(xué) 信息工程及自動化學(xué)院,云南 昆明 650051)
摘要: 提出一種應(yīng)用發(fā)射紅外線的電視機遙控器來控制小車運行方向和速度的方法,并設(shè)計了AGV系統(tǒng)的硬件電路和軟件程序。實驗表明,在Windows環(huán)境下運行,通過C語言編程器AVR-GCC和其他的開放源工具,AGV能夠很好地實現(xiàn)轉(zhuǎn)向和避障控制。
關(guān)鍵詞: avr RC5代碼 AVR-GCC
Abstract:
Key words :

摘  要: 提出一種應(yīng)用發(fā)射紅外線的電視機遙控器來控制小車運行方向和速度的方法,并設(shè)計了AGV系統(tǒng)的硬件電路和軟件程序。實驗表明,在Windows環(huán)境下運行,通過C語言編程器AVR-GCC和其他的開放源工具,AGV能夠很好地實現(xiàn)轉(zhuǎn)向和避障控制。
關(guān)鍵詞: RC5代碼;AVR-GCC

    無線遙控是指利用無線電波、紅外線、超聲波等作為信息傳輸?shù)妮d體,在空間進行信息傳輸,實現(xiàn)對目標的控制。由于紅外線的波長小于其他無線電波的波長,因此紅外線遙控不會影響到其他電器設(shè)備。此外,紅外線為不可見光,對環(huán)境影響較小且具有很強的隱蔽性和保密性,其遙控器結(jié)構(gòu)簡單、成本低廉、抗干擾能力強、工作性能可靠。
    紅外遙控的小車(AGV)的技術(shù)要求:
    (1)使用遙控器控制小車所產(chǎn)生的紅外信號對周圍其他的電子電器設(shè)備不產(chǎn)生干擾,具有較好的電磁兼容性。
    (2)在以小車為圓心、半徑為2~4 m的范圍內(nèi),遙控器輸出命令(依靠光線條件、障礙物、天花板表面和安裝在設(shè)備頂端的擴展板)都會被小車檢測到,并且按規(guī)定執(zhí)行,具有很強的信號接收能力。
    (3)小車可根據(jù)控制器輸出命令進行各種運動,如:勻速向前向后,向前左轉(zhuǎn)或右轉(zhuǎn),向后左轉(zhuǎn)或右轉(zhuǎn),加速度運動。
    (4)為保護設(shè)備安全,通過中斷設(shè)置小車的最大速度和最大加速度,一旦超過最大速度和加速度的閾值,小車自動停止。
    (5)從軟件的平臺上,對于輸入程序,需要Java 6的安裝環(huán)境;對于Atmel單片機,WinAVR是一套可執(zhí)行的、開放源軟件開發(fā)工具,它允許在Windows環(huán)境下運行C語言編程器(AVR-GCC)和其他的開放源工具[1]。
1 基本原理
    遙控器選用的是普通的電視機或音響的遙控器,其特點是價格低廉,絕大多數(shù)都可以通過RC5進行代碼編程。首先要閱讀針對設(shè)置使用RC5代碼遙控的指南。如果RC5代碼不在代碼表上,可以測試一些其他的不同的廠家產(chǎn)品。其工作原理圖如圖1所示。

    用紅外接口來傳輸IR信號。在小車面板上安裝兩個傳輸二極管指向上面的天花板,從天花板和其他物體或視線范圍內(nèi)反射的光線進行通信。傳送范圍限制在距離為2~4 m的室內(nèi)(依靠光線條件、障礙物、天花板表面和安裝在設(shè)備頂端的擴展板)??梢酝ㄟ^添加更多的IR LED來擴展通信范圍,例如通過帶有巨大電容器和一個小的串聯(lián)電阻的MOSFET來控制。同步發(fā)生的操作被task_ACS()函數(shù)所控制,這個函數(shù)頻繁地從主函數(shù)中被調(diào)用,目的是用來處理IR信號的接收(額外管理紅外通信的傳輸)。
2 硬件組成
2.1 硬件結(jié)構(gòu)原理

    AGV的硬件組成主要由ATMEGA32的電路板、紅外線接收器、遙控器以及電源等構(gòu)成,ATMEGA32電路板集成有A/D、D/A轉(zhuǎn)換設(shè)備,可將采集進來的模擬量轉(zhuǎn)化為數(shù)字量,通過用戶編寫的程序進行運算。其硬件電路結(jié)構(gòu)原理圖如圖2所示。

2.2 信號接收裝置
    信號接收裝置主要由二極管、TSOP34836芯片以及相應(yīng)的電路構(gòu)成,如圖3所示。

3 軟件設(shè)計
    紅外線遙控器通過RC5代碼傳輸數(shù)據(jù),而RC5數(shù)據(jù)包包含了設(shè)備地址、鍵盤編碼器和一個觸發(fā)器。5位的設(shè)備地址告訴哪個設(shè)備(如電視機、錄像機、或高保真音響等)被遙控器控制。而對于本文的使用,設(shè)備地址也可以用來滿足一些單獨設(shè)備的使用。6位的編碼器附和按鍵遙控允許傳輸其他的數(shù)據(jù),但對于每個傳輸僅僅提供6位編碼器附和按鍵遙控。
    在AVR-GCC環(huán)境下,RC5數(shù)據(jù)包可以通過使用void IRCOMM_sendRC5(unit8_t adr,unit8_t data)函數(shù)[2]傳輸。其中,adr相當于設(shè)備地址;data相當于鍵盤編碼器。參數(shù)adr允許在重要的位(MSB)通過申請常量TOGGLEBIT來設(shè)置觸發(fā)位,方式如下:IRCOMM_sendRC5(12|TOGGLEBIT,40)[2];這個指令將通過地址12傳輸一個RC5數(shù)據(jù)包給設(shè)備,激活觸發(fā)位并且以40作為數(shù)據(jù)值,如IRCOMM_sendRC5(12,40)。
    事件處理程序可以管理RC5的數(shù)據(jù)接收,只要RC5數(shù)據(jù)包接收,事件處理程序?qū)⒆詣拥乇籺ask_ACS()函數(shù)調(diào)用。例如寫一個程序,程序的要求是如果機器人接收到鍵盤編碼4號鍵,小車會向左轉(zhuǎn);接收到鍵盤編碼6號鍵則向右轉(zhuǎn)。
    對于事件處理程序規(guī)定必須相應(yīng)采用void receiveRC5Data(RC5data_t rc5data)形式[2],但也可以自由地命名函數(shù)??梢酝ㄟ^IRCOMM_setRC5DataReadyHandler(receiveRC5Data)[2]函數(shù)允許記錄一個預(yù)定的事件處理程序。在這之后,專用的函數(shù)將被每個有效的RC5接收的代碼調(diào)用。值得一提的是:RC5data_t是專門的預(yù)定義的數(shù)據(jù)類型,包含RC5設(shè)備地址、觸發(fā)位和鍵盤編碼(分別有對應(yīng)的值),可以通過標識符rc5data.device、rc5data.toggle_bit、rc5data.key_code[2]就像使用變量一樣地使用這些數(shù)據(jù)。程序流程圖如圖4所示。

4 測試結(jié)果
4.1 紅外發(fā)射器電器參數(shù)

    (1)接收距離范圍內(nèi),通過示波器測得發(fā)射器發(fā)送脈沖的參數(shù):發(fā)射器輸出波長為λ0=400 nm。
    (2)輸出波形如圖5所示,而標準的發(fā)射器對紅外電管的要求為:波長λ=940 nm,Δλ=60 nm。

4.2 小車運行結(jié)果
    AGV運行時,程序會自動記錄下每個控制間隔內(nèi)得到的側(cè)向偏差e和方向偏差的數(shù)據(jù),圖6、圖7是根據(jù)AGV前進時在某一時間段內(nèi)的偏差記錄的曲線。

    通常紅外線遙控器遙控的對象是電視機、影碟機及音響等設(shè)備,本文設(shè)計實例說明,AGV或車輛裝備也可以使用紅外線通信裝置。如果將這個實例換個角度思考,在車輛上安裝紅外線發(fā)射器和接收器,當紅外線接收器接收到發(fā)射器發(fā)射后反彈回來的紅外線時,就可證明前方有障礙,這就為未來的汽車發(fā)展提供了一種可能的研究方向。當前交通事故頻繁,對社會危害嚴重,如果將這種紅外通信技術(shù)應(yīng)用于車輛的避障中,將有可能大幅降低交通事故的發(fā)生。
參考文獻
[1] 吳啟華.基于Windows環(huán)境下AVR-GCC示例開發(fā)[J].電訊技術(shù),2001(3):95-98.
[2] 王傳,姜華.基于RC5代碼紅外線遙控[J].通訊技術(shù), 2001,35(11):122-125.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。