Fredek
Guest
Sun Jul 05, 2009 2:14 am
ADC podaje mi zawyżone wartości pomiaru o około 80 dziesiętnie. Przy
wewnętznym REF2.56V jest to 0.2V Wygląda mi na to jakby kilkadziesiąt kilo
pull-up-a pinu sumowało mi się z moim dzielnikiem.wejściowym 10k do VCC, 2k
do masy.
I nie wiem co z tym zrobić. Pin ustawiony ADC0 jako INPUT DDRC0=0 PORTC0=0
bez pulla a z wyliczeń mi wychodzi, że moje 10k w zielniku łączy się z 50k
tymi w procku dając około 8k wypadkowej i ADC mnie kłamie.
Czy o czymś zapomniałem ?
ADC pracuje w trybie single conversion na tiku timera co 100ms
ldi r16,0b11000000 // 2.56V, ADLAR=0, INPUT=0
out ADMUX, r16
in r18,ADCL
in r19,ADCH
.....
....
in r19, ADCSRA // Ponowny start konwersji
ori r19, (1<<ADSC)
out ADCSRA, r19
Fredek
Guest
Sun Jul 05, 2009 2:30 am
Aha zapomniałem
Jak mierze miernikiem na wejściu ADC czyli w punkcie z dzielnika
5V--->10k/2k to mam napięcie już przekłamane. Powinno być około 0.83V , a
dostaję 1.03V. Przetwornik tyle zlicza i miernik też tyle pokazuje tak jakby
dokładał mi się równolegle do 10k rezystor z pinu PC0.
hmmm
może czegoś nie ustawiłem w tym ATmega8 żeby się ten rezystor odłączył ? Mam
3 urządzenia i wszystkie to samo.
T.M.F.
Guest
Sun Jul 05, 2009 10:18 am
Fredek
Guest
Sun Jul 05, 2009 11:58 am
"T.M.F." <tmf@nospam.mp.pl> wrote in message
news:h2prm5$2iv$1@nemesis.news.neostrada.pl...
[quote:8ed6a2ce18]W dniu 05.07.2009 03:30, Fredek pisze:
Aha zapomnia?em
Jak mierze miernikiem na wej?ciu ADC czyli w punkcie z dzielnika
5V--->10k/2k to mam napi?cie ju? przek?amane. Powinno by? oko?o 0.83V , a
dostaj? 1.03V. Przetwornik tyle zlicza i miernik te? tyle pokazuje tak
jakby
dok?ada? mi si? r?wnolegle do 10k rezystor z pinu PC0.
hmmm
mo?e czego? nie ustawi?em w tym ATmega8 ?eby si? ten rezystor od??czy? ?
Mam
3 urz?dzenia i wszystkie to samo.
A pomierzyles te rezystory? One tez sa obarczone bledem i moze po prostu
twoj dzielnik inaczej wyglada.
Z drugiej strony jesli chcesz zrobic dokladne pomiary to raczej nie uda ci
sie to na wewnetrznym Vref, zobacz w DS jaki on ma rozrzut.
[/quote:8ed6a2ce18]
Rezystory mierzyłem, są idealne, a miernikiem mam tam napięcie 1.03V, a
powinno być mniej i tak też wskazuje ADC. Jestem w związku z tym zdumiony co
się dzieje, bo z wyliczeń wygląda jakby poolup się sumował.
Fredek
Guest
Sun Jul 05, 2009 12:29 pm
"T.M.F." <tmf@nospam.mp.pl> wrote in message
news:h2prm5$2iv$1@nemesis.news.neostrada.pl...
[quote:f349394442]W dniu 05.07.2009 03:30, Fredek pisze:
Aha zapomnia?em
Jak mierze miernikiem na wej?ciu ADC czyli w punkcie z dzielnika
5V--->10k/2k to mam napi?cie ju? przek?amane. Powinno by? oko?o 0.83V , a
dostaj? 1.03V. Przetwornik tyle zlicza i miernik te? tyle pokazuje tak
jakby
dok?ada? mi si? r?wnolegle do 10k rezystor z pinu PC0.
hmmm
mo?e czego? nie ustawi?em w tym ATmega8 ?eby si? ten rezystor od??czy? ?
Mam
3 urz?dzenia i wszystkie to samo.
[/quote:f349394442]
To jest zdecydowanie sprawa pull upa na pinie. Trzy płytki identycznie źle
pokazują.
Teraz ustawiłem soboe PORTC0 na out i wystawiłem 0 i ADC wysyła mi liczbę
0x002 vzyli zero jest zerem i wartością najniższą w rejestrze
Wygląda jakby nie działało odłączanie pullupa ????? czy coś źle robię ?
Zbych
Guest
Sun Jul 05, 2009 12:34 pm
Fredek pisze:
[quote:f70ade1cd4]
Wygląda jakby nie działało odłączanie pullupa ????? czy coś źle robię ?
[/quote:f70ade1cd4]
Masz błąd w linii 138.
PS. Wróżka jest na wakacjach, więc będziesz musiał jednak pokazać kod.
--
przeciez moje rozumowanie bylo bez skazy,
no sam bym wskoczyl do tego wulkanu,
ale kto by tak pieknie gwizdal...
Fredek
Guest
Sun Jul 05, 2009 12:47 pm
Już wiem co to powodowało. Nie wiem tylko czemu.
Ustawiałem piny w bootloaderze po czym skakałem pod adres początku pamięci
programu.
Bootloader 2kB maksymalnie duży. Stosy srosy też tam ustawiam i po tym skoku
rjmp na początek po wykonaniu kodu z bootloadera jakoś mi zapominał
ustawienie pinów, jakby je resetował ?
Ale to na bank to, bo zadeklarowałem je ponownie i przeszło po 3 dniach
bezsensownych zmagań
Fredek
Guest
Sun Jul 05, 2009 12:54 pm
"Zbych" <abuse@onet.pl> wrote in message news:h2q36g$1mef$1@news.mm.pl...
[quote:db7e823f08]Fredek pisze:
Wygląda jakby nie działało odłączanie pullupa ????? czy coś źle robię ?
Masz błąd w linii 138.
PS. Wróżka jest na wakacjach, więc będziesz musiał jednak pokazać kod.
[/quote:db7e823f08]
Jak napisałem znam skutek ale nie powód
Może sie procek jakoś resetuje w chwili przeskoku z chronionego bootloadera
fusami do niechronionej przestrzeni pozostałej od 0x0 do 6kB
Gdzieś siedzi problem.
Teraz skopiowałem pozostałe kilkanaście linijek całej inicjacji pinów do
kodu głównego, na wszelki wypadek, bo nie znam powodu takiego zachowania.
Reset jest ustawiony fusem na bootloader i ogólnie wszystko działało.
Fredek
Guest
Sun Jul 05, 2009 2:14 pm
"Fredek" <no@no.no> wrote in message news:h2q3rq$5m5$1@opal.futuro.pl...
Quote:
Już wiem co to powodowało. Nie wiem tylko czemu.
Dobra wstyd się przyznać

Już działa
Jak wykryłem, że to musi być rezystor podciągający pinu to poprawiłem kod
ale wgrałem soft rs-em zamiast wymienić bootloader hehe kilka razy wgrywałem
jak opętany nie to co trzeba