Miernik panelowy do zasilacza

Miernik panelowy do zasilacza

Witam Ponownie. Tym razem “na tapetę” wpadła realizacja miernika panelowego do zasilacza regulowanego, który niedawno powstał. Motywacją do tej realizacji była potrzeba łatwego pomiaru aktualnie nastawionych napięć na zasilaczu oraz prądu pobieranego przez podłączone do niego obciążenie.

 

 

 

Na początku ustaliłem założenia opisujące przyszłą funkcjonalność miernika:

– Zakres pomiarowy napięcia do 30V,
– Zakres pomiarowy prądu do 5A,
– Rozdzielczość pomiaru napięcia 30mV;

 

Dodatkowo:

– Napięcie zasilania 7 – 20 VDC
– Zabezpieczenie przed odwrotnym podłączeniem zasilania

 

Do wykonania miernika użyłem następujących elementów:

-ATmega8 – BOTLAND

– LCD 2×16 – BOTLAND

– LM7805

– Dioda Zenera 5.1V

– Dioda prostownicza 1N4007

– Potencjometr – 10K szt.2

– R1 – 8.2K

– R2,R5 – 1K

– R4 – 0.22Ohm 5W

– R7 – 100 Ohm

– R8 – 10K

– C1,C5,C6,C7 – 100nF

– C2 – 10uF/16V

– C3,C4 – 100uF/25V

– Złącze ARK2 szt.3

 

FHD0023

Schemat ideowy miernika przedstawiono na rysunku (Rys.1) . Urządzenie to jest zasilane przez zewnętrzne źródło napięcia od 7V do 20V o wydajności prądowej około 150mA (zależnie od zastosowanego wyświetlacza), jednak obwody na płytce są zasilane napięciem 5V pochodzącym ze stabilizatora LM7805. Sercem układu jest mikrokontroler ATmega8, który odpowiada za większość funkcji tego urządzenia. Jest on taktowany sygnałem zegarowym o częstotliwości 1 MHz uzyskiwanym z wbudowanego generatora RC. Dzięki jego wbudowanemu 10-bitowemu przetwornikowi ADC dokonywany jest pomiar napięcia i prądu. Do wyświetlenia wyników pomiarów użyto wyświetlacza LCD ze sterownikiem HD44780 2×16. Napięcie ze złącza (WE1,WE2) podawane jest poprzez dzielnik napięciowy na wejście pomiarowe (PC0 ADC0 w mikrokontrolerze). Dzielnik ten zastosowano po to aby można było mierzyć napięcie wyższe (tutaj do 30V) od napięcia odniesienia, a zarazem w tym przypadku napięcia zasilania równego 5V. Pomiar natężenia prądu odbywa się pośrednio poprzez pomiar spadku napięcia na rezystorze R4 włączonym szeregowo od strony minusa zasilania mierzonego obwodu. Aby otrzymać natężenie prądu, wynik pomiaru spadku napięcia na rezystorze jest dzielony przez rezystancję opornika. Wejście pomiarowe amperomierza ma zabezpieczenie złożone z rezystora i diody Zenera 5,1 V.

Rysunek (Rys.2) przedstawia projekt płytki drukowanej wykonany za pomocą programu Eagle. Wielkość płytki podyktowana jest głównie przez gabaryty wyświetlacza LCD, wymiary całej płytki wynoszą zatem: (81.7 x 52.5 x 34)mm.

Kolejne 2 zdjęcia (Rys.3, Rys.4) przedstawiają płytkę PCB po wytrawieniu i wlutowaniu elementów z obu stron. Płytkę wykonałem za pomocą metody termotransferu, nie będę jednak opisywał samego procesu, gdyż w internecie aż roi się od informacji na ten temat.
Kod programu został napisany w języku C. Pliki  źródłowe oraz plik hex znajdują się tutaj. W przypadku pytań lub wątpliwości chętnie odpowiem.
Na ostatnich dwóch zdjęciach (Rys.5, Rys.6) przedstawiono ostateczny wygląd miernika.

 

MiernikPanelowy_Schemat

Rys.1 Schemat ideowy miernika.

 

MiernikPanelowy_PCB

Rys.2 Projekt płytki PCB

 PŁYTKA1

Rys.3 PCB

 

 PŁYTKA

Rys.4 PCB

 

 

WYS1

Rys.5 Końcowy wygląd miernika

 

WYS2

Rys.6 Końcowy wygląd miernika przy pomiarze napięcia i prądu.

 

Podsumowanie:

Podsumowując, uważam że zrobienie takiego miernika było bardzo dobrym pomysłem. Nie muszę już przed podłączeniem jakiegoś układu do zasilacza mierzyć woltomierzem jego napięcia wyjściowego a zarazem wiem jaki pobieram z niego prąd. Myślę że w przyszłości rozwinę ten układ o dodatkowe funkcje takie jak pomiar mocy czy pomiar temperatury. Polecam stworzenie takiego miernika wszystkim początkującym elektronikom, gdyż układ ten jest przydatny a i wykonanie go samemu daje dużo satysfakcji.

Ocena: 4.71/5 (głosów: 73)

Podobne posty

22 komentarzy do “Miernik panelowy do zasilacza

  • Świetny projekt.Tylko zaraz, brakuje kodu źródłowego.Proszę podziel się szkicem.Bez kodu to nic nie zdziałamy.Złożymy podłączymy programator i nic więcej nie zrobimy.Projekt będzie nie zrealizowany, ale łapka w gorę za pomysł :)

    Odpowiedz
    • Ady Panowie przecież kod od samego początku jest dostępny :) … W kodzie niema tylko bibliotek do obsługi lcd ( wykorzystałem biblioteki Pan Mirosława Kardasia z książki “Mikrokontrolery AVR Język C podstawy programowania”).

      Polecam czytać uważnie następnym razem :)

      Odpowiedz
  • Nie mam takiej książki w domu.Prościej by było podać jakiś link do strony z szkicem lub wkleić kod programu.Każdy będzie wtedy pełen optymizmu i chęci do wykonania podobnego projektu.
    Sam kiedyś chciałem wykonać taki miernik tylko żeby mierzył moc
    P=[W] ,V,A zabrakło mi zapału nie miałem wtedy usbasp.

    Odpowiedz
    • @Michał
      ” Pliki źródłowe oraz plik hex znajdują się tutaj. W przypadku pytań lub wątpliwości chętnie odpowiem.”
      kliknij w słowo “tutaj” i będziesz miał paczkę *.rar z kodem do ściągnięcia

      Odpowiedz
  • Witam po raz kolejny,czy ten wsad jest do atmega8 bo w symulatorze proteus nie chce się uruchomić.Wyślij jeszcze raz ten skompilowany program w pliku hex.Może źle go skompilowałeś, dzięki za kod programu.

    Odpowiedz
  • Jak z dokładnością takiego pomiaru, nie skaczą wam wyniki?
    Z mojego doświadczenia to rozbieżność pomiędzy multimetrem jest duża a sam wynik nie jest stały w czasie, a powinien być – tak wskazuje multimetr…
    Pozdrawiam

    Odpowiedz
  • Bardzo fajny projekt,
    Natomiast – pomiar prądu poprzez spadek napięcia na rezystorze jest dość mało dokładny. Zmiana rezystancji w stosunki do temperatury.
    Lepiej zastosować czujnik halla – izolacja galwaniczna układu oraz większa dokładność.

    Odpowiedz
  • Przy takiej rezystancji bocznika masz aż 5.5W mocy do rozproszenia i rezystor zmienia sie w piecyk, pomijając fakt, że przy 5A masz 1.1V spadku napięcia co dyskwalifikuje dokładność pomiaru.
    Proponuje użyć rezystora przynajmniej w granicach 10m ohm (0.01 ohm) i wtedy moc będzie 0.25W a spadek napięcia przy 5A wyniesie 0.05V.

    Odpowiedz
  • Udało mi się uruchomić program w proteusie ISIS.
    Musiałem skonfigurować eclipse mars dodać paczkę zip do eclipse,następne przekształcić kod aby obsługiwała go moja biblioteka lcd. Autor do projektu zapomniał do rzucić biblioteki do wyświetlacza HD44780.
    Ja to uczyniłem dodając biblioteki do projektu i kompilując projekt w moim przypadku na atmega88(taki procek mam na stanie.Gdyby chciał ktoś na atmega8 to proszę dać znać) jeszcze raz , bo wysłany przez Ciebie plik miernik.hex może być źle skompilowany, lub pod inną wersję procesora.
    Gdyby miał ktoś jakieś wątpliwości to publikuję nowy plik na moim google- drive dla wszystkich.

    https://drive.google.com/file/d/0BxJF-FV_VhYnaGRCX3JaSEVSVXM/view?usp=sharing

    Dorzucam również schemat podpięcia.

    Miłej zabawy DIY :)

    Odpowiedz
    • Witaj Michał

      Piszę w sparwie miernika do zasilacza https://majsterkowo.pl/miernik-panelowy-do-zasilacza/ ,ponieważ wykonałem go niedawno ale mam problem z wgraniem wsadu do ATmegi8 gdyż mam czarne kwadraty na górnej lini na wyświetlaczu, połączenia sprawdziłem wszystko jest dobrze tylko nie wiem gdzie i jak dodać te biblioteki.
      A widząc Twój komentarz pisze w sprawie czy mógłbyś mi przesłać plik hex gotowy do tego projektu z wgranymi bibliotekami ?

      Aha a fusebity zostają domyślne bez zmian ???
      Programuje z najładką avr burn o mat wraz z programatorem USBasp.
      Proszę o pomoc.

      Pozdrawiam

      Odpowiedz
  • Witam. Czy autor może jeszcze raz udostępnić kod w miejscu “tutaj”? Po kliknięciu pojawia się błąd “403” ;) Będę bardzo wdzięczny :)

    Odpowiedz
  • Skorzystaj z kodu pod linkiem Michał.Jest to zupełnie ten sam kod z dodaną biblioteka graficzną, której autor nie opublikował.Działa od strzała w eclipse skonfigurowanego dla avr,
    avr studio 5.Polecam :) (tymczasowo kod skompilowany dla atmega88).

    Odpowiedz
  • Po pierwsze nie jest to kod pod platformę arduino ide! Kod jest przeznaczony do kompilacji pod platformę eclipse (eclipse mars z pluginem avr)lub pod avr studio 5 (lub 6).Kod pod środowisko arduino ide w zupełności by był prostszy i inaczej wyglądała by jego struktura, oczywiście da się , ale autor tego nie udostępnił.

    W arduino ide jest zakładka plik > przykłady > basic > ReadAnalogVoltage
    Można tu pokusić się o edycję kodu , dodanie biblioteki do wyświetlana znaków na lcd-alfanumerycznym
    ustawieniu napięcia na wyjściu np: 30V(dopasować do zasilania)
    float voltage = sensorValue * (30.0 / 1023.0);
    dodaniu następnej zmiennej float current dla prądu.

    Jak się jest zaradnym to można prościej stworzyć sobie okrojony kod działający podobnie jak zamieszczony w artykule.

    Odpowiedz
  • Ostatnio robię podobny projekt.Mam zrobioną symulację wszystko działa poprawnie po kilku usprawnieniach .Jest to miernik panelowy na wyświetlaczy 7 segmentowym. Projekt w oparciu o środowisko Arduino IDE. Całość wykonam i udostępnię na blogu “Majsterkowo.pl” z kodem źródłowym.
    Naciskając przycisk zmieniamy wartość mierzoną.Mierzymy prąd”A” lub napięcie”V”.

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?