0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)中ADC采集都存在哪些誤差?

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-09-18 16:31 ? 次閱讀

ADC的種類很多,對應(yīng)的精度和誤差也有很多,本文就來講講關(guān)于ADC精度和誤差的內(nèi)容。

ADC介紹

ADC:Analog Digital Converter,指模數(shù)轉(zhuǎn)換,也就是(電壓)模擬量轉(zhuǎn)換成數(shù)字量。

大多數(shù)MCU中都集成了ADC模塊,同時ADC也是在產(chǎn)品開發(fā)中使用率較高的一個模塊,相信大部分人都使用過ADC這個功能。

STM32中內(nèi)置最多四個高級12位ADC控制器(ADC1、2、3、4)。當(dāng)然,ADC控制器數(shù)量多少取決于STM32型號,還有部分STM32具有16位采樣的ADC(如STM32F373)。他們提供自校準(zhǔn)功能,用于提高環(huán)境條件變化時的ADC精度。

我們平時在使用ADC中要求不是很高,可能就沒有在于ADC轉(zhuǎn)換的值是否精確。但是,有些特定場合就需要更精確的轉(zhuǎn)換值,那么我們就需要對ADC做更多了解。下面章節(jié)帶領(lǐng)大家了解相關(guān)內(nèi)容。

ADC誤差

在涉及模數(shù)轉(zhuǎn)換的應(yīng)用中, ADC精度會影響整體的系統(tǒng)質(zhì)量和效率。為了提高此精度,有必要了解與ADC相關(guān)的誤差。

ADC誤差主要包含:ADC自身和環(huán)境導(dǎo)致的誤差。

1、ADC自身導(dǎo)致的誤差

說誤差之前,先說下ADC精度,為便于參考,將精度誤差表達(dá)為1 LSB的倍數(shù):

1 LSB = VREF+ / 2^12

A、偏移誤差

偏移誤差是第一次實際轉(zhuǎn)換和第一次理想轉(zhuǎn)換之間的偏離。第一次轉(zhuǎn)換發(fā)生在數(shù)字ADC輸出從0變?yōu)?時。理想情況下,當(dāng)模擬輸入介于0.5 LSB和1.5 LSB之間時,數(shù)字輸出應(yīng)為1。

仍然是理想情況下,第一次轉(zhuǎn)換發(fā)生在0.5 LSB處。用EO表示偏移誤差??赏ㄟ^應(yīng)用固件輕松校準(zhǔn)偏移誤差。

正偏移誤差的表示方法:

wKgZomUD9RCAanAJAACoJC2Cxro529.jpg

負(fù)偏移誤差的表示方法:

wKgaomUD9RKAdyrlAACozR1FBNQ977.jpg

B、增益誤差

增益誤差是最后一次實際轉(zhuǎn)換和最后一次理想轉(zhuǎn)換之間的偏離。增益誤差用EG表示。

正增益誤差的表示方法:

wKgZomUD9RSAfI6uAACy5k3h0cY998.jpg

負(fù)增益誤差的表示方法:

wKgaomUD9RWAHgJMAADvP7HnBsc789.jpg

C、微分線性誤差

微分線性誤差( DLE)為實際步進(jìn)和理想步進(jìn)之間的最大偏離。這里的“理想情況”不是指理想傳輸曲線,而是指ADC分辨率。

理想情況下, 1 LSB的模擬輸入電壓變化量應(yīng)導(dǎo)致數(shù)字代碼變化。如果需要大于1 LSB的模擬輸入電壓才能導(dǎo)致數(shù)字代碼變化,將觀察到微分線性誤差。因此, DLE對應(yīng)于從一個數(shù)字代碼變?yōu)橄乱粋€數(shù)字代碼所需的最大額外電壓。

wKgaomUD9RiAaqB7AADoe5ESd7o793.jpg

D、積分線性誤差

積分線性誤差為任何實際轉(zhuǎn)換和端點相關(guān)線間的最大偏離,用EL表示ILE。

端點相關(guān)線可以定義為A/D傳輸曲線上連接第一次實際轉(zhuǎn)換與最后一次實際轉(zhuǎn)換的線。EL是指與每一次轉(zhuǎn)換的這條線的偏離。因此,端點相關(guān)線對應(yīng)于實際傳輸曲線并且與理想傳輸曲線不相關(guān)。

wKgaomUD9RmAE9KSAADEcFycu50188.jpg

E、總未調(diào)整誤差

總未調(diào)整誤差( TUE)為實際和理想傳輸曲線間的最大偏離。此參數(shù)指定可能發(fā)生的會導(dǎo)致理想數(shù)字輸出與實際數(shù)字輸出之間最大偏離的總誤差。TUE是記錄到的任何輸入電壓的理想預(yù)期值與從ADC獲得的實際值之間的最大偏離。

wKgZomUD9RuAfxnlAADkWHQv70M980.jpg

2、ADC環(huán)境導(dǎo)致的誤差

A、參考電壓噪聲

由于ADC輸出為模擬信號電壓與參考電壓之比,因此模擬參考上的任何噪聲都會導(dǎo)致轉(zhuǎn)換后數(shù)字值的變化。在某些封裝中, VDDA模擬電源被用作參考電壓( VREF+),因此VDDA電源的質(zhì)量會影響ADC誤差。

B、參考電壓/電源調(diào)節(jié)

電源調(diào)節(jié)對于ADC精度十分重要,因為轉(zhuǎn)換結(jié)果是模擬輸入電壓與VREF+值之比。
當(dāng)連接到VDDA或VREF+時,如果這些輸入上的負(fù)載及其輸出阻抗導(dǎo)致電源輸出下降,將在轉(zhuǎn)換結(jié)果中產(chǎn)生誤差。

C、外部參考電壓參數(shù)

當(dāng)使用外部參考電壓源( VREF+引腳上)時,該外部參考源有一些重要參數(shù)。必須考慮三個參考電壓規(guī)格:溫度漂移、電壓噪聲和長期穩(wěn)定性。

D、模擬輸入信號噪聲

在采樣時間內(nèi),小而高頻率的信號變化可導(dǎo)致較大轉(zhuǎn)換誤差。此噪聲由電氣設(shè)備(例如電機(jī)、發(fā)動機(jī)點火、電源線)生成。它增加了不需要的信號,因此會影響源信號(例如傳感器)。這樣一來,導(dǎo)致ADC轉(zhuǎn)換結(jié)果不準(zhǔn)確。

E、最大輸入信號幅度的ADC動態(tài)范圍匹配不佳

為獲得最高ADC轉(zhuǎn)換精度, ADC動態(tài)范圍必須與待轉(zhuǎn)換信號的最大幅度相匹配。

我們假設(shè)待轉(zhuǎn)換信號在0 V與2.5 V之間變化,并且VREF+等于3.3 V。如下圖,有部分未使用的ADC轉(zhuǎn)換范圍,也會使轉(zhuǎn)換后信號精度下降。

wKgaomUD9R2AZdEtAAEPKXG9qh8553.jpg

如何提高ADC采集數(shù)據(jù)準(zhǔn)確性

這個問題之前寫過相關(guān)的內(nèi)容,只是沒有單獨提出來說,這里匯總一下。

1、減少ADC相關(guān)誤差的影響

上面描述了“ADC自身導(dǎo)致的誤差”,使用STM32 ADC自校準(zhǔn)功能或通過微控制器固件可以輕松補(bǔ)償偏移誤差和增益誤差。

之前在分享的代碼中有提到,比如通過軟件校正:

ADC_StartCalibration(ADC1);

2、使外部環(huán)境誤差最小化

A、參考電壓/電源噪聲最小化

也就是在VREF和VDDA引腳連接外部去耦電容。

wKgaomUD9R-AZIiNAAEvgpDER9M825.jpg

B、模擬輸入信號噪聲消除

通過添加外部RC濾波器以消除高頻。

C、將ADC動態(tài)范圍與最大信號幅度進(jìn)行匹配

也就是將參考電壓范圍匹配采樣電壓(當(dāng)然,需要有參考電壓引腳的芯片才行)。

wKgaomUD9SKARHZsAAHd3FLrqpM912.jpg

同時,也可以使用放大器針對ADC范圍調(diào)整輸入信號范圍:

wKgaomUD9SSAQpqeAAGuJOyJ2zg106.jpg

D、溫度影響補(bǔ)償

第一種方法是完整描述偏移和增益漂移特性,并在存儲器中提供查詢表,以便根據(jù)溫度變化修正測量值。此校準(zhǔn)方法需要額外的成本和時間。

第二種方法包括使用內(nèi)部溫度傳感器和ADC看門狗,以在溫度變化達(dá)到給定值時重新校準(zhǔn)ADC。

E、優(yōu)化PCB布局

將模擬和數(shù)字布局分開

隔離模擬和數(shù)字電路電源

供電和接地使用單獨的PCB層

3、提高精度的軟件方法

A、平均采樣

·平均會降低速度但可以提高精度

B、數(shù)字濾波(抑制DC值中的50/60 Hz噪聲)

·設(shè)置適當(dāng)?shù)牟蓸宇l率(這種情況下,從計時器觸發(fā)十分有用)。
·對采樣數(shù)據(jù)執(zhí)行軟件后處理(例如,對50 Hz噪聲及其諧波抑制進(jìn)行組合濾波)。

C、AC測量的快速傅里葉變換( FFT)

·此方法可以顯示被測信號中的諧波部分。
·由于使用了更強(qiáng)的計算能力,因此速度較慢。

D、ADC校準(zhǔn):偏移、增益、位權(quán)重校準(zhǔn)

·ADC校準(zhǔn)可減少內(nèi)部ADC誤差。但是,必須知道內(nèi)部ADC結(jié)構(gòu)。

E、使CPU生成的內(nèi)部噪聲最小化

應(yīng)用設(shè)計必須確保

·ADC轉(zhuǎn)換期間來自微控制器的干擾盡可能小。
·使采樣和轉(zhuǎn)換期間的數(shù)字信號變化量最小化(數(shù)字靜默)。

審核編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631971
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16103

    瀏覽量

    177069
  • adc
    adc
    +關(guān)注

    關(guān)注

    98

    文章

    6391

    瀏覽量

    543762
  • 計時器
    +關(guān)注

    關(guān)注

    1

    文章

    416

    瀏覽量

    32605
收藏 人收藏

    評論

    相關(guān)推薦

    影響單片機(jī)ADC轉(zhuǎn)換精度的主要誤差

    本篇文章列出了影響模數(shù)轉(zhuǎn)換精度的主要誤差。這些類型的誤差存在于所有模數(shù)轉(zhuǎn)換器,轉(zhuǎn)換質(zhì)量將取決于它們的消除情況。STM32微控制器數(shù)據(jù)手冊的ADC
    發(fā)表于 08-04 10:35 ?3009次閱讀
    影響<b class='flag-5'>單片機(jī)</b><b class='flag-5'>ADC</b>轉(zhuǎn)換精度的主要<b class='flag-5'>誤差</b>

    單片機(jī)消除隨機(jī)誤差的方法

    單片機(jī)的數(shù)據(jù)采集系統(tǒng),測量通道串入隨機(jī)干擾是難免的,從而使A/D轉(zhuǎn)換送入單片機(jī)的數(shù)據(jù)存在誤差
    發(fā)表于 07-08 06:08

    單片機(jī)adc采樣原理

    單片機(jī)adc采樣原理,關(guān)于卡爾曼濾波,看看百度百科上的定義算法的核心思想是,根據(jù)當(dāng)前的儀器"測量值" 和上一刻的 "預(yù)測量" 和 "誤差"
    發(fā)表于 07-14 06:09

    單片機(jī)是如何采樣ADC值的?

    最近在調(diào)按鍵和電池,和ADC采集有很大關(guān)系。那么單片機(jī)是如何采樣ADC值的呢,每個單片機(jī)ADC
    發(fā)表于 11-24 07:41

    基于ADC0832的單片機(jī)數(shù)據(jù)采集系統(tǒng)設(shè)計課程設(shè)計

    基于ADC0832的單片機(jī)數(shù)據(jù)采集系統(tǒng)設(shè)計課程設(shè)計
    發(fā)表于 07-27 08:59 ?48次下載

    ADC0809與51單片機(jī)的連接方式

    模數(shù)轉(zhuǎn)換器定位為單片機(jī)的外部RAM單元,因此與單片機(jī)的連接就有很多種。大體上說ADC0809在整個單片機(jī)系統(tǒng)是作為外部RAM的一個單元定位
    發(fā)表于 11-22 15:18 ?6.9w次閱讀
    <b class='flag-5'>ADC</b>0809與51<b class='flag-5'>單片機(jī)</b>的連接方式

    如何解決的單片機(jī)的數(shù)據(jù)隨機(jī)誤差問題

    單片機(jī)主要作用是控制外圍的器件,并實現(xiàn)一定的通信和數(shù)據(jù)處理。但在某些特定場合,不可避免地要用到數(shù)學(xué)運算,盡管單片機(jī)并不擅長實現(xiàn)算法和進(jìn)行復(fù)雜的運算。下面主要是介紹如何用單片機(jī)實現(xiàn)數(shù)字濾波。在
    發(fā)表于 07-03 09:51 ?2692次閱讀

    關(guān)于AVR單片機(jī)ADC介紹

    AVR單片機(jī)ADC
    的頭像 發(fā)表于 07-11 00:01 ?5084次閱讀
    關(guān)于AVR<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>ADC</b>介紹

    使用STM32F103單片機(jī)采集16路ADC的工程文件和程序免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STM32F103單片機(jī)采集16路ADC的工程文件和程序免費下載。
    發(fā)表于 09-26 08:00 ?31次下載
    使用STM32F103<b class='flag-5'>單片機(jī)</b><b class='flag-5'>采集</b>16路<b class='flag-5'>ADC</b>的工程文件和程序免費下載

    ADC的增益誤差和失調(diào)誤差的分析

    本技術(shù)簡介對 ADC 的增益誤差和失調(diào)誤差進(jìn)行了簡要介紹。它還介紹了一種在帶有 Arm? Cortex?-M0+內(nèi)核的 SAM 系列單片機(jī)
    發(fā)表于 04-01 10:14 ?42次下載
    <b class='flag-5'>ADC</b><b class='flag-5'>中</b>的增益<b class='flag-5'>誤差</b>和失調(diào)<b class='flag-5'>誤差</b>的分析

    AVR單片機(jī)教程--AVR單片機(jī)ADC

    AVR單片機(jī)教程--AVR單片機(jī)ADC(實用電源技術(shù)答案)-該文檔為AVR單片機(jī)教程--AVR單片機(jī)
    發(fā)表于 09-24 15:49 ?66次下載
    AVR<b class='flag-5'>單片機(jī)</b>教程--AVR<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>ADC</b>

    單片機(jī) ADC采集電壓

    單片機(jī):N76E003/*********************************************函數(shù)名:Adc_Configuration功 能:ADC初始化配置形 參:返回值
    發(fā)表于 11-11 10:51 ?22次下載
    <b class='flag-5'>單片機(jī)</b> <b class='flag-5'>ADC</b><b class='flag-5'>采集</b>電壓

    51單片機(jī) Proteus仿真 基于單片機(jī)的風(fēng)扇轉(zhuǎn)速采集系統(tǒng) 電機(jī)轉(zhuǎn)速采集

    電子發(fā)燒友網(wǎng)站提供《51單片機(jī) Proteus仿真 基于單片機(jī)的風(fēng)扇轉(zhuǎn)速采集系統(tǒng) 電機(jī)轉(zhuǎn)速采集.pdf》資料免費下載
    發(fā)表于 11-12 19:06 ?41次下載
    51<b class='flag-5'>單片機(jī)</b> Proteus仿真 基于<b class='flag-5'>單片機(jī)</b>的風(fēng)扇轉(zhuǎn)速<b class='flag-5'>采集</b>系統(tǒng) 電機(jī)轉(zhuǎn)速<b class='flag-5'>采集</b>

    觀看單片機(jī)系統(tǒng)設(shè)計第一篇之單片機(jī)在哪里的筆記

    一、單片機(jī)在哪里?1.1、冰箱里面存在單片機(jī)1.2、MP3與單片機(jī)1.3、單片機(jī)與電磁爐1.4、
    發(fā)表于 11-15 19:51 ?1次下載
    觀看<b class='flag-5'>單片機(jī)</b>系統(tǒng)設(shè)計第一篇之<b class='flag-5'>單片機(jī)</b><b class='flag-5'>在哪</b>里的筆記

    STM32單片機(jī)ADC采集

    STM32單片機(jī)ADC采集
    發(fā)表于 11-18 20:36 ?75次下載
    STM32<b class='flag-5'>單片機(jī)</b><b class='flag-5'>ADC</b><b class='flag-5'>采集</b>