1. 單片機A/D采樣
假設一個系統使用12位的ADC,每秒輸出一個溫度值(1Hz)。為了將測量解析度增加到16位,我們按下式計算過采樣頻率:
因此,如果我們以fs=256Hz的采樣頻率對溫度感測器進行過采樣,我們將在所要求的采樣周期內採集到足夠的樣本,對這些樣本求均值便可得到16位的輸出數據。為此,我們先累加(將256個連續樣本加在一起),然後將總和除以16(或將總和右移4位)。這樣的過程通常被稱為抽取。這樣得到的結果是16位的有用數據,所做的操作被稱為累加和抽取。一旦我們計算得到由256個樣本(對本例而言)所產生的結果,我們將對數據進行保存或處理,然後開始為下一個輸出字採集樣本。
註:用於累加過采樣數據和進行除法運算的存儲器單元所佔的位元組數必須足夠多,以免發生溢出或產生截斷錯誤。
2. AVR單片機如何提高AD採集精度抗干擾,去除雜訊這些,請提供一些解決方案。請大俠幫個忙。
1.加強模擬電壓的濾波,信號源穩定是第一位要考慮的,否則後續處理會很累,需要用很多辦法,耗費單片機機時。同時要注意模擬地和數字地分開布線。
2.由於M128的內部精度是固定的,要想再提高精度就需要採用「過采樣」技術。條件是需要白雜訊的環境,通過用每4倍過采樣來, 提高1位的解析度。
3.軟體濾波。濾波的方法很多,建議你搜 「經典軟體濾波」 有很詳細的說明。文章列舉了各種軟體濾波的方法,並評價其優缺點。
3. C8051單片機編程中,實現AD轉換,實現平均值濾波,參考電壓為VDD=3.3V,為什麼將過采樣次數定為3300,這兩
參考電壓選擇3.3V的原因是為了方便,C8051系列單片機是低功耗單片機,正常工作電壓3.3V,單端輸入AD電壓基準可以在3.3V以內任意選取(雖然單片機可耐5V電壓,但是為了保險起見還是3.3V為好),所以電壓基準一般直接選擇3.3V,這樣直接使用電源做基準即可,不用另加晶元,有的是選擇2.5V(TL431做基準)
采樣次數也是可以任意選定的,與電源基準沒有關系,只要你AD實時顯示的頻率滿足要求,采樣次數越大,AD顯示的數字越穩定,如果你AD使用的是變化速度很快的加速度感測器之類,建議使用卡曼濾波。
4. 提高單片機AD解析度的問題
一般情況下要是想用10-bit的ad晶元得到12bit的數據就只能用過采樣的方法了,但是這是一種演算法,類似於數值分析的方法,所以轉換的准確性肯定沒有12bit的AD效果好,不考慮成本還是選用12bit的AD吧,如果採用過采樣的方法,你的程序中肯定就有對ad數據的額外處理,這樣勢必增加程序的長度,影響系統的實時性。