szpic Napisano Luty 7, 2011 Udostępnij Napisano Luty 7, 2011 Witam Mam problem z odczytem wartosci z ADC0 Mianowicie caly czas odczytywana jest wartosc maksymalna tj 1023 mimo ze powinno byc 0 Kod z moimi komentarzami: void InitADC() { ADMUX=(3<<REFS0); // For Aref=2,56 internal; ADCSRA=(1<<ADEN)|(1<<ADPS2)|(0<<ADPS1)|(0<<ADPS0); //Rrescalar div factor =16 bo mam ustawione 1mhz } uint16_t ReadADC(uint8_t ch) { //Select ADC Channel ch must be 0-7 ch=ch&0b00000000; // Aby czytac z ADC 0 ADMUX|=ch; //Start Single conversion ADCSRA|=(1<<ADSC); //Wait for conversion to complete while(!(ADCSRA & (1<<ADIF))); //Clear ADIF by writing one to it //Note you may be wondering why we have write one to clear it //This is standard way of clearing bits in io as said in datasheets. //The code writes '1' but it result in setting bit to '0' !!! ADCSRA|=(1<<ADIF); return(ADC); Nastepnie : uint16_t adc_result; InitADC(); adc_result=ReadADC(0); // Pobieram wartosc z ADC InitLCD(); ClearLCD(); char* bufor="Hello "; char* bufor2=" XXX"; itoa(adc_result,bufor2,10); // zamiana Na asci //bufor = adc_result; Println(bufor, 6); Println(bufor2,4); // wypisywanie Widzi ktos jakies błędy przez które moj ADC zawsze podaje wartosc Max? Cytuj Link do komentarza Share on other sites More sharing options...
OldSkull Luty 7, 2011 Udostępnij Luty 7, 2011 Jak masz skonfigurowany PORTC? Co masz podłączone do tej nóżki? Cytuj Link do komentarza Share on other sites More sharing options...
szpic Luty 8, 2011 Autor tematu Udostępnij Luty 8, 2011 Port C nie jest konfigorowany przeze mnie bo powiedziano mi ze nie jest to potrzebne. Czyli jednak w kodzie mam zamiescic takie cos : DDRA=0x00 PORTA=0x00 ? z podlączone mam takie cos jak na obrazku ktory zamieszczam w poscie Cytuj Link do komentarza Share on other sites More sharing options...
grabo Luty 8, 2011 Udostępnij Luty 8, 2011 Upewnij się, że wzmacniacz operacyjny który zastosowałeś nadaje się do takiego układu pracy przy pojedynczym zasilaniu. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
szpic Luty 8, 2011 Autor tematu Udostępnij Luty 8, 2011 Upewnij się, że wzmacniacz operacyjny który zastosowałeś nadaje się do takiego układu pracy przy pojedynczym zasilaniu. wzmacniacz operacyjny jest OK. Sam producent w datasheet wymienia go jako polecany ukllad. Cytuj Link do komentarza Share on other sites More sharing options...
grabo Luty 8, 2011 Udostępnij Luty 8, 2011 Sam producent w datasheet wymienia go jako polecany ukllad. Rozumiem, że zgodnie z datasheet wzmacniacza operacyjnego AD708 zasilasz go napięciem symetrycznym? Tzn. na nóżce 8 napięcie +3...18V a na nóżce 4 napięcie -3...18V względem potencjału masy? Cytuj Link do komentarza Share on other sites More sharing options...
szpic Luty 8, 2011 Autor tematu Udostępnij Luty 8, 2011 Sam producent w datasheet wymienia go jako polecany ukllad. Rozumiem, że zgodnie z datasheet wzmacniacza operacyjnego AD708 zasilasz go napięciem symetrycznym? Tzn. na nóżce 8 napięcie +3...18V a na nóżce 4 napięcie -3...18V względem potencjału masy? to jest OP07 na 7 dostaje 5 V na 4 0V Cytuj Link do komentarza Share on other sites More sharing options...
grabo Luty 8, 2011 Udostępnij Luty 8, 2011 I w tym problem, układ ten wymaga symetrycznego napięcia zasilania! Rozwiązań jest kilka, najprostsze to dorobić zasilanie -5V 🙂 Mógłbyś spróbować wstawić inny układ pracujący na pojedynczym napięciu zasilania (np. LM358) i dać potencjał odniesienia w postaci dzielnika, do którego podpiąłbyś wejście nieodwracające i jedno z wyprowadzeń czujnika. Cytuj Link do komentarza Share on other sites More sharing options...
szpic Luty 8, 2011 Autor tematu Udostępnij Luty 8, 2011 OK ale to teraz jak mam odwrocic na -5? pozatym czy potem moj wzmacniacz bedzie dawal napiecia z zakresu -5 do +5? a na atmege moge dac tylko 0-5? Cytuj Link do komentarza Share on other sites More sharing options...
grabo Luty 8, 2011 Udostępnij Luty 8, 2011 Chyba bezpieczniej będzie, jak zastosujesz to drugie rozwiązanie... Jak będę w domu to narysuję na szybko schemacik Cytuj Link do komentarza Share on other sites More sharing options...
szpic Luty 8, 2011 Autor tematu Udostępnij Luty 8, 2011 Chyba bezpieczniej będzie, jak zastosujesz to drugie rozwiązanie... Jak będę w domu to narysuję na szybko schemacik Dzieki wielkie 🙂 ja na szybko zaprojektowalem takie cos : + oczywiscie rezystor sprzegajacy miedzy Wejsciem - a wyjsciem I chyba takie cos odpowiada podlaczeniu tego z op07 ok wpiąłem na sztywno bateria 1.5V i otrzymalem wynik 620 co jest wsumie dobrym wynikiem jesli 2.56 jest napieciem odniesienia 🙂 ale nadal pozostaje pytanie dlaczego dostaje wyniki z zakresu 980-1023 gdy wejscie wisi w powietrzu? nie powinno byc 0? OK My OP07 zgodnie z schematem ktory widzicie wyzej ciagle daje na wyscie 4.8 V czyzby to byl wynik tego ze jest zle zasilany przez to zle dziala? Cytuj Link do komentarza Share on other sites More sharing options...
Armir Luty 8, 2011 Udostępnij Luty 8, 2011 Pamiętaj ,że wisząca nóżka to stan wysoki. Przy każdym układzie logicznym. Cytuj Link do komentarza Share on other sites More sharing options...
Bobby Luty 8, 2011 Udostępnij Luty 8, 2011 Armir, wisząca nóżka to stan nieustalony 😉 W zależności od tego, czy mamy pullupa/pulldowna mamy stan 1/0, a jak nie ma nic, to nie wiadomo co jest - jest syf. Cytuj Link do komentarza Share on other sites More sharing options...
pawel Luty 8, 2011 Udostępnij Luty 8, 2011 Z tymi stanami przy nóżce w powietrzu to jest różnie, bo to zależy od tego jakiego typy jest to układ w CMOS na wiszącej nóżce jest masa, a w TTL jest stan wysoki, ale nie zawsze. Nie można ufać takim wiszącym nóżkom, bo one zachowują się jak anteny i stan czasem się sam zmieni. Cytuj Link do komentarza Share on other sites More sharing options...
szpic Luty 8, 2011 Autor tematu Udostępnij Luty 8, 2011 Z tymi stanami przy nóżce w powietrzu to jest różnie, bo to zależy od tego jakiego typy jest to układ w CMOS na wiszącej nóżce jest masa, a w TTL jest stan wysoki, ale nie zawsze. Nie można ufać takim wiszącym nóżką, bo one zachowują się jak anteny i stan czasem się sam zmieni. w moim przypadku wartosc latala od 100 do 1000 przy wiszacym. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!