如果單片機的ADC為12位,那么它的最大值為4095。單片機在進行AD轉換前需要先設置一個參考電壓。假如把參考電壓設置為5V,5V=4095,0V=0;根據這樣的關系,我們就可以把模擬電壓進行數字化了。比如:2V=2/5*4095=1638。

單片機通過ADC測電流

電子產品的設計中,我們往往需要加入過流保護。有了單片機ADC的協助,就可以實現這個功能。我們可以給負載串聯一個阻值較小的電阻,單片機通過AD輸入口采集這個小電阻的壓降,根據I=U/R的關系就可以計算出電流的大小。電流過大時,及時切斷負載的電源。

單片通過ADC測溫度

NTC是負溫度系數的熱敏電阻,溫度越高,電阻值越小;它的阻值變化與溫度有著一定的對應關系。使用固定阻值的精密電阻與NTC進行分壓,單片機的ADC輸入口采集分壓點的電壓。根據采集到的電壓就可以計算出NTC當前的阻值,再根據NTC阻值與溫度關系表,可以得到當前的溫度。

單片機如何處理ADC采集到的數據?

為了使測量結果更準確,在實際應用中,往往會進行多次集,然后進行軟件濾波。常見的軟件濾波方法有:

算術平均濾波法:連續采集多個數據,累加起來再進行平均

中位值濾波法:連續采集多個數據,然后從小到大排列,取中間的數值

中位值算術平均濾波法:連續采集多個數據,然后從小到大排列,去除最大和最小的數值,其它的加起來進行平均

限幅濾波法:根據經驗,如果采集到的數據偏差超出了最大值,就放棄不使用。

還有更多的軟件濾波方法就不多說了,大家可以根據實際應用需求,選用合適的軟件濾波方法。