Zapojení a princip převodu
Na vstup P1.(Uvst) se přivádí měřené napětí U1, které je porovnáváno vestavěným komparátorem s napětím nabíjejícího se kondenzátoru C1 z RC článku R1-C1. Odpor R1 může být připojen přímo na napájecí napětí, protože pro startování nabíjení kondenzátoru velmi elegantně používáme tranzistor T1, který obsahuje procesor 2051 přímo sám v sobě a je určen pro spínání portu P1.1 do log. 0, je-li por pouřit jako výstupní.
Díky tomu vytvoříme A/D převodním jenom s použitím odporu a kondenzátoru.
Čas od rozpojení T1 = zahájení nabájení RC článku, do překlopení komparátoru je vždy úměrný velikosti Uvst, které měříme. Čas je daný rovnicí nabíjení kondenzátoru [1]. Průběh nabíjecího napětí RC článku je sice exponenciální, ale při vhodně zvoleném horním možném měřitelném vstupním napětí je převod téměř lineární (viz graf).
Popis převodu
Převod začíná vybitím kondenzátoru C1 pomocí výstupu P1.1 (tranzistor T1, čas t1 v grafu). Po rozpojení T1 se začne C1 nabíjet přes rezistor R1. Současně je spuštěn vnitřní čítač (CT0), který měří čas až do okamžiku kdy se překlopí interní komparátor Q1. To znamená, že v tomto okamžiku napětí Uc dosáhlo velikosti Uvst. Tento okamžik je v grafu označen jako čas t2. Čas t2-t1 je úměrný Uvst (pro menší vstupní napětí se komparátor překlopí dříve a t2-t1 bude menší). Čas je dán rovnicí [1], nárůst Uc je exponenciální a bylo by jej možné linearizovat použitím zdroje proudu pro nabíjení C1. Volbou R1 C1 měníme rychlost nárůstu Uc a dostatečně velkým rezistorem R1 nabíjení v podstatě linearizujeme. S uvedenými hodnotami součástek slouží převodník s napájením 5V k indikaci napětí přibližně do 2,5V - zhruba při této úrovni Uvst načte vnitřní čítač hodnotu 255 (oscilátor 24MHz). Stabilitu převodu určuje stabilita napájecího napětí Ucc v průběhu měření a odchylka napětí Vcc během převodu od hodnoty během kalibrace.
Linearita převodníku
Graf linearity převodníku byl získán pomocí testovacího programu tak, že na výstupy P1.4 až P1.7 (vyšší nibble) a P3.0 až P3.3 (nižší nibble) byly připojeny LED diody a získané binární číslo bylo převedeno na dekadické (Výstupní hodnota). Z grafu je patrné, že převodník bude vhodný pro hrubou indikaci analogové hodnoty.
Rovnice nabíjení C1 [1]
Výpis programu k otestování převodníku je přiložen.
Pomocí tohoto programu byla testována linearita převodu.
Výstup čítače je přenášen na porty P3.0 až P3.3 a P1.4 až P1.7.
;Stazeno z www.HW.cz
; & nbsp; Autorem tohoto SW je Ondrej Weisz - oweisz@iol.cz
;--------------------------------------------------------------------- ; integrační převodník AD ; s využitím vnitřního komparátoru ; ; na P1.1 je připojen C 22nF, na P1.0 se přivádí Ux (0 až 5V!!) ; kondenzátor je vybíjen portem a nabíjen přes odpor 10kohm ; ze zdroje 5V (Ucc). Měří se doba za kterou dosáhne náboj kondenzátoru ; vstupního napětí Ux (komparátor). Doba je úměrná napětí ; pro přesnější měření by bylo nutné nabíjet kondenzátor ze zdroje ; konstantního proudu, nebo přepočítávat dobu pomocí logaritmu - ; inverze nabíjecí rovnice kondenzátoru Uc=Uo*exp(-t/RC). Hodnoty ; součástek jsou stanoveny pro krystal 24MHz tak, aby CT0 načítal ; hodnotu 256 přibližně při napětí Ux = 2.5V ; ; pro kontrolu je po ukončení měření přenesen obsah CT0-TL0 ; na porty P1 a P3, tak aby na P3.0 až P3.3 vystupovalo nižší ; nibble a P1.4 až P1.7 vyšší nible ; ; setCT .equ 00000001b ;nastavení čítače .org 0 mov TMOD,#setCT ;nastavení čítače opak: clr P1.1 ;vybití kondenzátoru nop nop nop ;prodleva na vybití setb P1.1 ;zahájení nabíjení setb TR0 ;start čítání cekej: jb P3.6,cekej ;čekání na překlopení komparátoru clr TR0 ;zastavení čítače mov A,TL0 ;přenos stavu čítače orl A,#0F0h ;vymaskování horního nibble mov P3,A ;a přenos na P3 mov A,TL0 ;přenos stavu čítače orl A,#0Fh ;vymaskování dolního nibble mov P1,A ;a přenos na P1 mov TL0,#0 ;vynulování čítače ajmp opak ;a vše znovu dokola .end ; konec programu -------------------------------------------------------- ;Stazeno z www.HW.cz ; & nbsp; Autorem tohoto SW je Ondrej Weisz - oweisz@iol.cz
Pokud máte hotové podobnoé SW rutiny, které chcete publikovat, pošlete nám je pokošíme se zde vytvořit knihovnu podobných utilit. - INFORMACE PRO AUTORY