Mam problem z pomiarem napięcia w instalacji elektrycznej samochodu,
problem pojawia się tylko podczas pracy silnika, gdy wyłączę zapłon
pomiary są prawidłowe.
Pomiar napięcia instalacji odbywa się następująco, jest dzielnik rezystancyjny
z którego jest mierzone napięcie na ADC atmegi.
Do pomiaru jest wykorzystane źródło napięcia referencyjnego AVCC.
Kod programu :
Co ciekawe wynik napiecia "nap_ADC" podczas pracującego silnika
jest zgodny z pomiarem miernika, ale wynik napięcia "AKU_VCC"
jest przekłamany o około 0.2 V.
Wygląda to tak, jakby operacja mnożenia przez wartość tłumienia
dzielnika napięcia, była wykonywana z błędem.
Ma ktoś może pomysł dlaczego tak się dzieje i jak temu zapobiec ?
EDIT
============================================================
Nie wiem czy to coś pomoże, ale dodaję dokładniejszy opis:
Atmega32L:
Dzielnik napięcia:
Kod odpowiedzialany za pomiar ADC:
Konfiguracja ADC:
Średnia pomiarów:
Zaznaczam, że jak pisałem powyżej, może jakoś niezrozumiale napisałem,
ale gdy silnik w samochodzie nie pracuje, to pomiary są prawidłowe,
jednak podczas pracy silnika, wymnożenie pomiaru ADC, daje błędną wartość
napięcia w instalacji, same wyświetlenie pomiaru ADC bez wymnożenia
przez wartość tłumienia dzielnika jest prawidłowe, czyli ADC mierzy dobrze
obliczenie wartości napięcia mierzonego przez ADC też jest poprawne
lecz po dokonaniu mnożenia przez wartośc tłumienia dzielnika podczas pracy silnika jest błędne.
problem pojawia się tylko podczas pracy silnika, gdy wyłączę zapłon
pomiary są prawidłowe.
Pomiar napięcia instalacji odbywa się następująco, jest dzielnik rezystancyjny
z którego jest mierzone napięcie na ADC atmegi.
Do pomiaru jest wykorzystane źródło napięcia referencyjnego AVCC.
Kod programu :
Kod: C / C++
Co ciekawe wynik napiecia "nap_ADC" podczas pracującego silnika
jest zgodny z pomiarem miernika, ale wynik napięcia "AKU_VCC"
jest przekłamany o około 0.2 V.
Wygląda to tak, jakby operacja mnożenia przez wartość tłumienia
dzielnika napięcia, była wykonywana z błędem.
Ma ktoś może pomysł dlaczego tak się dzieje i jak temu zapobiec ?
EDIT
============================================================
Nie wiem czy to coś pomoże, ale dodaję dokładniejszy opis:
Atmega32L:
Dzielnik napięcia:
Kod odpowiedzialany za pomiar ADC:
Kod: C / C++
Konfiguracja ADC:
Kod: C / C++
Średnia pomiarów:
Kod: C / C++
Zaznaczam, że jak pisałem powyżej, może jakoś niezrozumiale napisałem,
ale gdy silnik w samochodzie nie pracuje, to pomiary są prawidłowe,
jednak podczas pracy silnika, wymnożenie pomiaru ADC, daje błędną wartość
napięcia w instalacji, same wyświetlenie pomiaru ADC bez wymnożenia
przez wartość tłumienia dzielnika jest prawidłowe, czyli ADC mierzy dobrze
obliczenie wartości napięcia mierzonego przez ADC też jest poprawne
lecz po dokonaniu mnożenia przez wartośc tłumienia dzielnika podczas pracy silnika jest błędne.
