Witam!
Mam pewien problem z przetwornikiem ADC na Atmedze16, z którym nie mogę sobie poradzić. Otóż robię odczyty z dwóch kanałów z dwóch potencjometrów. Dokonuję najpierw pomiaru z PA7, następnie zmieniam na PA6 i tak w koło. Schemat podłączenia wstawiam poniżej, z góry przepraszam jeśli jest on zrobiony "nie fachowo", gdyż z Eagla korzystałem po raz pierwszy i nadal się uczę.
Jeśli chodzi o program to robię to następująco, funkcja inicjalizująca przetwornik:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wektor przerwania:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Mój problem polega na tym, iż podając napięcie większe, bądź równe Vref procek się resetuje. Oczywiście nigdy nie przekraczam 5V. Jeśli wybiorę Vref wewnętrzne = 2,56V to podkręcając potencjometr na maxa czyli podając 3,3V na nóżkę przetwornika następuje reset. Tak samo, gdy zasilam układ z USB 5V to gdy podam 5V Kiedy podaję napięcie poniżej Vref pomiar jest bardzo niestabilny (odczyt 0-1023) to czasem przekracza tolerancję +/- 10.
Pierwszy raz spotykam się z czymś takim, na Atmedze8 nie mam takich problemów. Napięcie 3.3V prosto z przetwornicy.
Co robię źle, czego nie robię? Może filtracja zasilania jest zła?
Z góry dziękuje, pozdrawiam!