資料介紹
本文來解析一個盆友在使用STM32采集電池電壓踩過的坑。以STM32F4 的ADC屬于逐次逼近SAR 型ADC為例進行分析,參考STM32F405xx ?Datasheet,對于如何編寫ADC程序就不做描述了。
先描述一下坑
采集電池電壓,利用兩個電阻將電池電壓分壓,然后送入單片機,當電阻如上分別取4M歐/1M歐時,ADC采集到的ADC值與萬用表測得的ADC輸入端相差很大,取30K歐以及10k歐時,則相差變小。
盆友咨詢我這是為什么?我給出了建議,先賣個關子,先來看看應用最為廣泛的STM32單片機的一些特性。
STM32 ADC:
STM32 12位ADC是逐次逼近型的模數轉換器。它有多達19個多路復用通道,允許它測量來自16個外部源、2個內部源和VBAT通道的信號。通道的A/D轉換可以在單次、連續、掃描或間斷模式下進行。ADC的結果存儲在左對齊或右對齊的16位數據寄存器中。模擬看門狗功能允許應用程序檢測輸入電壓是否超過用戶定義的、更高或更低的閾值。
主要功能,具體操作,怎么編程這些細節,有大量的資料就不羅嗦了,主要來看看電氣特性。
電氣特性
1、ADC 可支持采樣頻率fADC受供電電壓影響,供電電壓高,可支持采樣頻率范圍更高
2、可支持輸入電壓VAIN范圍須在參考電壓范圍內
3、外部輸入阻阻抗RAIN最大為
4、開關切換阻抗RADC 最大為
5、內部采樣保持電容CADC為4pF
上面的公式用于確定誤差小于1/4 LSB時允許的最大外阻抗。N = 12(12位分辨率),k是在ADC_SMPR1寄存器中定義的采樣周期數。
ADC精度vs.負注入電流:應該避免在任何模擬輸入引腳上注入負電流,因為這會顯著降低在另一個模擬輸入上執行轉換的精度。建議在模擬引腳上增加一個肖特基二極管(引腳接地),這可能會注入負電流。
Page 136 圖例(上圖中標識解釋):
1、見表68
2、實際轉移曲線的示例。
3、理想轉移曲線
4、終點相關線
5、ET =未調整總誤差:實際和理想傳遞曲線之間的最大偏差。EO =偏移誤差:第一個實際過渡與第一個理想過渡之間的偏差。EG =增益誤差:最后一個理想過渡與最后一個實際過渡之間的偏差。ED =微分線性誤差:實際步長與理想步長之間的最大偏差。EL =積分線性誤差:任何實際過渡和終點相關線之間的最大偏差。
寄生電容表示PCB的電容(取決于焊接和PCB布局質量)加上焊盤電容(大約5 pF)。寄生電容值高會降低轉換精度。為了解決這個問題,應該減少fADC。
回到坑里
將盆友的電路等效繪制一下,忽略ADC采樣通道內部ESD保護二極管,以及等效電流源,如下圖:
好了,這圖一畫出來,問題的原因就顯而易見了,SAR ADC是將采樣電容上的電壓通過逐次逼近原理轉換為數字量的,按上述圖,由于R2為兆級電阻,那么等效加載在采樣電容上的電壓就不能簡單的看成是R1/R2的分壓了,此時ADC的輸入阻抗在百50K歐級別,簡化定性看一下,忽略分布電容影響,計算方便將輸入阻抗看成50K直流電阻(實際深入動態分析的話則不可忽略,假定電池電壓為5V),具體計算就不做了。
為什么電阻選這么大呢?我想估計是為了將電池電壓監控取樣回路的電流降低,以節省電量。
跳出坑里
怎么辦呢?我覺得這樣應該可以:
找一個低功耗的運放做一個阻抗變換就可以兼顧兩者需求,當然如果更完善一點,還可以考慮串入一個RC低通濾波環節,可以有效降低噪聲。
總結一下
對于單片機ADC的使用,個人總結了這幾點:
將輸入短路,可測量熱噪聲。實際應用時,將輸入端短路,采集一定數量的樣本,由于熱噪聲符合高斯分布,可計算出其期望、方差,接入真實信號可以利用統計規律進行相應的噪聲濾波處理。
量化噪聲,可以通過輸入一定幅度及頻率的正弦波,進行度量系統的量化噪聲。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 一個單片機ADC的挖坑填坑之旅
- 大型翻車現場,痛苦踩坑“電池電壓偵測電路”,含淚總結設計要點
- STM32CubeIDE+FREERTOS踩坑記錄
- keil + STM32CubeMX 開發stm32L0 踩坑
- 記錄一下 開發STM32 USB HID踩過的坑
- Arduino-IDE配置ESP32-CAM開發環境踩過的那些坑
- 嵌入式Linux踩坑記錄
- 基于STM32的嵌入式雙目圖像采集系統設計資料下載
- 舉例:說明IF函數公式,多條件判斷,你一定踩過的坑資料下載
- STM32和OV2640的嵌入式圖像采集系統設計資料下載
- 學C語言,為什么大家會說這本書是坑?資料下載
- Layout工程師的強迫癥:繞線方式的坑資料下載
- 如何確保汽車電池電壓正確調節所需的條件資料下載
- 鋰電池電壓采集電路原理圖資料免費下載 105次下載
- 高電壓技術課件資料下載 0次下載
- 新手買壓敏電阻怎么做才不會踩雷不會踩坑? 154次閱讀
- R128點屏踩坑筆記 969次閱讀
- 過壓輸入對ADC采集有何影響? 1145次閱讀
- 基于STM32單片機的簡易電壓系統設計 1471次閱讀
- Momentum仿真端口介紹 2144次閱讀
- 鋰電池過充機理及防過充措施 3147次閱讀
- 鉛酸電池的過流/過放電保護 3745次閱讀
- 如何設計合適的電壓采集電路 5738次閱讀
- 如何設計合適的電壓采集電路 3772次閱讀
- 電池過放保護電路圖及工作過程 3.2w次閱讀
- 鋰電池并聯充電時保護板均衡原理 3w次閱讀
- 蓄電池電壓充放電監測系統信號隔離的方案設計 2255次閱讀
- 鋰電池過充電、過放電、短路保護電路詳解以及優勢和種類 5.5w次閱讀
- 基于STM32的多路電壓采集的設計與實現 3.8w次閱讀
- 基于STM32的多通道鋰電池充放電測試系統 1w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多