Witam wszystkich,
ostatnio znalazłem trochę więcej wolnego czasu, więc postanowiłem coś zbudować.
Chciałbym zaprezentować moduł woltomierza / amperomierza przeznaczonego do współpracy z zasilaczem laboratoryjnym. Urządzenie powstało z czystej potrzeby. Składa się ono z dwóch części: płytki głównej, czyli modułu odwalającego całą robotę oraz wyświetlacza. Konstrukcja jest prosta. Sercem układu jest mikrokontroler ATmega8. Dlaczego akurat ten? Ano dlatego, że posiada wbudowany ADC (przetwornik analogowo-cyfrowy) i do tego 23 programowalne linie I/O. Oprócz AVR'ka jest tu podwójny wzmacniacz operacyjny LM358, bocznik, trzy rezystorowe dzielniki napięcia i elementy filtrujące napięcie.
Moduł wyświetlacza składa się z dwóch 4-cyfrowych wyświetlaczy LED ze wspólną anodą, ośmiu tranzystorów i szesnastu rezystorów. Płytka główna została zbudowana przy pomocy tradycyjnych elementów przewlekanych, natomiast wyświetlacz przy pomocy SMD. Wymiary płytki znacznie utrudniłyby, czy nawet uniemożliwiły montaż zwykłych elementów, dlatego też zastosowałem SMD.
Parametry:
- pomiar napięcia DC: max 50V, krok co 0.01V
- pomiar prądu DC: max 5A, krok co 0.001A
- napięcie zasilania: 5V DC stabilizowane
- napięcie referencyjne: 1.023V
- próbkowanie: około 5sps
Zasada działania też jest bardzo prosta. Napięcie wejściowe podawane jest na dzielnik rezystorowy o stosunku podziału około 49:1, następnie na wtórnik napięciowy (pierwsza połówka LM358) a dalej na wejście ADC0 mikrokontrolera. Pomiar prądu odbywa się poprzez pomiar spadku napięcia na boczniku (rezystor 0.1R 5W). Napięcie na boczniku jest wzmacniane przez drugą połówkę LM358. Wzmocnienie równe 2 wyznacza stosunek rezystancji drugiego dzielnika równy 1:1. Tak wzmocnione napięcie trafia na wejście ADC1 multipleksera ADC. Trzeci dzielnik o stosunku podziału 4:1 ustala napięcie referencyjne na końcówce AREF równe 1.023V.
Niskie napięcie referencyjne zmniejsza dynamikę wejściową, ale za to polepsza pomiary – mniejsza nieliniowość przetwornika. ADC wbudowany w mikrokontroler ATmega8 posiada rozdzielczość 10 bitów (1024 kroki). Z tego wynikałoby, że raster mierzonego napięcia wynosi 50mV. Jednak dzięki metodzie takiej jak oversampling, można wirtualnie rozszerzyć rozdzielczość ADC. Sposób ten szczegółowo opisany jest w nocie aplikacyjnej AVR121 dostępnej na stronie Atmela (oprócz tego można znaleźć tam wiele innych ciekawych rzeczy). Producent podaje tam, że w niektórych przypadkach pomocne jest sztuczne generowanie Gaussowskich szumów (Dithering). W ten sposób rozszerzyłem rozdzielczość do 13 bitów (8192 kroki).
Użyłem prądożernych wyświetlaczy LED z dwóch powodów: multipleksowa praca wyświetlacza zapewnia powstawanie wewnątrz mikrokontrolera szumów spowodowanych pracą jednostki centralnej i szybkim przełączaniem portów I/O. Stanowi to pewien kompromis dla ditheringu. Drugim powodem jest to, że ludzie w swoich projektach coraz częściej stosują popularne tekstowe wyświetlacze LCD, co IMHO staje się oklepane (szczególnie moduły 16x2).
Program dla mikrokontrolera napisałem w asemblerze przy pomocy pakietu AVR Studio 4.13 dostępnym na stronie Atmela. W trakcie tworzenia bardzo pomocny okazał się symulator, dzięki któremu program powstał szybciej i bez większych problemów.
Płytki powstały przy pomocy papieru kredowego i lakieru EnSolder. Obie mają jednakowe wymiary: 66mm x 49mm. Połączone są ze sobą przy pomocy listwy goldpin i gniazda. Górny (czerwony) wyświetlacz obrazuje mierzone napięcie w woltach, dolny (zileony) prąd w amperach. Są to wyświetlacze 0.36” (rozmiar cyfry 9mm). Dodatkowo pozostały cztery wolne porty I/O (PC2…PC5), co daje możliwość późniejszego rozszerzenia możliwości układu.
Zdjęcia poniżej [kliknij, aby powiększyć]:
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięWoltomierz / amperomierz do zasilacza
Moderatorzy:Jacek Bogusz, robertw, Moderatorzy
-
- -
- Posty:2
- Rejestracja:27 wrz 2010, o 14:02
- Lokalizacja:Wojkowice
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 12 gości