logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATmega8 - miernik napięcia i prądu - sprawdzenie układu

rax90 02 Kwi 2017 20:55 3315 16
  • #1 16388350
    rax90
    Poziom 7  
    Witam
    ATmega8 - miernik napięcia i prądu - sprawdzenie układu

    Czy ten układ podany wyżej ma prawo działać poprawnie? Oczywiście zakładając, że program wgrany w uC jest poprawny.
    Wszystkie wartości elementów są podane na schemacie, z tym że:
    B1 , B2 - 1W / 1%
    R1-R6 - 0,5W / 1%
    R7-R10 - 0,6W / 0,1%
    uC to ATMega8 w wersji SMD
    napięcie referencyjne - 5v
    stosunek rezystorów w dzielniku - 4:1
    wzmocnienie dla pomiaru prądu - x24

    Natomiast założenie co do pomiarów:
    max prąd - 2A
    max napięcie - 24V

    Układ wykonałem na podstawie:
    http://feriar-lab.pl/woltomierz-amperomierz-termometr-na-avr/
    http://serwis.avt.pl/manuals/AVT5399.pdf
    Co do programu, to ewentualnie napiszę go od zera lub wykorzystam z pierwszego linku.

    Oraz mam jeszcze kilka pytań.
    1. Czy przy dzielnikach i wzmacniaczu dodać potencjometr do regulacji, czy zostawić jak jest?
    2. Czytałem, że można zwiększyć rozdzielczość przetwornika ADC programowo. Chciałbym żeby dokładność pomiarów wynosiła U=10mV , a I=1mA , według moich obliczeń, jakbym zwiększył z 10bit do 12bit to otrzymałbym U=6mV / I=0,5mA . Tylko czy ktoś może mi podesłać link jak to zrobić?
    3. Czy do programowania układu przez USBasp (gniazdo PROG) są potrzebne jakieś elementy dodatkowe?
    4. Można jakoś zrobić, żeby przełączać wartości wyświetlane na LCD, czyli początkowo jest wyświetlane napięcie i prąd dla dwóch kanałów, a po przyciśnięciu przycisku (krótki impuls podany na któryś z pinów) na LCD jest wyświetlana temperatura z czujnika analogowego (na ADC) czy inny parametr, a po ponownym wciśnięciu z powrotem są wyświetlane prądy i napięcia? I jak to można wykonać (link)?
    5. Zapewne istnieje też możliwość wykonania ostrzeżenia (lub czegoś podobnego), że po przekroczeniu określonego napięcia na ADC (temperatura) na LCD jest wyświetlana informacja o tym. Tak samo jak wyżej, czy mógłbym prosić o jakiś link lub ewentualnie jak szukać?
    6. I jeszcze pytanie odnośnie już samej płytki PCB, jakieś wskazówki / rady przy rozmieszczeniu elementów i prowadzeniu ścieżek? Wiem, że kondensatory najbliżej nóżek jak się da, ale coś jeszcze przy tym układzie?

    Liczę na Waszą pomoc.
  • #2 16388397
    adam_es
    Poziom 30  
    Na początek: brak punktu odniesienia (masy) w obwodach X1 i X2. Jeżeli oczekujesz maksymalnej dokładności - dodaj filtrowanie AVCC i stabilne (zewnętrzne) Vref. Zwiększenie rozdzielczości - lektura:Link. No i oczywiście podstawowe zasady projektowania PCB z ADC: masa łączona w jednym punkcie i filtrowanie wartości analogowych.
  • #3 16393213
    rax90
    Poziom 7  
    Czyli pod AVCC wystarczy podłączyć dławik 10uH? Oczywiście napięcie referencyjne to chodziło mi o zewnętrzne i dobrze by było gdybym dodał jeszcze jeden stabilizator napięcia (7805 czy inny?) do napięcia referencyjnego?
    Co do wejścia, czyli X1 , X2 , to po lewej jest wejście z regulatora(zasilacza), a po lewej wyjście do odbiornika. Rezystor bocznikowy jest podłączony do masy (X1_OUT- masa odbiornika , X1- masa zasilacza), a masa całego układu jest wspólna (wszystko zasilane z jednego źródła), więc myślałem, że podłączenie wejścia odwracającego wzmacniacza do drugiej nóżki rezystora nie jest konieczne, ale jak trzeba to poprawię to.
    A mógłbyś mi wytłumaczyć o co chodzi z tym filtrowaniem wartości analogowych? Domyślam się że pewnie chodzi o ADC. Co do masy, to chodzi Ci o wylaną masę, czy podłączenie wszystkiego do masy wejścia zasilania?

    Jest to mój pierwszy układ oparty o mikrokontroler tj ATMega.
    Oczywiście dalej czekam na odpowiedź na pytania.
  • #4 16393297
    BlueDraco
    Specjalista - Mikrokontrolery
    Zacznij od poczytania mikrokontrolery.blogspot.com - zasilanie i odkłócanie, ADC.
    Nie wiem, skąd weźmiesz rezystory 80k (nie wiem też, po co - równie dobrze mogą być 82k).
    LM358 jest dość starym i niezbyt dobrym układem - weź lepszy, nowszy wzmacniacz, z grupy rail-to-rail.
  • #5 16394172
    rax90
    Poziom 7  
    @BlueDraco , dziękuję za odpowiedź. Przeczytałem tematy związane z uC , zakłóceniami, zasilaniem i ADC (oczywiście z tej strony co podałeś, nawet wcześniej czytałem temat "ADC - dokładność vs podłączenie") i według tego poprawiłem schemat, przynajmniej część zasilania.
    ATmega8 - miernik napięcia i prądu - sprawdzenie układu
    Oraz do schematu dodałem zewnętrzne napięcie odniesienia (7805) i kilka kondensatorów i dławik do filtrowania. Tylko jeszcze się zastanawiam, jaki układ wykorzystać dla napięcia referencyjnego, chciałbym, żeby było to 5V , gdyż nie muszę kombinować z rezystorami w dzielniku napięcia, a myślę, że stabilizator napięcia jakim jest LM7805 da radę tutaj, skoro nie będzie pobierany z niego duży prąd, to napięcie nie powinno pulsować, czy może lepiej wykorzystać polecany na w/w stronie MCP1525 i zmienić wzmocnienie wzmacniacza na 12, a dzielnik na 9:1
    Co do wartości rezystorów, to akurat je dostanę z tolerancją 0,1% , a dodatkowo w programie wystarczy, że napięcie na ADC pomnożę x10 i otrzymam wynik pomiaru, bez kombinowania z ułamkami. Dodatkowo rozrzut rezystora 82k 1% byłby +/- 820R, a tu +/-82R
    Co do wzmacniacza operacyjnego, to takie akurat mam, 3szt w obudowie SO8. Przeszukałem sklep internetowy z którego będę zamawiał i taki znalazłem LMV358 wersja PW , tu datasheet http://electropark.pl/attachment.php?id_attachment=1452
    Nada się? I podłączenie takie same jak w przypadku LM358?
    Dalej czekam na odpowiedzi na pytania, chociaż myślę, że pytanie nr 1, 2 i 6 są już nieaktualne. Myślę, że przy tak dokładnych rezystorach nie ma potrzeby stosowania potencjometru (mówię o dzielniku), ewentualnie programowo jakoś wyreguluję.
    I jeszcze pytanie odnośnie pinu RESET, gdyż w artykułach jest napisane, że powinien zostać podciągnięty do zasilania przez rezystor 10k, ale tutaj podłączyłem pod złącze do programowania i pytanie czy mimo to podłączyć do zasilania, czy zostawić jak jest na schemacie?

    Dodam jedynie, że chciałbym już wydrukować wzory płytek i zabrać się za montowanie zasilacza, najlepiej drukując wszystkie wzory za jednym razem ;)
  • #6 16394428
    tmf
    VIP Zasłużony dla elektroda
    7805 jako napięcie referencyjne to dosyć kiepski pomysł. Zastosuj normalne źródła referencyjne, bez kombinowania. Reset zostaw w spokoju. Sprawdź też założenia. Chcesz uzyskać 12 bitów (co jest możliwe programowo), ale używasz po drodze LM385, który stabilnością nie grzeszy. Samo napięcie niezrównoważenia zrujnuje pomiary, do tego dodaj szumy. Chcesz dokładnych pomiarów, to użyj odpowiednich układów. Kwarc dla MCU też w tym układzie nie wydaje się być potrzebny.
  • #8 16394856
    rax90
    Poziom 7  
    Tylko wtedy również koszty rosną o 30 zł , czego wolałbym uniknąć. Dodatkowo myślę, że z kodem będzie więcej zabawy. Więc raczej pozostanę przy ADC w ATMega :)

    @tmf , chyba jednak wykorzystam MCP1525 i inne wartości rezystorów w dzielniku i inne wzmocnienie, po tym co napisałeś :) Nie domyśliłbym się, że 78XX w ogóle nie nadają się na napięcie referencyjne, myślałem, że napięcie na wyjściu nie będzie się wahać przy małym obciążeniu, ale dzięki. Oczywiście w schemacie zmienię to. Chyba chodziło o LM358 :) , a LMV358? Lub mógłbyś polecić jakiś inny układ do ~5zł ze sklepu electropark ?
  • #9 16394945
    dasej
    Poziom 32  
    Jak już to weź źródło które dobrze się dzieli przez 1024.
    Na na 1.024V lub 4.096V. a nie 2.5 co daje 0,00244140625.
  • #10 16394991
    BlueDraco
    Specjalista - Mikrokontrolery
    Akurat napięcie źródła jest bez znaczenia - ty tylko kwestia obliczeń, które na liczbach całkowitych da się wykonać z precyzją przekraczającą rozdzielczość przetwornika. Moim zdaniem najsłabszym punktem rozwiązania jst ADC w ATmedze. Każdy współczesny uC ma lepszy przetwornikk, 12- bitowy i nienajgorsze, kalibrowane napięcie odniesienia. Przyjrzyj się choćby najtańszemu STM32F030F4P6.
  • #11 16395182
    rax90
    Poziom 7  
    @BlueDraco , dziękuję za podpowiedź. Co prawda wiedziałem że są mikrokontrolery innych firm tj. ST, ale nie czytałem ich not katalogowych i po prostu nie wiedziałem, że mają lepsze parametry :) Więc dzięki Twojej radzie jako serce układu wybiorę tego uC co podałeś. Jeszcze tylko pytanie co do podłączenia, wszystko jest tak samo jak przy Atmelu? ADC to na pewno, z tym że STM32 mają zmienione nazwy pinów do programowania, ale LCD i zasilanie podłączam tak samo? I czy taka filtracja zasilania jak w drugim schemacie wystarczy? Oraz co z kwarcem, ponieważ w większości wzorowałem się na układzie ze strony feriar-lab.pl
    Jeszcze jakbym mógł prosić o jakąś podpowiedź, jak mam wykonać lub szukać funkcji z punktu 4. , bo 5. myślę że jakoś sobie poradzę.
    I co ze wzmacniaczem operacyjnym, jeżeli bym wykorzystał uC STM32 to ten LM358 może zostać, czy dać LMV358, który jest rail to rail?

    I jeszcze mi się przypomniało, skoro te STM32 są 32 bitowe, to tym samym przy PWM również mam większy zakres, a nie 0-255 , prawda?

    I czy taki programator będzie dobry do tego układu? https://kamami.pl/zestawy-uruchomieniowe-stm3...or-st-linkv2-compatible-dla-stm32-i-stm8.html
  • Pomocny post
    #12 16395403
    tmf
    VIP Zasłużony dla elektroda
    @rax90 Moim zdaniem porada kol. @BlueDraco jest szkodliwa, bo tylko wprowadza chaos. Sądząc po twoich postach, bez obrazy, ale wnioskuję, że jesteś mocno początkujący zarówno w temacie programowania mikrokontrolerów, jak i elektroniki. Więc nie skacz z kwiatka na kwiatek, bo nigdy tego projektu nie zrealizujesz. ATMega ma wystarczająco dobry ADC. Aby osiągnąć zakładane dokładności pomiaru i tak musisz zastosować zewnętrzne źródło referencyjne. Wbudowane w mikrokontrolery źródła mają dokładność na poziomie 1%, nigdy nie widziałem lepszej. W ATMega masz 10-bitowy ADC, ale ponieważ nie masz wysokich wymogów co do próbkowania, możesz spokojnie dojść do 12 bitów stosując oversampling. Ponieważ w realizacji projektu będziesz potrzebował pomocy, dobierz narzędzia tak, aby skuteczną pomoc można było uzyskać. Zainstaluj sobie też środowisko i zbadaj w czym będziesz miał mniejsze problemy.

    Cytat:
    I jeszcze mi się przypomniało, skoro te STM32 są 32 bitowe, to tym samym przy PWM również mam większy zakres, a nie 0-255 , prawda?


    Jedno z drugim nie ma nic wspólnego. To ile masz bitów PWM zależy od konstrukcji układu peryferyjnego. Ze względu na sposób działania PWM nie ma też większego sensu wprowadzanie PWM większego niż 16-bitowe. Gdyby wypełnienie było regulowane 32-bitową wartością, to już dla przebiegu 1 Hz na wejściu timera musiałbyś zapodać taktowanie ponad 4 GHz.
  • #13 16395718
    kamyczek
    Poziom 38  
    Jak już zaczynacie koledzy pisać i rozdzielczości przetwornika AC to zacząć trzeba od analizy części analogowej na tym wzmacniaczu operacyjnym dokładność to słowo abstrakcyjne a 12 bitów jest zbędna . poza tym zgodzę się z Tomkiem przesiadka miała by sens gdyby człowiek zrealizował projekt i nie mógł osiągnąć parametrów ze względu na osiągi mikrokontrolera tu nic to nie zmieni bo jak nie potrafię zrealizować zagadnienia na avr nie zrobię go na armie . Żeby takie zagadnienie miało sens przede wszystkim zmienił bym część analogową wzmacniacz na precyzyjny i dzielniki na minimum 1% a najlepiej na 0.1% do tego dochodzi kalibracja lub korekta błędów źródła odniesienia . Inaczej będzie to wskaźnik nie miernik a wartości po przecinku mało ważne i nie mające nic wspólnego z realną wartością prądu i napięcia . Ciężko tu oceniać wiedzę autora w odniesieniu do ilości postów , ale sposób realizacji wskazuje raczej na początkującego lub studenta budującego pracę inżynierską .
  • #14 16395936
    rax90
    Poziom 7  
    Teraz to mi namieszaliście. W temacie mikrokontrolerów jestem świeży, natomiast w elektronice nie do końca. Podstawowe zagadnienia nt. elektroniki znam, a obecnie jestem w pierwszej klasie technikum na kierunku elektronik.

    @tmf , co do napięcia referencyjnego to wiem, że musi być zewnętrzne. Co do środowiska do programowania, to myślę, że dużego problemu nie będę miał, może trochę zajmie mi opanowanie tego. Co do PWM, to nawet 10-bitów by mi starczyło, a z tego co czytałem w nocie, to chyba ma 16-bitowy PWM. Ale nie o tym jest temat.

    @kamyczek , w dzielniku są zastosowane rezystory 0,1% (będą), natomiast co do wzmacniacza, to nie wiem jaki będzie lepszy, gdyż używam go pierwszy raz. Więc jakbym mógł prosić o podanie jakiegoś innego (model). Fakt, może aż tak duża rozdzielczość nie jest potrzebna przy zasilaczu DIY, ale skoro można pobawić się tym nadpróbkowaniem, to czemu nie. Zawsze jakieś postępy będą, niż tylko napisać prosty program do pomiaru wartości ADC i wyświetlania ich na LCD.

    No i ostatecznie jednak wybiorę ATMegę. Więc, czy mógłbym prosić o napisanie, czy drugi schemat (napięcie odniesienia będzie to MCP1525 lub MCP1541) mogę zrealizować i będzie to poprawnie działało? Czy coś jest nie tak i wymaga zmiany? Oczywiście z innym wzmacniaczem.
  • #15 16396595
    Jacek Rutkowski
    Poziom 28  
    Kolego rax90 jeśli chcesz coś sensownie mierzyć to zmień wzmacniacze np. na MCP616-I/P jeśli ma być przewlekany lub jakiegoś SMD OPA z napięciem niezrównoważenia wejściowego <100µV.
    W innym wypadku błąd samego wzmacniacza niweczy całą dokładność.
    Pomijam już problem tolerancji rezystorów w roli boczników, które w najlepszy przypadku będą 1% a dla sensownych pomiarów powinny być także 0,1%...
  • #16 16397061
    rax90
    Poziom 7  
    @Jacek Rutkowski , i właśnie takiej odpowiedzi oczekiwałem :) Co prawda podany przez Ciebie układ jest trudno dostępny, a na pewno nie ma go w tym sklepie co będę zamawiał. Ale znalazłem inny, OP07CP , który ma napięcie niezrównoważenia wejściowego max 75uV , jedynie nie jest rail to rail. Co do rezystorów, , to wartości rzędu 1-2k dla pierwszego rezystora mogą być, czy kilkadziesiąt kiloomów? Oraz czy są potrzebne cztery rezystory, jak w kicie AVT5399?
  • Pomocny post
    #17 16398975
    Jacek Rutkowski
    Poziom 28  
    Specjalnie znalazłem wzmacniacz w DIPie dostępny w tme.eu za 4zł abyś nie szukał cudów (MCP617 jest obecnie dostępny). Ten który podałem jest rail to rail na wyjściu ale ważniejsze wejście może pracować od 0V natomiast OP07 Vin od Vss+2V do Vcc-2V tzn że przy pojedynczym zasilaniu wejście działa poprawnie od ok 2V względem masy. Nie masz ujemnego napięcia zasilającego więc jego robienie jest niewygodne. Dodatkowo zastosowałbym jeszcze mniejszy bocznik tzn. 0,01-0,04Ω aby nie nagrzewał się zbytnio powodując dodatkowe straty mocy.
    Rezystor na wejściu wzmacniacza może być o małej wartości dziesiątek czy setek Ω...
REKLAMA