喻文倩(西南科技大學(xué),四川 綿陽 621010)
基于US-100超聲波測距儀設(shè)計
喻文倩
(西南科技大學(xué),四川綿陽621010)
由STM32作為控制器,選用US-100超聲波模塊作為傳感器,利用聲速測量距離。利用TFTLCD顯示屏和上位機(jī)作為結(jié)果顯示窗口,當(dāng)測量距離小于150mm時,蜂鳴器報警。
ARM;US-100超聲波測距模塊;聲速測距
超聲波指向性強(qiáng),在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現(xiàn)。利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能達(dá)到工業(yè)實用的要求。
系統(tǒng)總體設(shè)計框圖如圖1,可以看到,超聲波測距主要是由STM 32控制器,TFTLCD顯示屏,上位機(jī)作為顯示,US-100超聲波測距模塊作為傳感器。當(dāng)控制器給傳感器開始工作的信號時,傳感器開始工作,并返回測試的數(shù)據(jù),通過TFTLCD顯示屏和上位機(jī)顯示測量結(jié)果。當(dāng)測量距離小于150mm時,蜂鳴器報警。
3.1STM32F103控制器
STM 32F1系列屬于中低端的32位ARM微控制器,其內(nèi)核是Cortex-M 3。工作頻率可高達(dá)72M hz,內(nèi)置高速64KBSRAM存儲器;外設(shè)包512KBFLASH、2個基本定時器、4個通用定時器、2個高級定時器、3個SPI、2個IIC、5個串口、1個USB、1個CAN、3個12位ADC、1個12位DAC、1個SD IO接口、1個FSMC接口以及112個通用IO口。
3.2US-100 超聲波測距模塊接口
US-100超聲波測距模塊可實現(xiàn)2cm~4.5m的非接觸測距功能,擁有2.4~5.5V的寬電壓輸入范圍,靜態(tài)功耗低于2mA,自帶溫度傳感器對測距結(jié)果進(jìn)行校正,同時具有GPIO,串口等多種通信方式,內(nèi)帶看門狗,工作穩(wěn)定可靠。
將實物與開發(fā)板連接如圖2所示:(US-100正面從左向右一次為1-5口)
4.1總體軟件設(shè)計
測距的過程可以分為三個部分,分別為:控制器資源配置、US-100的時序模擬測量過程及數(shù)據(jù)處理、顯示及判斷測量距離是否小于150mm。
4.1.1控制器的資源配置
#ifndef__TIMER_H#defi ne__TIMER_H
#include"sys.h"
voidGPIOA1_Init(void);voidGPIOA3_Init(void);
voidTIM 3_Int_Init(u16arr,u16psc);voidTIM 3_PWM_Init(u16arr,u16psc);
voidTIM 5_Cap_Init(u16arr,u16psc);voidTIM 4_Cap_Init(u16arr,u16psc);
#endif
定時器5通道1輸入捕獲配置:
voidGPIOA 1_Init(void)
初始化定時器5TIM 5:
voidTIM 5_Cap_Init(u16arr,u16psc)
中斷分組初始化:
NVIC_InitStructure.NVIC_IRQChannel = TIM 5_IRQn; //TIM 3中斷
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; //先占優(yōu)先級2級
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //從優(yōu)先級0 級
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure); //根據(jù)NVIC_InitStruct中指定的參數(shù)初始化外設(shè)
TIM_ITConfig(TIM 5,TIM_IT_Update|TIM_IT_CC1,ENABLE);//,允許CC1IE捕獲中斷TIM_Cmd(TIM 5,ENABLE); //使能定時器5定時器5中斷服務(wù)程序:void TIM 5_IRQHand ler(void)
在主程序中調(diào)用定時器:TIM 5_Cap_Init(0XFFFF,72-1);//以1Mhz的頻率計數(shù)
4.1.2US-100的時序模擬測量過程
由TRIG_Send發(fā)送高電平,延時20us:
GPIO_SetBits(GPIOA,GPIO_Pin_1);
delay_us(20);
GPIO_ResetBits(GPIOA,GPIO_Pin_1);
根據(jù)時間,距離計算公式為distance=times*10e-4*340/2*10e3=times*34/2,
{tem p=TIM 5CH1_CAPTURE_STA&0X3F;
temp*=65536;//溢出時間總和
temp+=TIM 5CH1_CAPTURE_VAL;//得到總的高電平時間
TIM 5CH 1_CAPTURE_STA=0;//開啟下一次捕獲
distance=temp*0.17;}
4.1.3顯示測量結(jié)果,并判斷數(shù)據(jù)是否小于150mm LCD_ShowNum(140,50,distance,4,16);
delay_ms(2000);
i++;
if(distance<=150)
{BEEP=1;}//如果距離小于150蜂鳴器報警
if(distance>150)
{BEEP=0;}//如果距離大于150蜂鳴器關(guān)閉
if(i%20==0)
{printf("D istance:%dcm ",distance);}
本文重點敘述了如何使用US100制作超聲波測距儀。利用STM 32設(shè)計軟件,通過硬件US100實現(xiàn)。從設(shè)計過程可以看出該儀器原理簡單、制作方便、成本低。但是當(dāng)要測量距離較遠(yuǎn)的目標(biāo)時,由于外界環(huán)境的干擾,一方面聲波發(fā)散而使能量降低,另一方面使分辨力下降,從而使得準(zhǔn)確度下降,造成測量數(shù)據(jù)不準(zhǔn)確。所以該設(shè)計一般用于近距離的測量。
[1]劉林茂.一種特殊構(gòu)件粘接缺陷的超聲波檢測[J].無損檢測,2010(01).
[2]鄧大勇.鋼板超聲波檢測基準(zhǔn)靈敏度確定的詮釋[J].青海電力,2008(02).
[3]劉金平,胡斌定.大型鋼橋箱型梁超聲波檢測[J].無損探傷,2009(06).
喻文倩(1994—),女,四川成都人,本科,研究方向:電氣工程及其自動化。