基于STM32的A/D采樣軟件濾波改進(jìn)算法研究
發(fā)布時(shí)間:2021-04-09 10:34
在工程實(shí)踐和實(shí)驗(yàn)中,經(jīng)常要對(duì)經(jīng)過(guò)A/D轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行采集,但由于存在外界干擾和電路設(shè)計(jì)不合理等因素,將會(huì)導(dǎo)致數(shù)據(jù)不停的跳變,非常不穩(wěn)定。為了改善這種情況,有效地去除干擾,提出一種改進(jìn)的軟件濾波算法。采用STM32作為高速處理器,對(duì)16個(gè)通道的A/D連續(xù)采樣1 600次,每個(gè)通道采集100次,將采樣到的數(shù)據(jù)通過(guò)內(nèi)部的高速DMA通道傳送到內(nèi)存的數(shù)組中。首先對(duì)每個(gè)通道的100個(gè)數(shù)據(jù)進(jìn)行冒泡排序,去掉排序后的前后各10個(gè)數(shù)據(jù),用剩余的80個(gè)數(shù)據(jù)再取平均值。測(cè)試結(jié)果表明:這種改進(jìn)的均值濾波算法,能夠有效的去除跳變的干擾數(shù)據(jù),使得處理后的數(shù)據(jù)變得穩(wěn)定、可靠,提高了精度和穩(wěn)定性。
【文章來(lái)源】:儀表技術(shù)與傳感器. 2016,(03)北大核心CSCD
【文章頁(yè)數(shù)】:3 頁(yè)
【部分圖文】:
電流檢測(cè)電路
盡?圖2電流檢測(cè)電路圖2中為了檢測(cè)流過(guò)電阻R1的電流大小,建立了一個(gè)正反饋放大電路,放大倍數(shù)為1+R4/R3=51,流過(guò)負(fù)載R1的電流變化范圍是0.25~0.35A,由此可計(jì)算得到輸入給STM32的PA0的電壓變化范圍是1.275~1.785V。檢測(cè)到電壓后,通過(guò)I=U/R,即可求得流過(guò)負(fù)載R1的電流大校1.3顯示電路簡(jiǎn)介顯示電路采用12864接口的ILI9325,可以在液晶屏上顯示采集到的16路電壓值。2詳細(xì)設(shè)計(jì)及關(guān)鍵技術(shù)2.1軟件流程圖在進(jìn)行STM32F103軟件開(kāi)發(fā)時(shí),編程語(yǔ)言采用C語(yǔ)言,編譯環(huán)境為MDK5.0軟件,流程圖如圖3所示。圖3軟件流程圖在編程時(shí),首先初始化ADC的16個(gè)通道為連續(xù)掃描模式,采集完1600次后啟動(dòng)DMA通道將1600個(gè)數(shù)據(jù)高速傳送到內(nèi)存數(shù)組中,傳送完成后產(chǎn)生DMA中斷[7]。在DMA中斷中,首先關(guān)掉A/D采集,對(duì)1600個(gè)數(shù)據(jù)中每個(gè)通道的100個(gè)數(shù)據(jù)進(jìn)行冒泡排序,然后去掉排序后的最大值和最小值各20個(gè),用剩下的80個(gè)數(shù)據(jù)求平均值,最后將其送到TFT真彩屏上去顯示。2.2ADC初始化程序代碼voidAdc1_Init(void){rcc->apb2enr|=1<<2;//使能時(shí)鐘rcc->apb2enr|=1<<4;//使能時(shí)鐘rcc->apb2enr|=1<<3;gpiob->crl&=0xffffff00;gpioa->crl&=0x0000000;gpioc->crl&=0xff000000;rcc->apb2enr|=1<<9;delay_ms(10);rcc->apb2rstr|=1<<9;//adc1復(fù)位rcc->apb2rstr&=~(1<<9);rcc->cfgr&=~(3<<14);rcc->cfgr|=2<<14;//6分頻adc1->cr1&=0xf0ffff;adc1->cr1|=0<<16;//獨(dú)立工作模式adc1->cr1|=1<<8;//掃描模式adc1->cr2|=1<<1;//啟用連續(xù)轉(zhuǎn)換adc1->cr2&=~(7<<17);adc1->cr2|=7<<17;//軟件控制轉(zhuǎn)換adc1->cr2|=1<<20;adc1->cr2&=~(1<<11);//?
DC=1.6V無(wú)排序求均恤栩到ND值
【參考文獻(xiàn)】:
期刊論文
[1]基于卡爾曼濾波的超聲波電動(dòng)機(jī)測(cè)速算法研究[J]. 黃帆,金龍,徐志科,潘鵬. 微特電機(jī). 2015(11)
[2]基于智能算法優(yōu)化卡爾曼濾波器的電機(jī)轉(zhuǎn)速估計(jì)[J]. 張秀國(guó). 實(shí)驗(yàn)室研究與探索. 2015(09)
[3]基于卡爾曼濾波的光學(xué)遙感影像高精度復(fù)原處理[J]. 張炳先,王密,潘俊. 武漢大學(xué)學(xué)報(bào)(信息科學(xué)版). 2015(07)
[4]基于改進(jìn)均值濾波和參數(shù)擬合的礦井TOA幾何定位方法[J]. 孫繼平,李晨鑫. 煤炭學(xué)報(bào). 2015(05)
[5]血壓脈搏振蕩波的三重軟件濾波提取算法[J]. 許永峰,賀玉成,周林. 電子測(cè)量與儀器學(xué)報(bào). 2015(03)
[6]基于光電傳感器的脈搏信號(hào)采集電路優(yōu)化設(shè)計(jì)[J]. 龔中良,李曜. 電子器件. 2014(04)
[7]基于FPGA的軟件濾波算法設(shè)計(jì)及實(shí)現(xiàn)[J]. 彭巧君,任勇峰,王強(qiáng),劉占峰,陳倩. 科學(xué)技術(shù)與工程. 2014(03)
本文編號(hào):3127468
【文章來(lái)源】:儀表技術(shù)與傳感器. 2016,(03)北大核心CSCD
【文章頁(yè)數(shù)】:3 頁(yè)
【部分圖文】:
電流檢測(cè)電路
盡?圖2電流檢測(cè)電路圖2中為了檢測(cè)流過(guò)電阻R1的電流大小,建立了一個(gè)正反饋放大電路,放大倍數(shù)為1+R4/R3=51,流過(guò)負(fù)載R1的電流變化范圍是0.25~0.35A,由此可計(jì)算得到輸入給STM32的PA0的電壓變化范圍是1.275~1.785V。檢測(cè)到電壓后,通過(guò)I=U/R,即可求得流過(guò)負(fù)載R1的電流大校1.3顯示電路簡(jiǎn)介顯示電路采用12864接口的ILI9325,可以在液晶屏上顯示采集到的16路電壓值。2詳細(xì)設(shè)計(jì)及關(guān)鍵技術(shù)2.1軟件流程圖在進(jìn)行STM32F103軟件開(kāi)發(fā)時(shí),編程語(yǔ)言采用C語(yǔ)言,編譯環(huán)境為MDK5.0軟件,流程圖如圖3所示。圖3軟件流程圖在編程時(shí),首先初始化ADC的16個(gè)通道為連續(xù)掃描模式,采集完1600次后啟動(dòng)DMA通道將1600個(gè)數(shù)據(jù)高速傳送到內(nèi)存數(shù)組中,傳送完成后產(chǎn)生DMA中斷[7]。在DMA中斷中,首先關(guān)掉A/D采集,對(duì)1600個(gè)數(shù)據(jù)中每個(gè)通道的100個(gè)數(shù)據(jù)進(jìn)行冒泡排序,然后去掉排序后的最大值和最小值各20個(gè),用剩下的80個(gè)數(shù)據(jù)求平均值,最后將其送到TFT真彩屏上去顯示。2.2ADC初始化程序代碼voidAdc1_Init(void){rcc->apb2enr|=1<<2;//使能時(shí)鐘rcc->apb2enr|=1<<4;//使能時(shí)鐘rcc->apb2enr|=1<<3;gpiob->crl&=0xffffff00;gpioa->crl&=0x0000000;gpioc->crl&=0xff000000;rcc->apb2enr|=1<<9;delay_ms(10);rcc->apb2rstr|=1<<9;//adc1復(fù)位rcc->apb2rstr&=~(1<<9);rcc->cfgr&=~(3<<14);rcc->cfgr|=2<<14;//6分頻adc1->cr1&=0xf0ffff;adc1->cr1|=0<<16;//獨(dú)立工作模式adc1->cr1|=1<<8;//掃描模式adc1->cr2|=1<<1;//啟用連續(xù)轉(zhuǎn)換adc1->cr2&=~(7<<17);adc1->cr2|=7<<17;//軟件控制轉(zhuǎn)換adc1->cr2|=1<<20;adc1->cr2&=~(1<<11);//?
DC=1.6V無(wú)排序求均恤栩到ND值
【參考文獻(xiàn)】:
期刊論文
[1]基于卡爾曼濾波的超聲波電動(dòng)機(jī)測(cè)速算法研究[J]. 黃帆,金龍,徐志科,潘鵬. 微特電機(jī). 2015(11)
[2]基于智能算法優(yōu)化卡爾曼濾波器的電機(jī)轉(zhuǎn)速估計(jì)[J]. 張秀國(guó). 實(shí)驗(yàn)室研究與探索. 2015(09)
[3]基于卡爾曼濾波的光學(xué)遙感影像高精度復(fù)原處理[J]. 張炳先,王密,潘俊. 武漢大學(xué)學(xué)報(bào)(信息科學(xué)版). 2015(07)
[4]基于改進(jìn)均值濾波和參數(shù)擬合的礦井TOA幾何定位方法[J]. 孫繼平,李晨鑫. 煤炭學(xué)報(bào). 2015(05)
[5]血壓脈搏振蕩波的三重軟件濾波提取算法[J]. 許永峰,賀玉成,周林. 電子測(cè)量與儀器學(xué)報(bào). 2015(03)
[6]基于光電傳感器的脈搏信號(hào)采集電路優(yōu)化設(shè)計(jì)[J]. 龔中良,李曜. 電子器件. 2014(04)
[7]基于FPGA的軟件濾波算法設(shè)計(jì)及實(shí)現(xiàn)[J]. 彭巧君,任勇峰,王強(qiáng),劉占峰,陳倩. 科學(xué)技術(shù)與工程. 2014(03)
本文編號(hào):3127468
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/3127468.html
最近更新
教材專著