GpioLab pin je součástka, ne symbol

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

ADC: kolik odporu snese vstup

Analogový vstup vypadá jako věc bez proudu. Vzorkovací převodník ale sepne spínač na malý kondenzátor a dá mu pevný čas, aby se nabil. Když se za tu dobu nenabije dost přesně, převodník změří číslo, které tam nikdy nebylo — a nepozná se to, protože vyjde věrohodně.

měřené napětípůl nejnižšího bitu0,40 µsk dispozici 1,0 µs0,000,300,600,901,2012 bitů · zdroj 10,0 kΩ · τ = 44 nsstihne se tostrop odporu zdroje 26,7 kΩ
  1. CS4 pF

    Vzorkovací ADC sepne spínač na malý kondenzátor a nabije ho na měřené napětí. Změří pak ten kondenzátor, ne ten vstup.

  2. τ = (Rzdroj + Rspínač)·C = 44 ns

    V cestě je odpor zdroje a odpor spínače. Ty dva dělají s kondenzátorem RC článek — a nic jiného v tom není.

  3. chyba < 2−(12+1)

    Aby n-bitový převod nelhal, musí být kondenzátor blíž než polovina nejnižšího bitu. To je 2−(n+1) koncové hodnoty.

  4. t = 9,01·τ = 0,40 µs

    Exponenciála klesne na 2−(n+1) za ln(2n+1) časových konstant. Není to pravidlo palce — je to řešení té rovnice.

Nabíjení vzorkovacího kondenzátoru. Zelená čára je čas, který je potřeba, modrá je čas, který převodník dá. Zvětši odpor zdroje na 100 kΩ.

Odkud se ten logaritmus bere

Aby n-bitový převod nelhal, musí kondenzátor doběhnout blíž než na polovinu nejnižšího bitu, tedy na 2−(n+1) koncové hodnoty. Exponenciála se tam dostane za:

t = R · C · ln(2n+1) = R · C · (n+1) · ln 2a je to odvození, ne pravidlo palce

Každý další bit tedy stojí přesně jednu ln 2 časové konstanty, tj. 0,693 τ. Ne dvojnásobek času — jen jednu časovou konstantu navíc. Proto je 16bitový převod jen o třetinu pomalejší než 12bitový, a ne šestnáctkrát.

Kolik to je v praxi

zdrojτ (4 pF + 1 kΩ spínač)12 bitůvejde se do 1 µs?
1 kΩ8 ns0,07 µsano, s velkou rezervou
10 kΩ44 ns0,40 µsano
100 kΩ404 ns3,6 µsne

Pravidlo „na ADC nedávej víc než 10 k“ je z poloviny mýtus. Deset kiloohmů se do mikrosekundy vejde s rezervou — jak ukazuje tabulka. Odkud pochází: z čipů se znatelně větším vzorkovacím kondenzátorem (desítky pF), kde totéž nevyjde. Číslo, které rozhoduje, je součin R·C·(n+1)·ln2, a ten se dá spočítat z katalogu za deset vteřin.

Dvě věci, které to spraví

  1. Prodloužit dobu vzorkování. Skoro každý převodník ji má nastavitelnou v registru, a je to změna o jeden řádek kódu. Cena je nižší vzorkovací frekvence.
  2. Dát tam kondenzátor. 100 nF na vstupu je proti 4 pF nekonečná zásoba náboje; vzorkovací kondenzátor se z něj nabije okamžitě a odpor zdroje ho dorovná mezi vzorky. Tohle je ta správná odpověď u pomalých signálů — a u rychlých se tím ničí šířka pásma.

Kdo měří dělič z akumulátoru přes 100 kΩ a diví se, proč napětí „skáče“, má tuhle kapitolu před sebou. A jak z toho vzniká chyba v celém řetězci měření, je věc SensorLabu.

Vzorce v této kapitole

t — doba ustálení na půl bitu
t = R·C·(n+1)·ln2 [s]