česky english Vítejte, dnes je neděle 22. prosinec 2024

Převod analogového signálu na digitální pro úzkopásmové aplikace

DPS 1/2015 | Články
Autor: Mark Pallones, Kristine Angelica Sumague, Mike Gomez, Microchip

Převod analogového signálu na digitální je v obvodech nejčastější problém, kterému konstruktéři čelí. Lze ho řešit několika způsoby. Pro mnoho jednoduchých úzkopásmových aplikací, jako je třeba DC voltmetr, je nutné udržet nízkou cenu realizace, ale přesto současně získat výsledky s vysokým rozlišením.

Zjednodušené schéma takového obvodu je na obr. 1. Jsou tam dvě vstupní napětí, která jsou připojena po jednom k operačnímu zesilovači U1. Vrefje dané referenční napětí použité ke kalibraci a Vmeasje neznámé napětí k převodu. Rezistor R1a kondenzátor C1tvoří RC článek sloužící k převodu vstupního napětí na čas. Přítomnost zesilovače U1v obvodu odstraňuje logaritmickou charakteristiku, která by se objevila, pokud by bylo vstupní napětí přímo napojeno na R1a C1.

obr. 1

K ovládání funkce U1zapínáním a vypínáním přepínačů S1až S4je použit mikroprocesor PIC16F5X od firmy Microchip, který navíc měří čas a počítá digitální vyjádření neznámého vstupního napětí.

Obvod může být také použit k převodu proudového analogového signálu na digitální. V tomto případě není potřeba převádět vstupní napětí na proud a referenční i vstupní proud jsou přímo vedeny přes analogové přepínače na kondenzátor.

Převodník vyžaduje pouze pět externích komponentů a dá se softwarově i hardwarově nastavovat na rozlišení převodů od 6 do 10 bitů. Převodní čas lze nastavit na 250 μs nebo více. Tato metoda se dá použít pro napětí i proud a používá softwarovou kalibraci, která kompenzuje časový a tepelný posun i chyby součástek.

Pro představu o různých fází převodu se podívejte na časový průběh výstupního napětí Vozesilovače U1na obr. 2.

obr. 2, 3, 4

V čase t0–t1jsou S1a S3zapnuté, S2a S4vypnuté a RA0je softwarově uzemněno. To zobrazuje náhradní zapojení na obr. 3.

Voje rovno Vref, pokud VINje rovno Vrefa S3způsobuje zpětnou vazbu jednotkového zisku. C1se vybíjí nebo je vybitý po resetu. Každopádně tento stav zajišťuje, že C1je absolutně vybitý, než se přesuneme k dalšímu stavu. Na konci t1zůstane S1zapnutý a S2zůstane vypnutý. S3se vypne, S4se zapne a RA0je nastaven jako vstupní svorka. Toto můžeme vidět na náhradním zapojení na obr. 4.

Voje funkcí Vref, a tudíž začalo během nabíjení C1lineárně stoupat. Nárůst Votrvá, dokud se nepřekročí vstupní prahové napětí mikroprocesoru Vth. To generuje softwarovou kalibraci hodnoty rovné tref. Tato kalibrační hodnota je změřena a použita ke kalibraci většiny obvodových chyb včetně nepřesností v rezistoru a kondenzátoru, změn v Vtha v kolísání teploty. Po změření hodnoty softwarové kalibrace v t2se spustí S2a S3, S1a S4se vypnou a RA0je opět softwarově uzemněno. To je zobrazeno na stejném náhradním zapojení na obr. 4.

Voje funkcí Vmeas, a tudíž začalo během nabíjení C1lineárně stoupat. Volineárně roste, dokud nedosáhne Vthna mikroprocesoru. To vytváří softwarové hodnoty Vmeasrovné tmeas. Tato hodnota je porovnána s kalibrační hodnotou softwaru k určení skutečné číselné hodnoty Vmeas.

Obvodové rovnice

Rovnice jsou založeny na funkcích obvodu a používají se v mikroprocesoru k výpočtu převodu. Na obr. 4 je proud tekoucí R1roven proudu tekoucímu C1. Pokud je napětí VINrovno napětí Vref, pak vztah mezi těmito dvěma proudy vyjadřuje rovnice 1 na obr. 5. Pokud je VINrovno Vmeas, pak vztah mezi těmito dvěma proudy vyjadřuje rovnice 2.

obr. 5

Integrací rovnic 1 a 2 vyjádříme výsledky zobrazené v rovnicích 3 a 4. Jsou-li Vrefa Vmeaskonstantní, pak mohou být rovnice 3 a 4 dále upraveny na rovnice 5 a 6. Na konci každého měření jsou Voz rovnic 5 a 6 rovna Vth. Tím pádem lze vyjádřit poměr obou rovnic v rovnici 7. Zde je možné zkrátit R1a C1a tak vyjádřit Vmeas– měřené neznámé napětí.

Z rovnice 8 je patrné, že měření není závislé na obvodových hodnotách R1a C1. Tím se dosahuje toho, že měření není ovlivněno chybami v rezistoru R1a kondenzátoru C1, které by mohly být způsobeny nepřesnostmi nebo fluktuací teploty. Nicméně to neznamená, že by hodnoty R1a C1nebyly v navrhování AD převodníků důležité. Hodnoty R1a C1by měly být vybírány na základě počtu bitů měřicího rozlišení. Vraťme se zpět k rovnici 6 a vyřešme R1C1. Dostaneme tak rovnici 9 na obr. 6.

obr. 6

Skutečná hodnota R1C1by měla být trochu nižší než vypočtená hodnota, aby se zabránilo přetečení mikroprocesoru PIC16F5X během měření. Je třeba brát v úvahu, že v hodnotách R1C1při nahrávání programu v Assembleru a C bude rozdíl, protože jeden příkazový cyklus v jazyce C je delší než v Assembleru.

Výkon obvodu

V praktických aplikacích, pokud to nároky na přesnost dovolí, může být lepší použít menší bitové rozlišení a vyšší frekvenci časovače. Matematická rovnice tím může být velice zjednodušena a měřicí čas je zkrácen jednodušším kódem a kratším výpočtem.

Kalibrační hodnoty odstraní všechny chyby prvního řádu (kompenzace, zesílení, nepřesnosti odporu a kondenzátoru, napětí zdroje a teplotu) krom odchylky referenčního napětí. Jakákoliv změna referenčního napětí včetně šumů může způsobit chyby měření. Dalšími zdroji chyb mohou být zákmity na tlačítkách, nelinearita rezistoru a kondenzátoru, neurčitost vstupního signálu a neurčitost časovače (± 1 cyklus). Měřený výkon udává přesnost převodníku ± 1 % na celém rozsahu.

Závěr

Pro jednoduché úzkokopásmové analogové aplikace je většinou vyžadován levný AD převodník s vysokým rozlišením. Použitím rodiny mikroprocesorů PIC16F5X (nebo PIC16CFX) se nám povedlo tyto požadavky splnit. AD převodník nejenže používá pouze několik součástek, ale dokáže také sám odstranit většinu obvodových rušení.