當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于ARM單片機(jī)的裝載機(jī)障礙物監(jiān)測預(yù)警系統(tǒng)設(shè)計(jì)

1 引言

  隨著信息化、智能化、網(wǎng)絡(luò)化的發(fā)展,嵌入式系統(tǒng)技術(shù)獲得廣闊的發(fā)展空間,工業(yè)控制領(lǐng)域也進(jìn)行著一場巨大的變革,以32位高端處理器為平臺的實(shí)時(shí)嵌入式軟硬件技術(shù)將應(yīng)用在工業(yè)控制的各個(gè)角落。嵌入控制器因其體積小、可靠性高、功能強(qiáng)、靈活方便等許多優(yōu)點(diǎn),其應(yīng)用已深入到工業(yè)、農(nóng)業(yè)、教育、國防、科研以及日常生活等各個(gè)領(lǐng)域,對各行各業(yè)的技術(shù)改造、產(chǎn)品更新?lián)Q代、加速自動化化 進(jìn)程、提高生產(chǎn)率等方面起到了極其重要的推動作用[1]。

  現(xiàn)今,國內(nèi)外雖有部分車輛安裝了超聲波倒車防撞報(bào)警裝置、基于DSP的智能車輛防撞系統(tǒng)、圖像處理技術(shù)的汽車追尾預(yù)警系統(tǒng)等,但是用于像裝載機(jī)這種廣泛用于城建、礦山、公路等工程的工程機(jī)械的障礙物監(jiān)測預(yù)警系統(tǒng)卻沒有發(fā)現(xiàn)。所以建立一個(gè)對障礙物進(jìn)行監(jiān)測預(yù)警的系統(tǒng),提前為駕駛員提供危險(xiǎn)信號,讓駕駛員能及時(shí)采用有效措施是減少事故的有效方法[2~5]。

2 系統(tǒng)硬件設(shè)計(jì)

  本系統(tǒng)以裝載機(jī)為研究對象,以實(shí)現(xiàn)信號采集、調(diào)理、傳送、顯示和預(yù)警為目的。把系統(tǒng)劃分為障礙物距離信號采集模塊、LCD顯示模塊、聲光報(bào)警模塊和處理器模塊這四個(gè)部分。其中以處理器為核心,通過總線和接口電路把信號輸入和輸出相連。系統(tǒng)做成框圖如圖1所示。

圖1 系統(tǒng)組成框圖

  該Mini ARM模塊集成有C2290微控制器最小系統(tǒng),USB主機(jī)控制器、10M以太網(wǎng)通信控制器以及NAND FLASH 電子盤,其硬件資源主要有:2M NOR FLASH、16K SRAM、2M/8M Bytes PSRAM、10M 以太網(wǎng)接口、2 路USB-Host 控制器、集成電子盤、2 路CAN控制器以及RTC等[6]。

  LCD顯示模塊使用內(nèi)置T6963C的液晶顯示模塊,該模塊上已經(jīng)實(shí)現(xiàn)了T6963C與行、列驅(qū)動器及顯示緩沖區(qū)RAM 的接口。

2.1 障礙物距離檢測電路的設(shè)計(jì)

  對于障礙物的檢測方法有超聲波測距法、圖像處理法、激光測距法等。但是由于超聲波傳感器具有信息處理簡單、價(jià)格低廉、制作方便等優(yōu)點(diǎn)。本系統(tǒng)采用超聲波測距法來對障礙物的距離進(jìn)行檢測。

(1)超聲波測距的原理

  超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計(jì)時(shí)。超聲波在空氣中的傳播速度為c,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離s[7],即s=ct/2 (1)。

(2)超聲波測距電路

  在本系統(tǒng)中超聲波測距電路是由MICROCHIP的PIC16C57設(shè)計(jì)而成的,選用的超聲波傳感器是T/R40-16壓電陶瓷傳感器。在工作中,主控器PIC16C57發(fā)出信號使發(fā)射端的超聲波換能器發(fā)出加以電壓激勵,其受激勵后以脈沖的形式發(fā)射超聲波,當(dāng)超聲波接收器接收到回波信號時(shí),傳回到主控器中,從脈沖信號開始發(fā)射時(shí)主控器中的定時(shí)器便開始計(jì)時(shí),接收到回波信號時(shí)停止計(jì)時(shí)。所側(cè)出的時(shí)間間隔再乘以聲速就得到了兩倍的距離值。從而計(jì)算出障礙物到發(fā)射點(diǎn)的距離。其電路圖如圖2所示。

圖2 超聲波測距電路圖[!--empirenews.page--]

  距離值通過PIC16C57的10腳進(jìn)行串行輸出,經(jīng)MAX232芯片后與ARM的串口相連。芯片MAX232是為RS232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,它完成TTL電平和RS232電平的轉(zhuǎn)換[8]。

2.2 聲光報(bào)警電路設(shè)計(jì)

  本系統(tǒng)要求根據(jù)影響裝載機(jī)穩(wěn)定性的障礙物距離的臨界值對危險(xiǎn)狀況進(jìn)行三級報(bào)警。當(dāng)處于低危險(xiǎn)狀況時(shí),只有指示燈綠燈被點(diǎn)亮,提醒駕駛者注意;當(dāng)危險(xiǎn)級別增高時(shí),指示燈黃燈點(diǎn)亮,同時(shí)伴隨有舒緩的蜂鳴聲,提醒駕駛者采取措施;當(dāng)達(dá)到最高危險(xiǎn)級別時(shí),指示燈紅燈被點(diǎn)亮,同時(shí)蜂鳴聲由舒緩轉(zhuǎn)為急促,提醒駕駛者趕緊制動。
設(shè)計(jì)中,分別采用了LPC2290的P2.20(GPIOA4)驅(qū)動綠色LED,P2.21(GPIOA5)驅(qū)動黃色LED, P2.22(GPIOA6)驅(qū)動紅色LED,P2.23(GPIOA7)驅(qū)動蜂鳴器。所設(shè)計(jì)的報(bào)警電路如圖3所示。

圖3 報(bào)警電路圖

3 系統(tǒng)軟件設(shè)計(jì)

  常用的嵌入式操作系統(tǒng)有VxWorks、Windows CE、嵌入式Linux和μC/OS-Ⅱ等,由于μC/OS-Ⅱ嵌入式系統(tǒng)具有公開源代碼,具有實(shí)時(shí)多任務(wù)內(nèi)核來進(jìn)行多任務(wù)調(diào)度等優(yōu)點(diǎn)[9],所以本系統(tǒng)選用μC/OS-Ⅱ嵌入式操作系統(tǒng)。

  由于采用模塊化編程,所以μC/OS-II下系統(tǒng)任務(wù)的劃分也是基于不同的功能模塊,每一個(gè)模塊被分解成一個(gè)或者多個(gè)任務(wù),每個(gè)任務(wù)被安排一個(gè)優(yōu)先級。這樣,一旦這些任務(wù)被建立起來,它們之間的調(diào)度情況就完全由μC/OS-II來完成。結(jié)合本系統(tǒng)的設(shè)計(jì)需求,程序中創(chuàng)建串口通信任務(wù)、報(bào)警任務(wù)、LCD顯示任務(wù)。其軟件流程框圖如圖4所示。

圖4 軟件流程框圖

  上電后,首先進(jìn)行硬件的初始化,然后對μC/OS-II操作系統(tǒng)進(jìn)行初始化,建立任務(wù),進(jìn)行多任務(wù)調(diào)度。μC /OS - II的任務(wù)調(diào)度是搶占式的,所以在設(shè)置任務(wù)優(yōu)先級的時(shí)候應(yīng)該盡量考慮任務(wù)對實(shí)時(shí)性的要求。即使兩個(gè)任務(wù)的重要性是相同的,它們也必須有優(yōu)先級上的差異,這也就意味著高優(yōu)先級的任務(wù)在處理完成后必須進(jìn)入等待或掛起狀態(tài),否則低優(yōu)先級的任務(wù)永遠(yuǎn)也不可能執(zhí)行。本系統(tǒng)中設(shè)置串口通信任務(wù)的優(yōu)先級高于液晶顯示任務(wù),液晶顯示任務(wù)的優(yōu)先級又高于報(bào)警任務(wù)。

  1.串口通信任務(wù)完成超聲波測距部分與ARM處理器之間的數(shù)據(jù)傳輸。串口通信部分主要包括兩部分內(nèi)容:用戶接口函數(shù)和任務(wù)函數(shù)。串口共有5個(gè)用戶接口函數(shù),分別為deopen()、dclose()、dread()、dwrite()和diocontrol()。

  超聲波測距裝置和LPC2290進(jìn)行通信的部分程序代碼如下:
diocontrol(Uart0_Handles,UART0_SET_MODE, (void *)&Mode0); // 設(shè)置UART 模式
diocontrol(Uart0_Handles,UART0_SET_TIMEROUT,(void *)5); // 設(shè)置接收超時(shí)因子, 參數(shù) =0 則關(guān)閉超時(shí)
diocontrol(Uart0_Handles, UART0_CLR_FIFO, (void *)0); // 清空接收軟FIFO
while (1)
{Rece_Count=dread(Uart0_Handles, UART_Rece
_Buff,1); //讀取超聲波發(fā)送過來的第一個(gè)起始字節(jié),放入緩沖區(qū)
if((Rece_Count>0)&&(UART_Rece_Buff[0]== ’@’)) //如果讀取成功且第一個(gè)字節(jié)為‘@’
{dread(Uart0_Handles,&UART_Rece_Buff[1],3); //接收后三位字節(jié),分別為百位數(shù)、十位數(shù)、個(gè)位數(shù)
for(i=1;i<4;i++)
UART_Rece_Buff[i]=UART_Rece_Buff[i]+48; //將十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼值
for(i=0;i<3;i++)
sbuff[i]=UART_Rece_Buff[i+1]; //接收的數(shù)據(jù)緩存到數(shù)組中,供LCD顯示部分調(diào)用
}
}[!--empirenews.page--]

  2.液晶顯示任務(wù)主要是把ARM處理器中超聲波傳過來的數(shù)據(jù)顯示到液晶屏上,以方便駕駛員能實(shí)時(shí)看到障礙物的距離值。

  顯示文字的部分程序代碼如下:
{ uint32 addr;
uint8 i;
for (i=0;i<24;i++)
/* 找出目標(biāo)地址 */
{ addr = (y+i)*(GUI_LCM_XMAX>>3) + (x>>3);
LCD_WriteTCommand3(LCD_ADR_POS, addr&0xFF, addr>>8); // 置地址指針
/* 輸出數(shù)據(jù) */
LCD_WriteTCommand2(LCD_INC_WR, *Buff);
Buff++;
LCD_WriteTCommand2(LCD_INC_WR, *Buff);
Buff++;
LCD_WriteTCommand2(LCD_INC_WR,*Buff);
Buff++;
LCD_WriteTCommand2(LCD_NOC_WR,*Buff);
Buff++; }
LCD_WriteTCommand3(LCD_ADR_POS, 0x00, 0x00);
// 重置地址指針
}

  3.報(bào)警任務(wù)主要是通過ARM處理器把障礙物的距離值與不同報(bào)警條件下的臨界值進(jìn)行比較,并完成相應(yīng)的報(bào)警顯示。

4 調(diào)試及結(jié)果

  系統(tǒng)調(diào)試用到了ADS集成開發(fā)環(huán)境及EasyJTAG-H仿真器。當(dāng)把程序編寫好并把EasyJTAG-H仿真器的JTAG接口與MiniARM產(chǎn)品相連后,便可用調(diào)試軟件把程序下載到ARM板上,進(jìn)行試驗(yàn)。

  超聲波每檢測一次串口輸出一組數(shù)據(jù),數(shù)據(jù)傳輸?shù)牟ㄌ芈蕿?600,包括一個(gè)起始位和三位數(shù)據(jù)位。結(jié)果表明:微處理器對不符合所設(shè)定格式的數(shù)據(jù)幀沒有響應(yīng),不接收所發(fā)送過來的數(shù)據(jù),只對滿足要求的數(shù)據(jù)才進(jìn)行相應(yīng)的處理。

  超聲波檢測的數(shù)據(jù)經(jīng)調(diào)試結(jié)果表明,能及時(shí)的在LCD液晶顯示屏上準(zhǔn)確的顯示出來,通訊穩(wěn)定性高。同時(shí)對各種危險(xiǎn)情況能準(zhǔn)確的顯示其相應(yīng)的報(bào)警現(xiàn)象。

  本系統(tǒng)的精度分析,我們把超聲波傳感器的測量值與實(shí)際值進(jìn)行比較繪制了如下表1。


表1 障礙物距離測量值與實(shí)際值對照表

 
  當(dāng)障礙物距離大于10m時(shí),發(fā)現(xiàn)超聲波傳感器測量數(shù)據(jù)發(fā)生嚴(yán)重失真,經(jīng)分析和實(shí)驗(yàn)可得本系統(tǒng)對障礙物距離檢測的最大值為9.99m,同時(shí)由表1數(shù)據(jù)經(jīng)分析計(jì)算可知測量誤差≤0.01m。

5 結(jié)論

  所設(shè)計(jì)的對裝載機(jī)障礙物距離的監(jiān)測預(yù)警系統(tǒng),是以Mini ARM作為處理器針對裝載機(jī)的工作場地及需要監(jiān)測的距離信號來考慮的,通過試驗(yàn)驗(yàn)證,該系統(tǒng)已完成了所需的功能要求,最大測量值為9.99m,誤差≤0.01m。安裝非常方便,便于使用。但該系統(tǒng)還有一個(gè)不足,即用超聲波傳感器檢測車輛前方路面信息時(shí),如果是凸起的障礙物能有效的檢測到,但當(dāng)前方為凹坑時(shí)便檢測不出來,所以有待于進(jìn)一步研究。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉