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 26 lip 2025, o 12:58


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
    Autor Wiadomość
    PostNapisane: 30 lis 2018, o 19:45 
    Offline
    Użytkownik

    Dołączył(a): 19 lut 2013
    Posty: 50
    Pomógł: 0

    Witam,

    Mam problem z ADC na Attiny13A i już nie mam pomysłów co może być nie tak.

    Prawidłowo działa tylko jeden kanał - na PB3.

    Na PB4 ADC wskazuje cały czas 1023, chociaż mierzę miernikiem napięcie na tym pinie i zależnie od położenia potencjometru napięcie zmienia się w granicach 0 - ~1.1V. Więc jest ok, nie ma żadnego zwarcia. Także płytka jest dobrze zrobiona, napięcia się prawidłowo regulują potencjometrem na obu kanałach, dzielniki napięcia są dobrze obliczone, zresztą korzystałem z MkAVRCalculator.

    Oto schemat:

    Obrazek


    Niestety nie mam możliwości zobaczenia wartości ADC na terminalu lub lcd, gdyż to mały kontrolerek. Jednak mając diody LED można sobie poradzić.

    Korzystam ze sprawdzonego programu Pana Mirka do ADC:

    main.c:

    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.


    main.h:

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


    adc.c:

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


    adc.h:

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



    Na PB3, jeśli przekręcę potencjometrem na wartość >= 1.08V, diody zaczynają migać, jeśli zmniejszę napięcie to oczywiście przestają. Czyli jest OK.
    Z kolei, jak już wspominałem na PB4 zawsze diody migają, czyli zawsze wynosi 1023. Nawet po zwarciu PB4 do masy nadal migają(Na PB3 po zwarciu do masy przestają migać). Ustawiałem wszystkie konfiguracje pinu PB4, na wejście, wejście z pull up, wyjście ze stanem niskim, zawsze diody migają.

    Płytkę mam niestety zrobioną pod PB4 oraz PB3. Próbowałem jednak również na PB2 - jeśli nie podam żadnego napięcia to diody są zgaszone - więc OK. Jednak jeśli zewrę PB2 do jakiegokolwiek napięcia, to też nic się nie dzieje... diody zgaszone czyli sytuacja odwrotna do PB3.

    Kanał oczywiście dobieram jako argument do funkcji pomiar().

    Attiny13 taktowane jest wewnętrznym oscylatorem 4.8 MHz.


    Nie pierwszy raz mierzę napięcie na ADC, ale pierwszy raz na Attiny13. Nigdy nie było takich problemów, kontroler jest nowo kupiony. Czy robię coś nie tak?

    Proszę o pomoc,

    pozdrawiam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 lis 2018, o 20:38 
    Offline
    Użytkownik

    Dołączył(a): 07 cze 2016
    Posty: 563
    Pomógł: 143

    Spójrz jeszcze raz na tabelkę z bitami MUX1 i MUX0 w rejestrze ADMUX.
    Dla PB4 wartość bitów powinna być MUX1=1 i MUX0=0. Ty podajesz jako argument funkcji kanal wartość 4 (PB4), czyli binarnie 0b100, więc de facto instrukcja
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    ustawia bit MUX1=0 i MUX0=0.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 lis 2018, o 21:29 
    Offline
    Użytkownik

    Dołączył(a): 19 lut 2013
    Posty: 50
    Pomógł: 0

    Dokładnie andrews :D brawo, o to chodziło! Dzięki :)



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

    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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO