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



Teraz jest 30 mar 2026, o 17:07


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 19 wrz 2015, o 23:03 
Offline
Nowy

Dołączył(a): 17 maja 2015
Posty: 15
Pomógł: 0

Mam problem z różnicowym pomiarem napięcia w ATmega16. Co prawda mam uC w obudowie DIP, a producent podaje, że w tych obudowach pomiar różnicowy nie był testowany. Czytałem jednak gdzieś, że p. Mirek robił pomiary różnicowe nawet na ATmega8 czego w ogóle nie uwzględnia producent. Próbował może ktoś robić pomiar różnicowy na wspomnianym przeze mnie uC?
Dodam, że pomiary na pojedynczym kanale działają prawidłowo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2015, o 00:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Baki napisał(a):
Mam problem z różnicowym pomiarem napięcia w ATmega16

...problem problemowi nie równy - uszczkniesz rąbka tajemnicy? ;)
Być może źle konfigurujesz ADC, źle podpinasz itd, itp...

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2015, o 10:53 
Offline
Nowy

Dołączył(a): 17 maja 2015
Posty: 15
Pomógł: 0

Konfiguruję tak samo jak dla pojedynczego kanału. Zmieniam tylko ustawienia multipleksera. Dla pomiaru na pojedynczym kanale wszytko działa włącznie ze zmianą kanałów więc myślę, że ustawienia MUX'a są ok. Co do podpięcia próbowałem różnych opcji. Podawałem dwa sygnały napięciowe z dzielników napięcia, podawałem sygnał i masę, próbowałem też z samą masą na jednym z kanałów i drugim wolnym, żeby z szumów coś wyłapał i nic.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2015, o 16:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
...no i będziemy tak sobie korespondować :)
Baki napisał(a):
Konfiguruję tak samo jak dla pojedynczego kanału.

Baki napisał(a):
...myślę, że ustawienia MUX'a są ok

...czyli w.g tabeli str.212?
Może jednak przedstawisz na forum to "tak samo"

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2015, o 20:48 
Offline
Nowy

Dołączył(a): 17 maja 2015
Posty: 15
Pomógł: 0

Przepraszam, faktycznie nieprecyzyjnie się wypowiedziałem.
Ustawienia raczej ze strony 209:
Obrazek
Ustawienia ADC:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Zmiana kanału dla pomiaru z pojedynczego wejścia - korzystam już z 2 pojedynczych kanałów:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Tak jak pisałem dla różnicowego zmieniam tylko MUX przykładowo wstawiam (1<<MUX4) dla pomiaru ADC0, ADC1.
Pomiar wywoływany co 150 ms, odczyt pomiaru w przerwaniu ADC:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Pomiary z pojedynczych kanałów działają bez problemu, przy różnicowym ni cholery.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2015, o 21:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
kicajek napisał(a):
Może jednak przedstawisz na forum to "tak samo"

Błagam :roll: pokaż całą inicjalizację pomiaru który "nie mierzy", wszystko co wpisujesz - zaraz zaczniemy pisać 2str. a stoimy w miejscu.
Ty to u siebie widzisz i wiesz co opisujesz, a ja nie wiem bo tego nie widzę i inaczej nie zaskoczę. Nie zawsze język C da się przełożyć na język który trafia pod strzechy.

P.S w mojej nocie ta tabelka jest na str.212, ale o niej mówiłem.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2015, o 23:17 
Offline
Nowy

Dołączył(a): 17 maja 2015
Posty: 15
Pomógł: 0

Przecież napisałem. To ta funkcja, wygląda dokładnie tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Natomiast jest Tryb=1 co 150 ms. Wypisałem wszystko co związane z ADC. Jeśli myślisz o całym kodzie łącznie z deklaracją zmiennych itp., to uwierz mi nie chcesz go widzieć. Jest tego ponad 400 linii.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 wrz 2015, o 20:45 
Offline
Nowy

Dołączył(a): 17 maja 2015
Posty: 15
Pomógł: 0

Teraz to już w ogóle zgłupiałem. Ustawiłem MUX na sztywno bez przełączania i wtedy działa, przy czym co najmniej dziwnie.
Przykładowo ustawiam tylko (1<<MUX0), działa bardzo dobrze mierząc napięcie na kanale 0. Ustawiam tylko (1<<MUX4) - mierzy napięcie między kanałami 0-1, przy czym jak zewrę kanał 1 do masy wartość napięcia jest ok. połowę mniejsza niż w przypadku mierzenia na pojedynczym kanale 0. Przecież powinna być taka sama prawda?
Jak wykorzystuję przedstawioną wcześniej funkcję przełączającą (przełącza pomiędzy pomiarem na kanale 0, a pomiarem różnicowym 0-1) to dla pojedynczego kanału dostaję prawidłowy wynik, a pomiar różnicowy wskazuje 0 niezależnie od różnicy napięć.
Ktoś ma pomysł czym może być to spowodowane?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 wrz 2015, o 09:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Baki napisał(a):
mierzy napięcie między kanałami 0-1, przy czym jak zewrę kanał 1 do masy wartość napięcia jest ok. połowę mniejsza niż w przypadku mierzenia na pojedynczym kanale 0. Przecież powinna być taka sama prawda?

NOTA KAT napisał(a):
while any other ADC input can be
selected as the positive input terminal. If 1x or 10x gain is used, 8-bit resolution can be
expected. If 200x gain is used, 7-bit resolution can be expected

Polecam obejrzeć poradniki kol.Mirka dot. ADC

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 wrz 2015, o 12:40 
Offline
Nowy

Dołączył(a): 17 maja 2015
Posty: 15
Pomógł: 0

Faktycznie nie doczytałem, wzór na wynik pomiaru różnicowego jest zupełnie inny i zgadza się to z uzyskanym wynikiem. Nadal nie rozumiem jednak, dlaczego nie otrzymuję wyniku przy przełączaniu pomiędzy pomiarem z pojedynczego kanału i różnicowym.
Mirek przekazuje nam ogromną wiedzę i bardzo cenię jego poradniki, jednak mają one jedną wadę - mogłyby być 3 x krótsze i nadal przekazywałyby tyle samo informacji.
Na chwilę obecną nie mam czasu, żeby je wszystkie przejrzeć.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 wrz 2015, o 12:57 
Offline
Moderator
Avatar użytkownika

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

Baki napisał(a):
Czytałem jednak gdzieś, że p. Mirek robił pomiary różnicowe nawet na ATmega8 czego w ogóle nie uwzględnia producent.

Niedawno ktoś pisał rzeczy z kosmosu, że ponoć ja w książce polecam kondensatory na 50 V, a tu widzę kolejny kosmos - że ponoć ja robiłem pomiary różnicowe na ATmega8 ....

Panowie Panowie - zanim powołacie się na to co ja robiłem i zanim będziecie siać plotki z kosmosu - proszę jednak chociaż o odrobinę zastanowienia się .... chociaż tę ODROBINĘ ....

Bo jak tak dalej pójdzie to okaże się - że Mirek robił nawet pomiary różnicowe na 7400 hmmm ?

_________________
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: 26 wrz 2015, o 14:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Baki napisał(a):
Nadal nie rozumiem jednak, dlaczego nie otrzymuję wyniku przy przełączaniu pomiędzy pomiarem z pojedynczego kanału i różnicowym

Może chodzi o czas:
NOTA napisał(a):
When updating ADMUX in one of these conditions, the new settings will affect the next
ADC conversion.
Special care should be taken when changing differential channels. Once a differential
channel has been selected, the gain stage may take as much as 125 μs to stabilize to
the new value. Thus conversions should not be started within the first 125 μs after
selecting a new differential channel. Alternatively, conversion results obtained within this
period should be discarded.

Z tą różnicówką na M8 coś mi nie pasowało, ale czytając i słuchając kol.Mirka myślałem że znowu wpadł na jakiś pomysł i "sie da" więc nie polemizowałem :)

Pozdr.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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