基于ARM單片機的自動測高測距小車的研究與設(shè)計
摘要:生活中許多目標(biāo)的高度和水平距離需要進(jìn)行測量。目前主要的測量方法,仍以傳統(tǒng)的皮尺丈量為主,測量效率不高,有時還很不方便,沒有技術(shù)成熟的數(shù)字式測高測距產(chǎn)品。以基本的數(shù)學(xué)方法為理論依據(jù),利用遙控小車做為載體,采用角度傳感器測量角度、霍爾傳感器測量水平距離等,通過單片機LM3S615進(jìn)行數(shù)據(jù)計算,實現(xiàn)了對待測目標(biāo)物體的高度、水平距離等數(shù)據(jù)的快速、精確和數(shù)字式的測量,高度測量精度可達(dá)99.06%,水平測量精度則可迭98.06%。
關(guān)鍵詞:測高;測距;LM3S615;角度傳感器;霍爾傳感器;LCD液晶顯示
目前,國內(nèi)外對于測高、測距的研究主要集中在基于對衛(wèi)星、雷達(dá)等信號進(jìn)行的處理,其應(yīng)用范圍主要集中在軍事、海洋或地質(zhì)等數(shù)據(jù)的測量及勘測。應(yīng)用于解決日常生活的研究則很少,比如測量難于用傳統(tǒng)方法測量的定目標(biāo)高度、水平距離等。即使有研究也主要是采用機械方法或?qū)鹘y(tǒng)方法進(jìn)行改進(jìn)或修繕。目前發(fā)達(dá)的電子信息科學(xué)技術(shù),給這些日常生活中的高度和距離測量,提供了新的思路和解決方案。本設(shè)計將利用遙控小車做為測量工具,分別采用角度傳感器、霍爾傳感器等傳感器來獲得測量物理數(shù)據(jù)并通過單片機進(jìn)行數(shù)據(jù)處理及計算,從而實現(xiàn)對待測目標(biāo)物體的高度、水平距離等數(shù)據(jù)的快速、精確和數(shù)字式的測量。
1 理論分析與計算
1.1 設(shè)計原理分析及計算
小車自動測高測距的過程及相關(guān)參數(shù)如圖1所示。當(dāng)小車停放在A點時,遙控小車的裝置調(diào)整角度,使測量光點定點到C點,測量并存儲此時的角度α;之后,遙控控制小車前進(jìn),使小車沿直線行進(jìn)到達(dá)B點,并再次調(diào)整測量裝置,使測量光點再次定點到C點,并測量記錄此時的角度β。并對從A到B的行進(jìn)距離L進(jìn)行測量和記錄。利用以上數(shù)據(jù),就可以計算出待測目標(biāo)的高度H及小車距離待測目標(biāo)的距離S,計算式如下式(1)所示。
1.2 系統(tǒng)設(shè)計思想
從測量過程看,需要進(jìn)行測量的數(shù)據(jù)有角度α、角度β和小車行進(jìn)距離L。通過對器件的反復(fù)比較,在本設(shè)計中,采用安裝在舵機上的激光光源作為定點C點的裝置;采用角度傳感器來進(jìn)行角度的測量;采用霍爾傳感器作為距離測量的傳感器;采用單片機作為主要控制單元,來控制小車直線行進(jìn)、舵機轉(zhuǎn)動定點、角度及距離數(shù)據(jù)的獲取和計算及測量數(shù)據(jù)的LCD顯示等。
2 系統(tǒng)設(shè)計
1)總體設(shè)計方案 通過以上分析,可將系統(tǒng)分為5部分:角度檢測模塊、水平距離檢測模塊和遙控控制模塊、LCD液晶顯示模塊、信號處理以及控制模塊。系統(tǒng)框圖如圖2所示。
總體設(shè)計方案為LM3S615處理器通過角度傳感器,采集第1次角度傳感器測量信號并存儲,遙控控制小車并調(diào)節(jié)角度通過一段距離,采集第2次角度傳感器測量信號,同時利用霍爾傳感器對兩次測量間的小車行進(jìn)距離進(jìn)行測量,最終通過LM3S615處理器通過算法公式得出具體高度并送入LCD12864液晶顯示模塊進(jìn)行顯示。
2)角度信號檢測方案設(shè)計 本設(shè)計采用巨磁電阻角度傳感器,它是利用巨磁電阻在一定的磁場下電阻值急劇減小這一特性開發(fā)的角度測量傳感器。它具有線性好、線性范圍寬、體積小、靈敏度高(分辨率可以達(dá)到12位,精度達(dá)到10位,最低分辨率為0.01度)、響應(yīng)頻率高等一系列的優(yōu)點。缺點是成本較高。
3)水平距離檢測方案設(shè)計 本設(shè)計采用霍爾傳感器計數(shù)的方法進(jìn)行水平距離測量,它具有體積小、靈敏度高等優(yōu)點,而且集成化的霍爾傳感器在感應(yīng)到磁場變化時,會有一個數(shù)字量的高低電平跳變的特性,可以利用這個特性達(dá)到計數(shù)的目的。
4)控制器模塊設(shè)計 采用LM3S615ARM作為控制器,Luminary Micro StellarisTM系列的微控制器是首款基于ARMCortexTM-M3的控制器,它將高性能的32位計算引入到對價格敏感的嵌入式微控制器應(yīng)用中。考慮到精度以及運行速度要求不太高等諸多因素,決定采用LM3S168ARM作為本設(shè)計的處理器模塊。
3 系統(tǒng)實現(xiàn)
本系統(tǒng)共包含電源、角度數(shù)據(jù)信號采集、距離數(shù)據(jù)信號采集、遙控控制、數(shù)據(jù)信號控制、數(shù)據(jù)信號顯示6個主要模塊。具體介紹如下。
1)控制部分電路設(shè)計 控制部分必須完成紅外控制部分軟件解碼功能、電機運行控制功能、舵機控制功能、霍爾傳感器計數(shù)功能、激光器控制、角度傳感器數(shù)據(jù)采集功能以及LCD控制??刂撇糠蛛娐啡缦聢D3所示。
2)驅(qū)動電路 本車采用原車自帶的雙直流減速電機,74V就能很好的工作。電機驅(qū)動選用專用驅(qū)動芯片L298N,該芯片分別獨立控制兩路電機的起停和轉(zhuǎn)向,保證兩路電路的參數(shù)的對稱,有利于保持小車行駛的穩(wěn)定性和精確性,也降低了電路的設(shè)計難度。電機驅(qū)動電路如圖4所示。
4 系統(tǒng)軟件設(shè)計
本系統(tǒng)采用LM3S615ARM作為控制芯片,通過紅外遙控控制小車水平行走,調(diào)節(jié)角度傳感器采集數(shù)據(jù),每次測量一組數(shù)據(jù)將角度數(shù)據(jù)和水平行駛距離存儲并等待下一次操作。程序流程圖如圖5所示。
5 系統(tǒng)調(diào)試與測試
5.1 系統(tǒng)調(diào)試
1)舵機調(diào)試 將舵機、角度傳感器和激光器安裝好。安裝舵機時必須保證舵機能順時針旋轉(zhuǎn)90°以上,激光器與小車水平,角度傳感器的輸出電壓小于2 V。
2)小車速度控制 為使小車能走直線,系統(tǒng)使用了兩個PWM端口控制小車的左右輪速度,將其PWM占空比設(shè)為相同,然后測試修改占空比直至小車能走直線。
3)紅外軟件解碼 紅外編碼采用了脈沖位置調(diào)制方式(PPM),利用脈沖之間的時間間隔來區(qū)分“0”和“1”。調(diào)試時通過改變碼字所對應(yīng)的時間,直至能接收到正確的數(shù)據(jù)。
5.2 測試結(jié)果和結(jié)果分析
5.2.1 測試結(jié)果
1)離被測點水平距離9.26 m,以L=1 m為差值不斷前進(jìn),測同一點高度,記錄如表1所示。
2)離被測點水平距離9.26 m,以L=2 m為差值不斷前進(jìn),測同一點高度記錄,如表2所示。
3)離被測點水平距離9.26 m,以L=3 m為差值不斷前進(jìn),測同一點高度記錄,如下表3所示。
5.2.2 結(jié)果分析
從以上3表的測量結(jié)果來看其整體測量平均值為H=(3.96+4.11+4.22)/≈4.10 m,其絕對誤差約為16 cm,測量精度為96.24%。同時從3表可以看出隨著水平間距的增大其誤差漸漸變小,因此說明角α,β差值越大測量越精確,高度測量的最高精度可99.06%,水平距離最高精度可達(dá)98.06%。
6 結(jié)論
本產(chǎn)品基本上達(dá)到了設(shè)計要求的精度,在選擇好適當(dāng)?shù)牟竭M(jìn)參數(shù)時,高度測量精度可達(dá)99.06%,水平距離精度可達(dá)98.06%,相對傳統(tǒng)的測量方法更加簡單直觀;進(jìn)行一些改裝就能應(yīng)用于實際生活中,可減少對目標(biāo)物體的高度和水平距離的測量時間和提高測量精度,具有很高的經(jīng)濟價值。