日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一个单片机ADC的挖坑填坑之旅

發布時間:2023/12/20 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个单片机ADC的挖坑填坑之旅 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[導讀] 本文來解析一個盆友在使用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位數據寄存器中。模擬看門狗功能允許應用程序檢測輸入電壓是否超過用戶定義的、更高或更低的閾值。

主要功能,具體操作,怎么編程這些細節,有大量的資料就不羅嗦了,主要來看看電氣特性。

電氣特性

  • ADC 可支持采樣頻率受供電電壓影響,供電電壓高,可支持采樣頻率范圍更高

  • 可支持輸入電壓范圍須在參考電壓范圍內

  • 外部輸入阻阻抗最大為

  • 開關切換阻抗 最大為

  • 內部采樣保持電容 為4pF

  • 上面的公式用于確定誤差小于1/4 LSB時允許的最大外阻抗。N = 12(12位分辨率),k是在ADC_SMPR1寄存器中定義的采樣周期數。

    ADC精度vs.負注入電流:應該避免在任何模擬輸入引腳上注入負電流,因為這會顯著降低在另一個模擬輸入上執行轉換的精度。建議在模擬引腳上增加一個肖特基二極管(引腳接地),這可能會注入負電流。

    Page 136 圖例(上圖中標識解釋):

  • 見表68

  • 實際轉移曲線的示例。

  • 理想轉移曲線

  • 終點相關線

  • ET =未調整總誤差:實際和理想傳遞曲線之間的最大偏差。EO =偏移誤差:第一個實際過渡與第一個理想過渡之間的偏差。EG =增益誤差:最后一個理想過渡與最后一個實際過渡之間的偏差。ED =微分線性誤差:實際步長與理想步長之間的最大偏差。EL =積分線性誤差:任何實際過渡和終點相關線之間的最大偏差。

  • 寄生電容表示PCB的電容(取決于焊接和PCB布局質量)加上焊盤電容(大約5 pF)。寄生電容值高會降低轉換精度。為了解決這個問題,應該減少fADC。

    回到坑里

    將盆友的電路等效繪制一下,忽略ADC采樣通道內部ESD保護二極管,以及等效電流源,如下圖:

    好了,這圖一畫出來,問題的原因就顯而易見了,SAR ADC是將采樣電容上的電壓通過逐次逼近原理轉換為數字量的,按上述圖,由于R2為兆級電阻,那么等效加載在采樣電容上的電壓就不能簡單的看成是R1/R2的分壓了,此時ADC的輸入阻抗在百50K歐級別,簡化定性看一下,忽略分布電容影響,計算方便將輸入阻抗看成50K直流電阻(實際深入動態分析的話則不可忽略,假定電池電壓為5V),具體計算就不做了。

    為什么電阻選這么大呢?我想估計是為了將電池電壓監控取樣回路的電流降低,以節省電量。

    跳出坑里

    怎么辦呢?我覺得這樣應該可以:

    找一個低功耗的運放做一個阻抗變換就可以兼顧兩者需求,當然如果更完善一點,還可以考慮串入一個RC低通濾波環節,可以有效降低噪聲。

    總結一下

    對于單片機ADC的使用,個人總結了這幾點:

    • 將輸入短路,可測量熱噪聲。實際應用時,將輸入端短路,采集一定數量的樣本,由于熱噪聲符合高斯分布,可計算出其期望、方差,接入真實信號可以利用統計規律進行相應的噪聲濾波處理。

    • 量化噪聲,可以通過輸入一定幅度及頻率的正弦波,進行度量系統的量化噪聲。

    • 設計ADC采樣電路時,需要注意閱讀芯片手冊的電氣特性參數,這個對于設計一個穩定的模數采集系統至關重要。

    至此,我想要寫的關于ADC的筆記文章就暫時總結分享到此了,如果覺得本文有價值,在看轉發起來,也算對我的肯定支持。

    END—

    ===========

    ??

    PS:想加入技術群的同學,加了我好友后,就給我發「籃球的大肚子」這句話,有可能機器人打瞌睡,可以多發幾次,不要發與技術無關的消息或者推廣。

    如果想獲取學習資料,就在公眾號后臺回復「1024」,足夠多的學習資料可以讓你學習。

    總結

    以上是生活随笔為你收集整理的一个单片机ADC的挖坑填坑之旅的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。