A/D prevodnik u procesora AVR ATmega

Pavel Hudecek edizon na seznam.cz
Pátek Červenec 31 18:26:03 CEST 2015


Osobně naopak s AVR dělám, sice ne konkrétně s ATmega128, ale bude to asi podobné, jako třeba na 32 a tam je situace následující:

- Je potřeba přiměřená C na živení S/H, resp. i celého přechodového děje souvisejícího s přepínáním kanálů. Pokud není spec. důvod pro jinou, dávám 100n, ale funguje to i s mnohem menšími.
- Je potřeba nějaký proud, pro věci typu měření napětí na baterce používám dolní odpor v děliči 470k, jinak se snažím dávat pod 100k, resp. jako výchozí používám 10.
- Při měření více kanálů je potřeba zohlednit záludnost, že v průběhu měření se MX nepřepíná. Nastavení pak čeká, než měření skončí. Pokud tím rovnou další začne, S/H nastane krátce (1,5 kroku hodin ADC) po té. Při nevhodném řešení snadno vznikají přeslechy.

Často se stává, že na čekání není čas, např. protože zdržování při přerušení od ADC by mohlo zkazit něco časově kritického, ale na měření je vlastně času dost. Pak se dá použít řešení, kdy se na každém kanále měří dvakrát, přičemž první výsledek nepoužiji. Např. ve free running režimu to dělám vždy takto.

Není-li speciální důvod proč ne, téměř vždy nechávám ADC dokola měřit na všech relevantních kanálech a jednou za nějaký čas spočítám průměr.

PH

From: Vláďa Anděl 
Sice s AVR nedělám, ale podobný problém jsem řešil u silabse. Je otázka, jestli tam ten váš kond 10n k něčemu je - tvrdím že nikoliv. 
V datasheetu na obr. 23-6 je jakýsi vstupní pin a ten má svodový proud proti H a L. Za ním je teprv mux a přes 1,1 KOhm těch 14 pF, který potřebujete nabít. Pokud vám nezáleží na rychlosti, můžete dát odpor vstupního děliče tak velký, aby vám pro požadovanou přesnost nevadil vstupní proud. Jediný rozdíl je, pokud chci přepnout mux a mám na vstupu těch 10 nF, nabije se kapacita převodníku rychle. Celková doba ustálení při změně vstupního napětí se s tím přidaným kondem ale prodlouží.
Anděl  

Dne 30.7.2015 v 14:59 tomas mainzer napsal(a):

  Dobry den, 
  samotne 9M/1M nestaci - je to prilis velky odpor. musite byt schopen za "samplovaci" dobu schopen nabit  samplovaci S&H  kondenzator na merene napeti. 14pF pres 10M za prislusnou dobu asi nenabijete (doba samplovani byva typicky v radech us). Workaround pro skoro DC je pridat ke spodnimu R jeste kondenzator (o nekolik radu vetsi nez kapacita S&H) jehoz naboj se v okamziku samplovani prelije do S&H kondenzatoru. Ale casova konstanta tohoto reseni je vyssi. Dale pro takto velky delic (10M) jiz muzou hrat roli i ruzne parazitni parametry vstupu (svodovy proud,  jeho interni odpor  atp).
  Odobne bych (jen odhadem, neznaje konkretni typ procesoru) (a nejde li o nejaky pripad kdy je treba dostahnout extremne nizke spotreby) sel do odporoveho delice max. tak kolem 100k + kondenzator 10n.   
  S pozdravem TM. 


  2015-07-30 14:24 GMT+02:00 Richard Kaliciak <hw.kaliciak na stonline.sk>:

    Dobry den,

    majme tento datasheet:
    http://www.atmel.com/Images/Atmel-8151-8-bit-AVR-ATmega128A_Datasheet.pdf

    V nom sa v kapitole 23.7.1 "Analog Input Circuitry" na strane 227 pise:
    "The ADC is optimized for analog signals with an output impedance of
    approximately 10 kΩ or less."
    Naobrazku podtym je vidno vstupny odpor 1..100kOhm a S&H kondenzator 14pF.

    V kapitole 27.9 "ADC Characteristics" na strane 312 je zasa uvedena
    RAIN Analog Input Resistance 55 100 MΩ

    Takze ako to vlastne je?

    1. Ak chcem napr. merat napätie baterie do 25V, tak mi staci odporovy
    delic 9M:1M s predpokladom, ze sa jedna o DC a sample time je
    dostatocne. Spravne?

    2. Ak chcem vzorkovat nejaky nf signal so vzorkovacou frekvenciou
    1000Hz, treba pouzit za delicom nejaky buffer, OZ zapojeny ako sledovac.
    Spravne?

    3. Predpokladajme, ze mame slnecny clanok 12V/5W. Ak chcem vypocitat
    dodavany vykon, najprv odmeram napätie cez odporovy delic cez ADC1 a
    potom prud cez bocnik + OZ cez ADC2 a nakoniec prepnem vstupny mux znova
    na ADC1, pretoze cas medzi meraniami staci na nabitie S&H a vystup z
    bocniku je uz nizkoimpedancny.
    Pri opacnom poradi merania (najprv prud a potom napätie) by som mohol
    dostat odlisny vysledok. Spravne?


    Ako to riesite vy ostatni? Pravdu povediac, v amaterskych konstrukciach
    s AVR som si nejako nevsimol, ze by sa pouzivali nejake vstupne filtre.
    Je to jedno alebo je to styl "ved mne to funguje"?
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20150731/820069a4/attachment.html>


Další informace o konferenci Hw-list