基於stm32的超聲波資料(卡爾曼濾波處理資料)

2021-08-15 08:42:15 字數 2072 閱讀 6305

#include "sys.h"

#include "delay.h"

#include "usart.h"

#include "led.h"

#include "timer.h"

#include "beep.h"

#include "bmp.h"

#include "oled.h"

u8 table1=;//µ÷²¨éèöã

u8 table2=;

extern u8 tim5ch1_capture_sta; //êäè벶»ñ×´ì¬

extern u32 tim5ch1_capture_val; //êäè벶»ñöµ

long long temp=0;//²â¾àê±¼ä

long long s=0,s1=0,t=0,sm=0,sa=0;//¾ààë²îêý

int table=;

/*************½óêõêý¾ý******************

len ´®¿ú½óêõµ½µäêý¾ý³¤¶è

t ´«µýöµ£¬½«s1¸³¸øt£¬è¥ö´ððæäëû³ìðò

***************************************/

float recevie()

else

}//ö÷º¯êý

int main(void)

}

基於stm32的超聲波測距顯示系統

1.基本要求:利用stm32開發完成乙個超聲波測距系統(公釐級),要求能實時顯示所測距離,利用串列埠列印到電腦上,並具報警功能。

具體要求:*系統的基本測距功能

*實時顯示當前的測量數值和當前的報警閥值

*可以設定一定的報警閥值

*測距精度

*各個模組的契合度,系統的合理性流暢性

***的規範

2.系統主要模組及其主要演算法解析

超聲波模組:超聲波模組是hc-sr04。這個超聲波模組共有四個輸入口:vcc,gnd,trig(控制端),echo(測距端)。給trig乙個超過20us的高電平,就會啟動超聲波測距。

void start(void)

測距模組:利用了定時器中的輸入捕獲功能,捕獲echo口的高電平持續時間(測距時間)

float count()

return s; }

串列埠設定最小距離:利用電腦給微控制器傳資料,並顯示串列埠上。由於電腦給微控制器傳的是字元,在這裡利用了ascii碼的碼值,將字元轉換成資料,0的ascii碼是48,根據這個可以求得其他資料的ascii碼

int table1=;

float recevie()

t=s1;//½«½óêõµ½µäêý¾ý¸øµ½t

s1=0;//s1³õê¼»¯

usart_rx_sta=0;//×´ì¬î»çåáã }

return t; }

報警模組:從串列埠得到的最小距離進行判斷

精度:卡爾曼濾波:卡爾曼濾波是用來調資料精度的,剛開始加上濾波,資料會有乙個漸變的過程,使資料越加不準確。於是又回去調了一些延時,整理整個系統的時序。這個時候資料逐漸穩定,但是還是會有突然的跳變,使系統的穩定性不夠高。於是這個時候加上了濾波,資料不會再出現突然的跳變。但是在距離突然有乙個巨大的變化時,經過卡爾曼處理的資料還是不會突然的變化,有乙個漸變的過程,但是這個過程的時間減短。對比其他資料處理,這個組合處理後的資料是最穩定的。

3.總結:

我認為整個過程中最難的過程是程式除錯過程,在除錯過程中,其實到了這個時候,程式的基本的思路是有了的,但是在一些細節的處理上的不夠完善,可能導致你的資料出現乙個較大的跳變,甚至跑宕機。

1我覺得如果在寫程式過程前,首先弄清楚程式的乙個時序,也可以說是流程圖,這樣在程式除錯過程中,工作就會輕鬆許多。

2而且程式除錯前,一定要將程式備份,防止程式改崩。

3個人認為,在程式除錯過程中,最好不要推翻程式,重來,我認為工作量更大。

stm32驅動超聲波模組

define hcsr04 port gpiob define hcsr04 clk rcc apb2periph gpiob define hcsr04 trig gpio pin 8 define hcsr04 echo gpio pin 9 define trig send n dowhile...

stm32驅動超聲波模組

下面是關於stm32驅動超聲波模組的一段 有需要的朋友可以複製參考,希望對大家能夠有所幫助和啟發。define hcsr04 port gpiob define hcsr04 clk rcc apb2periph gpiob define hcsr04 trig gpio pin 8 define ...

基於STM32使用超聲波HC SR04模組

寫在前面注意的幾點 1 hc sr04模組必須使用5v供電,不能是3.3v 2 若單是測距,無需使用中斷 3 echo和trig兩個引腳可以任意接可用的gpio,和定時器無關 說一下超聲波的工作原理 微控制器給trig引腳乙個最少10us的高電平,然後拉低引腳,便啟動了模組,然後超聲波就被發了出去,...