Witam,
ostatnio stworzyłem program , który mierzy napięcie za pomocą przetwornika analogowo-cyfrowego na ATTINY461, zastosowałem wewnętrzny zegar 8MHz.
Zaprogramowałem tym samym programem 10 sztuk tego procka i sprawdziłem dokładność pomiaru każdego z nich na tej samej płytce bazowej zadając napięcie do pomiaru na 12V (pewne z dokładnością do 0,01V) i co się okazało - rozbieżność w pomiarach wahała się od 11,81V do 12,24V.
Skąd tak duży rozstrzał zmierzonych napięć? Czy jest to wynikiem zastosowania mało precyzyjnego wbudowanego generatora zegarowego, czy też jest jakiś inny powód? Jak spowodować aby pomiary były bardziej precyzyjne?? (dokładność do 0,1V była by dla mnie satysfakcjonująca)
Config przetwornika wygląda tak:
CONFIG ADC = single, PRESCALER = AUTO, REFERENCE = INTERNAL_2.56_NOCAP
Z góry dziękuje za podpowiedzi.
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięDokładność przetwornika ADC a taktowanie zegara
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
- Tomasz Gumny
- -
- Posty:685
- Rejestracja:4 lut 2004, o 23:31
- Lokalizacja:Trzcianka/Poznań
Re: Dokładność przetwornika ADC a taktowanie zegara
To bardzo mały rozrzut. Wprawdzie nie znalazłem w pdf-ie jak jest dokładność Vref=2.56V, ale dla alternatywnego Vref=1.1V rozrzut wynosi 1.0 - 1.2V czyli 10%. Jeśli dla jednego egzemplarza wyniki pomiarów są stałe, to wszytko jest OK. Musisz tylko umożliwić programowi kalibrację Vref. Najprościej ustawić Vref blokowane kondensatorem, zmierzyć napięcie i wpisać zmierzoną wartość do programu. Inne rozwiązanie, polega na podaniu z zewnątrz napięcia o znanej wartości i wywołania podprogramu, który ją zmierzy i obliczy rzeczywistą wartość Vref i to ona będzie później używana do obliczeń.rozbieżność w pomiarach wahała się od 11,81V do 12,24V.
Wszystkie procki sprawdzane były na tej samej płytce - LM7805 z wyjściowym zmierzonym napięciem 5.02V, filtrowane elektrolitem 470uF i ceramikiem 100nF.A skąd pewność stabilności napięcia? Podawałeś z jakiegoś dobrego zasilacza?
Czy podłaczyłes uP zgodnie z zaleceniami? znaczy czy napięcie zasilające ADC jest filtrowane przez RC?
Trochę mnie zasmuciłeś - przy dokładności 10% zastosowanie tego przetwornika jest właściwie bezużyteczne. Kalibracja indywidualnie dla każdego procka w moim zastosowaniu nie może wchodzić w grę , zwiększenie ilości elementów na płytce z uwagi na konieczną miniaturyzacje urządzenia również nie będzie możliwe.To bardzo mały rozrzut. Wprawdzie nie znalazłem w pdf-ie jak jest dokładność Vref=2.56V, ale dla alternatywnego Vref=1.1V rozrzut wynosi 1.0 - 1.2V czyli 10%. Jeśli dla jednego egzemplarza wyniki pomiarów są stałe, to wszytko jest OK. Musisz tylko umożliwić programowi kalibrację Vref. Najprościej ustawić Vref blokowane kondensatorem, zmierzyć napięcie i wpisać zmierzoną wartość do programu. Inne rozwiązanie, polega na podaniu z zewnątrz napięcia o znanej wartości i wywołania podprogramu, który ją zmierzy i obliczy rzeczywistą wartość Vref i to ona będzie później używana do obliczeń.rozbieżność w pomiarach wahała się od 11,81V do 12,24V.
Dałeś mi do myślenia z tym kondensatorem blokującym (jakoś upchnę jeszcze jeden element na płytkę. Ciekawi mnie jak to wpłynie na powtarzalność pomiarów na różnych egzemplarzach tego samego procka. Zapytam jeszcze o taktowanie - czy ma ono wpływ na dokładność pomiaru??
- Tomasz Gumny
- -
- Posty:685
- Rejestracja:4 lut 2004, o 23:31
- Lokalizacja:Trzcianka/Poznań
Taka kalibracja polega na dołączeniu zamiast pakietu jakiegoś zasilacza o dokładnie znanym napięciu i zwarcia do masy jakiegoś pinu. W tym momencie jest dokonywany pomiar i wyliczenie dokładnej wartości Vref. Następnie ta wartość jest zapisywana w EEPROMie i wykorzystywana do obliczeń.[...]Kalibracja indywidualnie dla każdego procka w moim zastosowaniu nie może wchodzić w grę
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 18 gości