Fórum témák

» Több friss téma
Cikkek » Arduino tápfeszültségének mérése
Arduino tápfeszültségének mérése
Szerző: Josi777, idő: Feb 2, 2021, Olvasva: 10605, Oldal olvasási idő: kb. 2 perc
Lapozás: OK   5 / 6

Miért így számítjuk ki a tápfeszültséget?

Tapfeszultseg=(1024*1.1)/(ADCL+256*ADCH)

Mint korábban említettem, a mérés két érték, egy ismert és egy ismeretlen összehasonlítása. Az ADC az ismert referencia feszültséget hasonlítja össze a bemenetére csatlakoztatott feszültség értékével. Ha jobban megnézzük, akkor ez nem feszültségmérés, ugyanis valójában nem tudja az ADC, hogy milyen értékek vannak a bemeneteire csatlakoztatva. Amit csinál, az csak úgynevezett felbontása egy értéknek, amiből a mérés az egy lépésnyi érték (Uref/felbontás) ismerete alapján jön létre (ez a lépés a felbontás, azaz hogy hány bites az ADC). Egy sematikus működéssel próbálom szemléltetni. Van az ADC-ben egy számláló, ez lesz majd a kimeneti regiszter, ez legyen most 8 bites. Kezdetben a számláló értéke 0. A számlálót növeljük, majd ezt az értéket egy DAC-val analóg jellé alakítjuk, mely DAC feszültsége a referencia feszültség, ez legyen most 5 V. Ez azt jelenti, hogy a referencia feszültséget az ADC felbontásával egyező egységekre "daraboljuk", a példánkban ez 5 V/256, ami kb. 0,019 V*. Ezt összehasonlítjuk a bemeneti feszültséggel. Ha a bemeneti feszültség kisebb, mint az DAC feszültsége, akkor növeljük eggyel a számlálót, azaz hozzáadunk kb. 0,19-et, majd ismét jön az összehasonlítás. Amikor elérkezünk ahhoz, hogy a két érték egyezik (vagy túlcsordul a számláló), akkor leállítjuk a számlálást és megkaptjuk az eredményt. Legyen ez most 200, azaz a számláló 200-ig számolt. Csakhogy nem feszültség értéket kapunk, hanem azt az értéket, hogy a mérendő feszültségben hányszor van meg az Uref/felbontás. A feszültség értékét számítással kapjuk, hiszen az ADC nem ismeri sem a bemeneti, sem pedig a referencia feszültség értékét, ő csak azt mondja meg, hogy hogyan aránylik az egyik érték a másikhoz. Tehát egy arányszámot kapunk. Erre fel tudunk írni egy aránypárt:

Ube/Uref=számláló/felbontás

Ha ide behelyettesítünk értékeket, akkor a következőt kapjuk:

Ube/5 V=200/256 -->5 V*200/256 --> Ube=3,9 V

Ez normál működésnél van így, csakhogy mi felcseréltük a referencia feszültség és bemeneti feszültség csatlakozóit, ezért így módosul a képletünk:

5 V/Ube=200/256

De ez csak a példában használt értékekre vonatkozik. Ha a példa értékeit kicseréljük a valós értékekre és feltételezzük, hogy az ADC kimeneti értéke 300, akkor a képletünk így alakul:

1,1 V/Utáp=300/1024 -->1024*1,1/300 --> Utáp=3,75 V

Tehát azt látjuk, hogy az aránypár alapján a felbontás és a referencia érték szorzatát az ADC értékével kell osztanunk.

És még valami. Mielőtt valaki azt gondolná, hogy a zárójelben lévő szorzás minden egyes alkalommal el lesz végezve, ezért jobb lenne, ha eleve a szorzás eredménye lenne csak ott, megnyugtatásukra jegyzem meg, hogy nem fogja elvégezni minden egyes alkalommal a program ezt a műveletet, ugyanis ilyen esetben a művelet már fordításkor elvégződik és már csak az eredmény kerül bele a kódba.

*szerk: Eredetileg 0,19V szerepelt, de a helyes érték 0,019V. Köszönöm Jonni fórumtársnak az észrevételt!


A cikk még nem ért véget, lapozz!
Következő: »»   5 / 6
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem