English version

Nejjednodušší digitální LCD voltmetr s AVR

    Toto je pravděpodobně nejjednodušší zapojení digitálního voltmetru s mikroprocesorem Atmel AVR a LCD displejem. Obvod je řízeny mikroprocesorem IO1 - AVR Atmel ATmega16A, ATmega16L, ATmega16, ATmega32A, ATmega32L nebo ATmega32. Níže je program ke stažení a nastavení konfiguračních bitů. K zobrazení slouží běžný třímístný sedmisegmentový LCD displej (bez řadiče). Já jsem použil typ LCD3.0-13. Displej je buzen obdélníkovým střídavým napětím o frekvenci cca 50Hz. Aktivní segmenty jsou připojeny na napětí v protifázi se společnou elektrodou (BP). Neaktivní jsou připojeny na napětí ve fázi se společnou elektrodou. Obvod využívá nesymetrický 10-bitový AD převodník v AVR. Rozsah výstupních hodnot je tedy 0 - 1023. Protože kvůli úzkému rozmezí hodnot 1000 - 1023 se nevyplatí přidávat čtvrtou cifru, je rozsah uměle omezen na 0 - 999. Při vstupním napětí mimo rozsah se objeví symbol "- - -". Celý rozsah odpovídá vstupnímu napětí 2,5V. Na vstupu je dělič 1/4 tvořený R9, R10 a P1, poskytující rozsah 10V s rozlišením na 0,01V. Vstupní impedance je okolo 1M. (Pokud požadujete rozsah 100V, upravte R10 na 9M1 a P1 na 2M2. Pak získáte rozsah 100V s rozlišením na 0,1V a vstupní impedancí okolo 10M.) Kalibrace voltmetru spočívá v nastavení P1 dle známého vstupního napětí. Desetinnou tečku zvolte dle potřeby (1h nebo 2h). Zvolenou tečku připojte na vývod 29 (PC7). Nevyužitou tečku připojte na vývod 21 (PD7) a tím i na BP, aby na ní nebylo žádné napětí vůči BP (není vhodné ji nechat "ve vzduchu", mohla by prosvítat). Obnovovací frekvence tohoto voltmetru je cca 4Hz. IO1 využívá vnitřní oscilátor nastavený na 1MHz. Obvod se napájí ze zdroje cca 3 - 5V v případě ATmega16A / ATmega32A / ATmega16L / ATmega32L nebo 4,5 - 5V v případě ATmega16 / ATmega32 (dle mých pokusů i ATmega32 pracuje při 3V, ale datasheet to negarantuje). Odběr proudu při 3V je cca 0,2 - 0,4mA a při 5V cca 2 - 4mA. Měřidlo se hodí např. jako doplněk laboratorního zdroje, ukazatel palubního napětí vozidla, napětí zdroje v PC, napětí baterie UPS, apod. Napájecí napětí 5V lze získat např. pomocí jednoduchého zdroje s obvodem 7805, LM317 nebo i zenerovou diodou (před tento zdroj zařaďte vhodnou pojistku).
Celý program ke stažení:
zdrojový kód v assembleru (ASM) pro ATmega16(A/L)
zdrojový kód v assembleru (ASM) pro ATmega32(A/L)
přeložený v HEX souboru pro ATmega16(A/L) (284 Bajtů)
přeložený v HEX souboru pro ATmega32(A/L) (284 Bajtů)
Zapisování programu do AVR se podrobněji věnuji zde.

Případným zájemcům mohu naprogramovaný mikroprocesor poslat. Více info zde.


Schéma nejjednoduššího digitálního voltmetru s AVR ATmega16(A)(L) / ATmega32(A)(L) a LCD displejem.


Nastavení konfiguračních bitů (stejné pro ATmega16(A)(L) i ATmega32(A)(L))


Testování voltmetru s ATmega16A. Vpravo je vidět ještě jeden displej LCD3.0-13 zespoda.


Video - testování jednoduchého AVR voltmetru s LCD displejem.



Přidáno: 21. 8. 2012
zpět na úvodní stránku