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 4 cze 2025, o 07:08


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 19 ] 
    Autor Wiadomość
    PostNapisane: 13 sty 2013, o 16:28 
    Offline
    Użytkownik

    Dołączył(a): 29 gru 2011
    Posty: 82
    Lokalizacja: Gdańsk
    Pomógł: 0

    Witam,

    Przerabiam teraz pomiar napięcia za pomocą ADC. Lecz naszła mnie pewna wątpliwość a raczej niezrozumenie. Otóż jak wiadomo, aby wykonać zadanie trzeba wybrać napięcie odniesienia, włączyć moduł, ustawić preskaler w zależności od rozdzielczości bitowej itd. Następnie wykonanie drobnych obliczeń dla naszego dzielnika oraz pomiarów. Mamy oczywiście to wszystko ładnie opisane w książce jak i na stronie atnela co i jak pomierzyć aby wszystko wykonać. I tu mi się pojawił pewien znak zapytania.

    Cytaty z artykułu na stronie:
    Cytuj:
    musimy ustawić na wejściu maksymalne pożądane napięcie, które chcemy mierzyć, następnie suwakiem potencjometru ustawić napięcie WYJŚCIOWE do takiej wartości, jakie wybraliśmy źródło odniesienia.


    Cytuj:
    Jeśli wybierzemy programowo 2,56 V to suwakiem pokręcamy aż uzyskamy na suwaku (mierząc tym razem naszym miernikiem - woltomierzem) napięcie 2,56V


    Nie wiem, czy dobrze rozumię. Ale ja to widzę tak. Podłączamy naszą płytkę do żródła zasilania w moim przypadku pod usb i mierzymy napięcie między suwakiem a naszą końcówką VOLT, dzięki temu będziemy mogli wyznaczyć wartość ADC. Ja tak to rozumię z tego fragmentu książki:

    Cytuj:
    Natomiast jeśli na suwaku będziemy mieli np. 1,5V to wartość ADC powinna wynieść: (1,5V * 1024)/ 2,56V = 600


    I po tym jak wykonamy nasze pomiary, to możemy dalej kontynuować obliczenia i ustawić wszystko w programie, tak jak to jest opisane w książce.

    Wydaje mi się, że skąplikowałem sobię trochę zagadnienie lub zbyt dosłownie to zrozumiałem, bąć co gorsza nie dokładnie. ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sty 2013, o 17:27 
    Offline
    Moderator
    Avatar użytkownika

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

    Gdy pisałem książkę, to jeszcze nie było takiego fajnego regulowanego dzielnika napięcia w starszych wersjach zestawów ATB, jak teraz ;) .... Wtedy był tylko zwykły potencjometr wpięty pomiędzy VCC a GND i suwak można było podłączyć do ADC

    Więc to CAŁKIEM dwie różne rzeczy. Nie rób więc sobie MIXU w głowie i poczytaj to co na stronie

    http://atnel.pl/atb-pomiar-napiecia-adc.html

    i daj znać czego tu nie rozumiesz - bo rzeczywiście z tego co opisałeś to skomplikowałeś i pogmatwałeś sobie zdaje się wszystko.

    czekam więc na info po lekturze ze strony ok?

    _________________
    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: 13 sty 2013, o 17:29 
    Offline
    Użytkownik

    Dołączył(a): 10 paź 2012
    Posty: 123
    Pomógł: 10

    Witam.
    Moim zdaniem chodzi tu o to że:
    1. Ustalasz sobie wartość napięcia odniesienia dla przetwornika ADC procka (np. te 2,56V)
    2. Na wejście układu pomiarowego czyli to co w książce oznaczone jest jako Uwe musisz podać maksymalne napięcie jakie chcesz mierzyć (z jakiegoś zewnętrznego zasilacza a jeśli maksymalne napięcie będzie np 5 V to możesz je podać z własnej płytki)
    3. Regulujesz potencjometrem teraz tak aby przy maksymalnym napięciu Uwe jakie chcesz mierzyć (a które podłączyłeś w punkcie 2. i jest cały czas podłączone) napięcie wyjściowe (w książce oznaczone jako Uwy czyli to co podajesz na procek na przetwornik ADC) osiągnęło wartość równą napięciu odniesienia jakie ustawiłeś w punkcie 1.
    Dzięki temu pomiar będzie obejmował cały zakres przetwornika więc będzie dokładniejszy.
    Pozdrawiam
    Jarek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sty 2013, o 17:30 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2012
    Posty: 291
    Lokalizacja: okolice Opola
    Pomógł: 20

    Za mocno skomplikowałeś prostą sprawę :D

    Ustawiasz potencjometr tak aby przy największym mierzonym napięciu (w tym wypadku to 5V z USB) na suwaku potencjometru było 2,56V (co powinno się równać wartości w rejestrze ADC 1023 (najłatwiej wyświetlić na lcd prosto wartość z tego rejestru) i gotowe.

    Później w programie przeliczyć i gotowe.

    ------------------------ [ Dodano po: kilkunastu sekundach ]

    O się spóźniłem i jark mnie ubiegł :D

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sty 2013, o 17:43 
    Offline
    Moderator
    Avatar użytkownika

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

    krafin napisał(a):
    Ustawiasz potencjometr tak aby przy największym mierzonym napięciu (w tym wypadku to 5V z USB) na suwaku potencjometru było 2,56V (co powinno się równać wartości w rejestrze ADC 1023 (najłatwiej wyświetlić na lcd prosto wartość z tego rejestru) i gotowe.


    Może i się spóźniłeś - ale już chyba krócej się wyjaśnić tego nie da ;)

    _________________
    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: 13 sty 2013, o 18:43 
    Offline
    Użytkownik

    Dołączył(a): 29 gru 2011
    Posty: 82
    Lokalizacja: Gdańsk
    Pomógł: 0

    Artykuł na stronie już czytałem.
    Czyli jak dobrze rozumiem, to napięcie 5V z płytki przykładam na nózki naszego woltomierza?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sty 2013, o 18:51 
    Offline
    Moderator
    Avatar użytkownika

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

    Patryk55 napisał(a):
    Artykuł na stronie już czytałem.
    Czyli jak dobrze rozumiem, to napięcie 5V z płytki przykładam na nózki naszego woltomierza?


    No na tą nóżkę VOLT możesz podać dowolne napięcie pod warunkiem że wcześniej sobie skalibrujesz ten regulowany dzielnik wg opisu ;) (tzn dowolne ale nie np zmienne) ;)

    Oczywiście, że może to być +5V z układu ATB i dokładnie tak samo dla niego dokonaj tej kalibracji ;) czyli

    1. zmierz najpierw napięcie na AREF
    2. podłącz +5V do wejścia VOLT (masy już masz połączone w ATB)
    3. ustaw suwakiem potencjometru napięcie = AREF z pkt.1
    4. podłącz suwak do ADC

    i już pięknie możesz mierzyć wejściem VOLT napięcia od 0 do +5V .... jak chcesz płynnie to oczywiście musisz sobie np jakiś zewnętrzny potencjometr podłączyć do tego wejścia.

    _________________
    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: 13 sty 2013, o 18:52 
    Offline
    Użytkownik

    Dołączył(a): 10 paź 2012
    Posty: 123
    Pomógł: 10

    Witam.
    Jeśli napięcie mierzone (bo nie napisałeś tak naprawdę co chcesz mierzyć) będzie miało maksymalnie 5 V to tak.
    Pozdrawiam
    Jarek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sty 2013, o 19:01 
    Offline
    Moderator
    Avatar użytkownika

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

    jark napisał(a):
    Witam.
    Jeśli napięcie mierzone (bo nie napisałeś tak naprawdę co chcesz mierzyć) będzie miało maksymalnie 5 V to tak.
    Pozdrawiam
    Jarek


    Słuszna uwaga ;)

    _________________
    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: 13 sty 2013, o 19:32 
    Offline
    Użytkownik

    Dołączył(a): 29 gru 2011
    Posty: 82
    Lokalizacja: Gdańsk
    Pomógł: 0

    Dziękuję za wytłumaczenie, lecz mam jeszcze jedną wątpliwość.
    Dlaczego na pinie AREF mamy mierzyć napięcie, skoro jeśli go podłaczymy do 5V to, będziemy korzystać z zewnętrznego żródła odniesienia?
    Chcę mierzyc napięcie na zasilaniu(usb).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sty 2013, o 19:37 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2012
    Posty: 291
    Lokalizacja: okolice Opola
    Pomógł: 20

    Nie masz podłączać AREF do 5V, ono ma być podłączone przez kondensator do masy (jest już podłączone na ATB) czyli pin aref ma zostać wolny.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sty 2013, o 19:40 
    Offline
    Moderator
    Avatar użytkownika

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

    Patryk55 napisał(a):
    Dziękuję za wytłumaczenie, lecz mam jeszcze jedną wątpliwość.
    Dlaczego na pinie AREF mamy mierzyć napięcie, skoro jeśli go podłaczymy do 5V to, będziemy korzystać z zewnętrznego żródła odniesienia?
    Chcę mierzyc napięcie na zasilaniu(usb).


    Typowy błąd początkujących powielany na setkach stron internetowych :( ..... napięcie VCC możesz i powinieneś jak już chcesz ustawić programowo w rejestrze ADMUX za pomocą bitów REFSx .... a nie przez fizyczne podłączanie tam +5V

    tak jak pisze kolega wyżej - AREF podłączaj przez kondensator 100nF do GND

    _________________
    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: 13 sty 2013, o 19:46 
    Offline
    Użytkownik

    Dołączył(a): 10 paź 2012
    Posty: 123
    Pomógł: 10

    Witam.
    Tak jak napisł krafin nie masz podpinać AREF do zasilania. Korzystanie z napięcia USB jako napięcia odniesienia to kiepski pomysł.
    Do AREF lepiej podłączać specjalnie przeznaczone do tego układy np REF02AP (źródło napięcia odniesienia 5V) a jeśli takiego nie masz to lepiej jest korzystać z wewnętrznego źródła odniesienia.
    Pozdrawiam
    Jarek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sty 2013, o 20:06 
    Offline
    Użytkownik

    Dołączył(a): 29 gru 2011
    Posty: 82
    Lokalizacja: Gdańsk
    Pomógł: 0

    Pogubiłem się już. ;)

    W programie ustawione jest wszystko tak:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Na płytce mam podłączony pin od suwaka do PA5(ADC5), pużniej do pinu VOLT 5V z płytki, no i oczywiście lcd.
    Tak jak Pan Mirek mówił skalibrowałem dzielnik tak jak mówił. Lecz gdy mierzę napięcie na AREF-5V to nic się nie wyświetla. 0V na multimetrze.
    Kwarc mam 16MHz.


    Kod umieszczamy w znacznikach Syntax - Zielony J.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sty 2013, o 21:47 
    Offline
    Moderator
    Avatar użytkownika

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

    A możesz wyjaśnić co to znaczy:

    " Lecz gdy mierzę napięcie na AREF-5V ..."

    o czym ty piszesz ? tak się zastanawiam ???

    _________________
    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: 14 sty 2013, o 13:57 
    Offline
    Użytkownik

    Dołączył(a): 29 gru 2011
    Posty: 82
    Lokalizacja: Gdańsk
    Pomógł: 0

    Przepraszam wszystkich za mój niezrozumiały język, który jak widać ne jest dobrym przykładem i wprowadza wszystkich w rwanie włosów. :lol: Lecz dopadła mnie grypa i jestem trochę zacięty. A, że nie potrafię siedzieć bez ruchu, dlatego kontynuuję książkę. ;)

    Dzisiaj jest już ok. Więc od początku:
    Cytuj:
    Oczywiście, że może to być +5V z układu ATB i dokładnie tak samo dla niego dokonaj tej kalibracji czyli

    1. zmierz najpierw napięcie na AREF
    2. podłącz +5V do wejścia VOLT (masy już masz połączone w ATB)
    3. ustaw suwakiem potencjometru napięcie = AREF z pkt.1
    4. podłącz suwak do ADC


    Wykonałem kalibrację:
    1. Mam 2,53V
    2. Podłączyłem.
    3. Ustawiłem suwakiem napięcie AREF i sprawdziłem czy jest ok, między pinem VOLT a suwakiem i jest OK.
    4. Podłączyłem.

    I teraz po zakończeniu kalibracji, możemy ze wzorów sobie wszystko ładnie policzyć.
    Czyli:
    - Narpierw ADC
    U mnie:
    Vin = 2.53V
    Vref = 2,56V

    ADC = 2,53 * 1024 / 2,56 = 1012

    Pużniej mamy:

    Vin = ADC * (Vref / 1024) * K K=1 dla 5V
    Vin = 1012 * (2,56/1024) * 1 = 2.53V czyli się zgadza.

    Czyli w programie mamy tak:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Preskaler na 128, bo kwarc 16MHz, mamy Atmega644PA i kozystamy z 10-bitowej rozdzielczości, czyli po podzieleniu naszej częstotliwości mieścimy się w przedziale 50kHz - 200kHz.

    I jak wybieram kanał ADC w rejestrze ADMUX to mogę też tak napisać jak mam zakomentowane w definicji funkcji?

    No i mamy poza tym oczywiście podączony wyświetlacz zgodnie z ustawieniami jakie ustawiliśmy w pliku ".h" w naszej bibliotece oraz podświetlenie do 5V.

    Wgrywamy program i powinno nam sie wyświetlać mierzone napięcie na zasilaniu( USB).

    A u mnie są tylko dwa podświetlone rządki, czyli nasze "piksele".

    I tu jest pytanie do was co robię zle? ;)

    Jeśli jakieś informacje się jeszcze przydadzą to piście. ;)

    I jeszcze raz przepraszam. ;) :)

    Patryk - czytałeś moją uwagę w poprzednim Twoim poście?? Zielony J.



    Ostatnio edytowano 14 sty 2013, o 14:10 przez Patryk55, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 sty 2013, o 14:11 
    Offline
    Użytkownik

    Dołączył(a): 29 gru 2011
    Posty: 82
    Lokalizacja: Gdańsk
    Pomógł: 0

    Czytałem, czytałem, tylko coś nie wyszło. ;) :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 sty 2013, o 15:32 
    Offline
    Moderator
    Avatar użytkownika

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

    Patrtyk44 ---> ty może rozdziel dwa tematy w swojej głowie ;) bo będzie źle.

    Ty masz kłopot z samym LCD czy z ADC. Bo czytam, czytam, czytam ... wywody długie o ADC a na końcu że nie działa mi LCD ;)

    tak to do niczego nie dojdziemy .... przyznam szczerze, że mi coraz trudniej podpowiadać w takim układzie :(

    Proponuję ci szczerze - zostaw na razie ADC a poćwicz sobie LCD, jego podłączanie i obsługę. A jak czegoś nie wiesz to załóż osobny wątek i najpierw naucz się go obsługiwać. Bo nie ma to NIC WSPÓLNEGO z ADC i w każdym projekcie tak samo się go obsługuje ...

    a jak dojdziesz do wprawy to wtedy wróć do ADC ok ?

    _________________
    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: 14 sty 2013, o 15:51 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2012
    Posty: 291
    Lokalizacja: okolice Opola
    Pomógł: 20

    Dokładnie tak jak mówi mirek a oprócz tego zapomniałeś zrzutować na uint32 ale to nie wyjaśnia i tak twojego problemu.

    Najpierw poćwicz wyświetlanie na lcd różnych rzeczy w tym zmiennych a potem się za to zabie.

    _________________
    sig off ;(



    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: 19 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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