本人利用一些業余時間研究制做了基于MSP430f5438三維超聲波測距儀的設計與制作,下面我就具體詳細的論述一下產片的設計理念和制作過程,本產品以低功耗的MSP430F5438A為基礎,MSP430F5438A作為主控芯片,用兩個舵機作為三維的控制設備,上面加上超聲波傳感器作為產品的測距,之后把超聲波測量到的數據用數碼管顯示,此產品可以實現三維空間的距離測量。舵機云臺采用兩個舵機控制,分別控制上下和左右,從而實現了三維測距.此產品的運動方向方位比較廣泛,舵機云臺可在X軸方向0——185度旋轉,撥動遙桿電位器在Y軸方向運行的也可達0——185度。超聲波測距準確性比較高,可以很好知道三維物體障礙物的具體位置。方便知道前方物體的具體方位。
這是MSP430F5438A的一些資料256K Flash,16K RAM;P1,P2 16個中斷IO口;16位CRC 校驗;16通道AD采用,200ksps,12路外部采樣,同時內置一個溫度傳感器,可以采集芯片溫度支持32位硬件乘法器;RTC實時時鐘;4個USCI,UCAx支持串口,IrDA/SPI,UCBx支持SPI/IIC15個捕捉/比較定時器JTAG/SBW(4線/2線仿真下載)UCS統一時鐘管理系統看門狗Watchdogs支持多種低功耗模式LPM支持欠壓或低壓自動復位
這是電路的核心板,上面主要有主控芯片MSP430F5438A以及它的外圍電路,最小系統等這是MSP430F5438的資料方便大家編程MSP430F5438.pdf
我核心板的電路圖轉上來供大家參加以及利用
超聲波測距模塊可實現2cm~4.5m的非接觸測距功能,擁有2.4~5.5V的寬電壓輸入范圍,靜態功耗低于2mA,自帶溫度傳感器對測距結果進行校正,同時具有GPIO,串口等多種通信方式,內帶看門狗,工作穩定可靠。
主要技術參數
本模塊實物圖及尺寸
本模塊如圖3.1和圖3.2所示:
圖3.1:US-100正面圖 圖3.2:US-100背面圖
本模塊的尺寸:45mm*20mm*1.6mm。板上有兩個半徑為1mm的機械孔,如圖3.3所示:
圖3.3:US-100尺寸圖
接口說明
本模塊共有兩個接口,即模式選擇跳線和5 Pin接口。
模式選擇跳線接口如圖4.1所示。模式選擇跳線的間距為2.54mm,當插上跳線帽時為UART(串口)模式,拔掉時為電平觸發模式。
圖4.1:模式選擇跳線接口
5 Pin接口為2.54mm間距的彎排針,如圖4.2所示:
圖4.2:5 Pin接口
從左到右依次編號1,2,3,4,5。它們的定義如下:
1號Pin:接VCC電源(供電范圍2.4V~5.5V)。2號Pin:當為UART模式時,接外部電路UART的TX端;當為電平觸發模式時,接外部電路的Trig端。3號Pin:當為UART模式時,接外部電路UART的RX端;當為電平觸發模式時,接外部電路的Echo端。4號Pin:接外部電路的地。5號Pin:接外部電路的地。電平觸發測距工作原理在模塊上電前,首先去掉模式選擇跳線上的跳線帽,使模塊處于電平觸發模式。
電平觸發測距的時序如圖5.1所示:
圖5.1:US-100測距時序圖
圖5.1表明:只需要在Trig/TX管腳輸入一個10US以上的高電平,系統便可發出8個40KHZ的超聲波脈沖,然后檢測回波信號。當檢測到回波信號后,模塊還要進行溫度值的測量,然后根據當前溫度對測距結果進行校正,將校正后的結果通過Echo/RX管腳輸出。
在此模式下,模塊將距離值轉化為340m/s時的時間值的2倍,通過Echo端輸出一高電平,可根據此高電平的持續時間來計算距離值。即距離值為:(高電平時間*340m/s)/2。
注:因為距離值已經經過溫度校正,此時無需再根據環境溫度對超聲波聲速進行校正,即不管溫度多少,聲速選擇340m/s即可。
串口觸發測距工作原理在模塊上電前,首先插上模式選擇跳線上的跳線帽,使模塊處于串口觸發模式。
串口觸發測距的時序如圖6.1所示:
在此模式下只需要在Trig/TX管腳輸入0X55(波特率9600),系統便可發出8個40KHZ的超聲波脈沖,然后檢測回波信號。當檢測到回波信號后,模塊還要進行溫度值的測量,然后根據當前溫度對測距結果進行校正,將校正后的結果通過Echo/RX管腳輸出。
輸出的距離值共兩個字節,第一個字節是距離的高8位(HDate),第二個字節為距離的低8位(LData),單位為毫米。即距離值為 (HData*256 +LData)mm。
圖6.1:串口觸發測距時序圖
在模塊上電前,首先插上模式選擇跳線上的跳線帽,使模塊處于串口觸發模式。
串口觸發測溫的時序如圖7.1所示:
在此模式下只需要在Trig/TX管腳輸入0X50(波特率9600),系統便啟動溫度傳感器對當前溫度進行測量,然后將溫度值通過Echo/RX管腳輸出。
測量完成溫度后,本模塊會返回一個字節的溫度值(TData), 實際的溫度值為TData-45。例如通過TX發送完0X50后,在RX端收到0X45,則此時的溫度值為[69(0X45的10進制值)-45] = 24度。
這是超聲波的電子資料超聲波.pdf
下面我講一下舵機的原理
舵機的工作原理。舵機常用的控制信號是一個周期為20毫秒左右,寬度為1毫秒到2毫秒的脈沖信號。當舵機收到該信號后,會馬上激發出一個與之相同的,寬度為1.5毫秒的負向標準的中位脈沖。之后二個脈沖在一個加法器中進行相加得到了所謂的差值脈沖。輸入信號脈沖如果寬于負向的標準脈沖,得到的就是正的差值脈沖。如果輸入脈沖比標準脈沖窄,相加后得到的肯定是負的脈沖。此差值脈沖放大后就是驅動舵機正反轉動的動力信號。舵機電機的轉動,通過齒輪組減速后,同時驅動轉盤和標準脈沖寬度調節電位器轉動。直到標準脈沖與輸入脈沖寬度完全相同時,差值脈沖消失時才會停止轉動,這就是舵機的工作原理。
這些就是和核心器件的結構,至于數碼管的顯示我想大家應該都會的!
下面我畫出它的程序流程圖
程序部分我給大家一點參考文件吧