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



Teraz jest 9 kwi 2020, o 20:41


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 ]
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: 525
Pomógł: 132

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łę

_________________
Miksowanie kodu C i ASM przy użyciu GCC



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 4 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