Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 25 lip 2025, o 04:36


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 
    Autor Wiadomość
    PostNapisane: 27 lip 2012, o 17:57 
    Offline
    Nowy

    Dołączył(a): 27 lip 2012
    Posty: 12
    Pomógł: 0

    Witam

    Chciałbym wykonać pomiar napięcia oraz prądu z wykorzystaniem mikrokontrolera ATmega8A.
    Na początku chciałem odczytywać wartość napięcia na zaciskach PC 4 oraz PC 5.
    Problem w odczycie polega na tym, że program zachowuje się tak jakby odczytywane napięcie było dokonywane tylko na 1 kanale (mimo, że jeden z kanałów podłączyłem do masy). Nie wiem co powinienem zmienić w programie, żeby możliwy był odczyt wszystkich możliwych kanałów ADC.

    Uwagi ogólne:
    - korzystam z Uref = 2.56V
    - Zastosowałem dzielnik napięcia U = Uwe / 2


    Pomiar ADC
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.




    Pozdrawiam



    Ostatnio edytowano 12 sie 2012, o 17:37 przez yanan, łącznie edytowano 2 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lip 2012, o 19:48 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 lut 2012
    Posty: 598
    Lokalizacja: Warszawa
    Pomógł: 13

    W funkcji analogread
    ADMUX |= ch - źle


    ADMUX = ch - dobrze

    Reszty nie sprawdzałem .

    ------------------------ [ Dodano po: 4 minutach ]

    Oraz wywal to ch=ch&0b00000111; z tej samej funkcji



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lip 2012, o 21:05 
    Offline
    Nowy

    Dołączył(a): 27 lip 2012
    Posty: 12
    Pomógł: 0

    Program teraz zawiesza cały mikrokontroler. Na wyświetlaczu pojawia się w 2 liniach 5.11 (czyli maksymalna mierzalna wartość przy takim dzielniku napięcia).



    Ostatnio edytowano 12 sie 2012, o 17:36 przez yanan, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lip 2012, o 21:59 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 lut 2012
    Posty: 598
    Lokalizacja: Warszawa
    Pomógł: 13

    Mój błąd :(
    Prawidłowo zmiana kanału powinna wyglądać tak:
    ADMUX = (ADMUX & 0xF8) | ch;

    ------------------------ [ Dodano po: 9 minutach ]

    Niestety nie bardzo mogę zajrzeć do noty, ale sprawdź jeszcze raz czy jest prawidłowo ustaione napięcie odniesienia, bo tak jakoś wzrokowo mi to nie pasuje. I pamiętaj o tym że częstotliwość próbkowania pomiaru dla 10 bitów powinna się zawierać kiedy 50-200kHz, co wiąże się z prawidłowym ustawieniem preskalera



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 lip 2012, o 10:23 
    Offline
    Nowy

    Dołączył(a): 27 lip 2012
    Posty: 12
    Pomógł: 0

    Faktycznie teraz to działa super nawet wyniki są stabilniejsze (przynajmniej tak mi się wydaje).

    Co do pomiaru prądu to niestety nie mam wejść różnicowych i nie wiem jak w takim razie zmierzyć wartość prądu.
    ATmega8 to już starszy układ, ale za to o wiele tańszy :)

    Pomyślałem, że trzeba by jakoś mierzyć różnice napięć na boczniku który będzie podłączony do 2 kanałów ADC i podzielić to przez wartość rezystora R (przekładnika prądowego). Co tym sądzisz? I najważniejsze jaka będzie dokładność takiego pomiaru?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 lip 2012, o 16:01 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    lepiej powiedz jaka cię dokładność pomiaru interesuje, bo już ostatnio dwie osoby na forum wymyślały, że na tych prockach nie da się dokładniej zrobić niż co do 7,4% !!!! ;) ... ale to oczywiście bzdura.

    jeśli nie potrzebujesz nie wiadomo jak dużej precyzji jeśli chodzi o ilość miejsc po przecinku to spokojnie da się to zrobić ;) ....

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 lip 2012, o 16:18 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2011
    Posty: 401
    Lokalizacja: Siedlce
    Pomógł: 7

    Podstawą dokładnego pomiaru jest znajomość napięcia referencyjnego ATMegi - trzeba zmierzyć multimetrem napięcie na nodze Vref.
    Zdarzają się bowiem egzemplarze z dość dużym odchyleniem tego napięcia od 2.56V np. 2.65V

    Polecam również obejrzenie filmików użytkownika anajonesr na YT.
    Na przykład jeden z odcinków dotyczących ADC - http://www.youtube.com/watch?v=sVvDiACf3yE

    _________________
    Czekamy na RedBook'a!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 lip 2012, o 16:24 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    szopler napisał(a):
    Podstawą dokładnego pomiaru jest znajomość napięcia referencyjnego ATMegi - trzeba zmierzyć multimetrem napięcie na nodze Vref.
    Zdarzają się bowiem egzemplarze z dość dużym odchyleniem tego napięcia od 2.56V np. 2.65V


    Cenna uwaga, też o tym nieraz wspominałem na forum.

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 lip 2012, o 20:32 
    Offline
    Nowy

    Dołączył(a): 27 lip 2012
    Posty: 12
    Pomógł: 0

    Może nie chodzi tu o dokładność, lecz zakres mierzonego prądu 10mA - 2A
    Przykładowy pomiar np. 10.3 mA. Nie chciałbym dodawać do tego wzmacniaczy operacyjnych.
    Jakieś pomysły jak to dokonać od strony sprzętowej oraz mile widziana programowa.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 sie 2012, o 11:36 
    Offline
    Nowy

    Dołączył(a): 27 lip 2012
    Posty: 12
    Pomógł: 0

    Nikt nie ma pomysłów jak zrobić to bez dodatkowych wzmacniaczy op.?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 sie 2012, o 11:43 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    yanan napisał(a):
    Nikt nie ma pomysłów jak zrobić to bez dodatkowych wzmacniaczy op.?


    Masz moją pierwszą książkę ?

    http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

    przecież tam masz opisane krok po kroku jak się do tego zabrać i jak zrobić .... czy masz ale nie czytałeś ? czy nie masz ?

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 sie 2012, o 13:47 
    Offline
    Nowy

    Dołączył(a): 27 lip 2012
    Posty: 12
    Pomógł: 0

    Książki nie mam (jeszcze). Na innych forach użytkownicy podpowiadają żeby wykorzystać wejście różnicowe, bo pomiar single ended jest niedokładny dla pomiaru napięć < 1V. Tylko jest jeden problem ATmega8 nie posiada wejść różnicowych (NEG).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 sie 2012, o 14:24 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    yanan napisał(a):
    Książki nie mam (jeszcze). Na innych forach użytkownicy podpowiadają żeby wykorzystać wejście różnicowe, bo pomiar single ended jest niedokładny dla pomiaru napięć < 1V. Tylko jest jeden problem ATmega8 nie posiada wejść różnicowych (NEG).


    Dokładnie dlatego w książce opisywałem jak robić takie pomiary z wykorzystaniem wejść różnicowych bo inaczej TYLKO wzmacniacz operacyjny pomoże. W książce są przykłady chyba i z ATmega32 i z ATtiny26

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 sie 2012, o 16:48 
    Offline
    Nowy

    Dołączył(a): 27 lip 2012
    Posty: 12
    Pomógł: 0

    Zatem albo inny mikrokontroler, albo wykorzystanie wzmacniacza operacyjnego.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 sie 2012, o 16:53 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    yanan napisał(a):
    Zatem albo inny mikrokontroler, albo wykorzystanie wzmacniacza operacyjnego.


    Dokładnie, a jak widzisz masz spory wybór procków z możliwością pomiaru różnicowego. Jeśli zależy ci na większej dokładności to też warto wiedzieć, że lepsze parametry będzie miał np ATtiny26 lub nowszy ATtiny861 niż taka np ATmega32. Porównaj sobie dane z PDF'a

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sie 2012, o 18:00 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 paź 2011
    Posty: 307
    Lokalizacja: Lbt
    Pomógł: 8

    A nie prościej na jakimś boczniku, na którym odkładało by się napięcie w zależności od wielkości płynącego prądu i później jakimś precyzyjnym wzmacniaczem trochę podbić (np OP07)?

    _________________
    Ujemna delta to dopiero początek zabawy...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sie 2012, o 18:02 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    miszczo napisał(a):
    A nie prościej na jakimś boczniku, na którym odkładało by się napięcie w zależności od wielkości płynącego prądu i później jakimś precyzyjnym wzmacniaczem trochę podbić (np OP07)?


    No dokładnie tylko że kolega nie chce jakby użyć zewn. WO, wtedy pozostaje zmiana procka. Albo jeśli nie można wymienić procka to można dodać taki WO ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 sie 2012, o 14:27 
    Offline
    Nowy

    Dołączył(a): 27 lip 2012
    Posty: 12
    Pomógł: 0

    Zdecydowałem się na wzmacniacz operacyjny. Jaki konkretnie wzmacniacz można by zastosować do tego typu pomiaru? Ja zastosowałem LM358. Wynik też nie jest imponujący miernik mierzy z dokładnością +/- 3mA

    P.S. Zauważyłem, że im większy prądy tym błąd się zmniejsza... Czy to jest normalne?
    Pomiar prądu silnika powoduje, że pomiary zaczynają pływać jak sobie z tym poradzić?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO