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