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



Teraz jest 9 mar 2025, o 23:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 14 lis 2014, o 12:25 
Offline
Nowy

Dołączył(a): 14 lis 2014
Posty: 3
Pomógł: 0

Jako, że jest to mój pierwszy post na tym forum - witam wszystkich.

Przechodząc do meritum, mam problem z odczytem wartości z przetwornika AD w Atmedze128. Podczas próby odczytu rejestr ADC zawsze wskazuje tą samą wartość "960", czyli prawie 90% wypełnienia, gdzie napięcie wejściowe to 3,4 V a referencyjne 4,8 V (sprawdzone miernikiem). Te same wartości pokazuje zarówno ADC1 jak i ADC2. Załączam schemat połączenia oraz kod inicjacji i odczytu rejestru ADC. Nie używam innych pinów rejestru DDRF, więc nie mam żadnych innych działań na nim.

Czy macie jakieś sugestie co może być przyczyną błędnego działania ADC?

Obrazek

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2014, o 13:11 
Offline
Moderator
Avatar użytkownika

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

SMYQ napisał(a):
ADMUX |=(channel & 0x1F);

A jaki ty kanał tym wybierasz ?

_________________
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 lis 2014, o 13:40 
Offline
Nowy

Dołączył(a): 14 lis 2014
Posty: 3
Pomógł: 0

Kanał drugi:

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


Co do:

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


5 ostatnich bitów admuxa jest ustawione po tej operacji na 00010 także channel 2. Jest tu gdzieś błąd?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lis 2014, o 13:48 
Offline
Moderator
Avatar użytkownika

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

próbowałeś z

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

_________________
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 lis 2014, o 20:16 
Offline
Nowy

Dołączył(a): 14 lis 2014
Posty: 3
Pomógł: 0

Właśnie przetestowałem ADCW i jest ten sam wynik.

Sprawdziłem też piny na portu F i działają prawidłowo - odczytały wartość wysoką napięcia wejściowego.

Gdzie dalej szukać przyczyny?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2015, o 09:59 
Offline
Nowy

Dołączył(a): 11 gru 2014
Posty: 1
Pomógł: 0

Ja też dopiero zaczynam. Walczyłem z podlewaniem na Atmega128. Co mogę zasugerować:
pierwsza rzecz - ustawiasz kanał czekasz na zakończenie pomiaru ustawiasz pojedynczy pomiar
i znowu czekasz na zakończenie - chyba pierwsza pętla while nie jest potrzebna.
Druga uwaga - u mnie zadziało jak po obsłudze ADCW (u mnie ADC) dałem _delay_ms(100)
Dlaczego? nie wiem ale działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 cze 2015, o 10:34 
Offline
Moderator
Avatar użytkownika

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

szegi napisał(a):
Druga uwaga - u mnie zadziało jak po obsłudze ADCW (u mnie ADC) dałem _delay_ms(100)
Dlaczego? nie wiem ale działa.

Absolutnie nie trzeba żadnego delaya, skoro ci nie działało to coś mocno źle zrobiłeś niestety ..

Proszę zajrzeć tutaj: post13633.html#p13633

_________________
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 lut 2017, o 16:23 
Offline
Nowy

Dołączył(a): 10 sie 2014
Posty: 3
Pomógł: 0

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

i zaczęło normalnie działać i z kodem z niebieskiej książki plik w którym trzeba za implementować *iom128.h
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

pozdrawiam



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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