找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 170|回復: 9
打印 上一主題 下一主題
收起左側(cè)

關(guān)于ADC濾波算法討論

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:401564 發(fā)表于 2025-6-26 00:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在做一個USB充電顯示電流和電壓測試儀,主要是顯示輸入電壓和充電電流的ADC全部采用算術(shù)平均算法,怎么說呢,反正能用,也正常,但有點強迫癥
電壓總是會5.06v,5.05V,5.03V之類的之間跳動,電流總是會在506mA,500mA,503mA之類的來回跳動,雖然知道這是正,F(xiàn)象,但總感覺不爽
請問各位有沒有一個比較好的算法,就是能在精確度,顯示穩(wěn)定度之間相對均衡的算法,是否可以分享一下,不要代碼,我自己擼就行,就是單純的討論一下算法問題
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:807591 發(fā)表于 2025-6-26 08:42 | 只看該作者
綜藝節(jié)目,去掉一個最高分,一個最低分。。。當然還可以統(tǒng)計相同的數(shù)值出現(xiàn)最多的,第二多的。。。。然后看著辦吧
回復

使用道具 舉報

板凳
ID:74687 發(fā)表于 2025-6-26 09:26 | 只看該作者
換個測量工具,用TI的INA3221測量
回復

使用道具 舉報

地板
ID:69038 發(fā)表于 2025-6-26 09:41 | 只看該作者
我也曾做過類同的,采用的的“算法”就是采樣20次,去掉2個高值、2個低值,余下平均即可。

記得有個大佬寫的一本書《匠人手記》,其中有介紹10多種濾波算法,你可以找來借鑒一下。
回復

使用道具 舉報

5#
ID:996773 發(fā)表于 2025-6-26 09:56 | 只看該作者
別人怎么做我不知道,我會在單片機ad那個腳加個小電容,隔半秒或一秒讀取一次再去顯示
回復

使用道具 舉報

6#
ID:1121801 發(fā)表于 2025-6-26 09:57 | 只看該作者
不知道,聽說算法都很燒腦,大學學過的什么傅立葉算法等等我現(xiàn)在看著就感覺腦子里有個攪拌機,攪得一團混亂
回復

使用道具 舉報

7#
ID:74687 發(fā)表于 2025-6-26 10:52 | 只看該作者
用軟件的方法基本是在做無用功
回復

使用道具 舉報

8#
ID:108361 發(fā)表于 2025-6-26 10:55 | 只看該作者
可以試試一階低通濾波,但是影響響應速度,想要響應和收斂都有比較好的表現(xiàn),還是卡爾曼濾波
回復

使用道具 舉報

9#
ID:108361 發(fā)表于 2025-6-26 10:56 | 只看該作者
hi等你 發(fā)表于 2025-6-26 09:56
別人怎么做我不知道,我會在單片機ad那個腳加個小電容,隔半秒或一秒讀取一次再去顯示

你這個,只適合低速變化的信號,對于需要高速實時采樣比如無人機,就不適用了
回復

使用道具 舉報

10#
ID:155507 發(fā)表于 2025-6-26 11:04 | 只看該作者
注意接地,注意VREF電壓和噪聲,有獨立AVCC的注意AVCC電壓和噪聲
10位的ADC和12位的ADC的不同。5V下10位的ADC分辨率一位是4.88mV,12位是1.22mV,有可能你的電路有大于1mV小于4mV的紋波或者噪聲,導致10位的結(jié)果不跳動而12位的跳動。
可以觀察一下ADC數(shù)值跳動的范圍,看看峰峰值大概多大。
看一下只采集一個通道數(shù)據(jù)跳不跳,也有可能是通道切換的時候采樣保持電容串擾了。
增加 ADC 的采樣時間,轉(zhuǎn)換時間是固定的 12個 ADC 時鐘
先檢查自己的硬件,STC的ADC本身是很小跳動的,你有大跳動,檢查你的電源紋波、參考電壓紋波、輸入信號紋波。12位ADC、2.5V參考,分辨率是0.61mV,你示波器看看你的電路上述參數(shù)的紋波,就會明白為什么跳動。
使用1/16 IIR濾波: v= ((v << 4) - v + v_new) >> 4;
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表