Corcho napisał: Witam
Próbuje mierzyć napięcie przez dzielnik napięcia (1000 Ohm / 200 Ohm) - oporniki wyliczone dla maksymalnego napięcia 30V.
Wyniki są dziwne -
..............
Szukałem przykładów w sieci ale są podobnie zbudowane - w czym problem ?
Problem jest w tym, że nie zaznajomiłeś się z tematem i zaczynasz podłaczac wszystko, w zasadzie bez sensu...
Bez urazy... ale to jest prawda.
Na wiele błędów, niektórzy tu wyżej już wskazali, jednak bez pełnego kommentarza, tak abyś doszedł do poporawnej konkluzji przy znikomym twoim wysiłku.
Pierwsza rzecz to wybór napięcia referencyjnego, dla którego tworzysz odpowiedni dzielnik napięcia mając na uwadze maxymalny poziom mierzonego napięcia.
Nie możesz polegac na standardowych oznaczeniach wartości rezystorów z uwagi na ich zbyt duże pole tolerancji (o czym już pisano). Owszem możesz je użyc w połączeniu z dodatkowym potencjometrem służącym do pewnego rodzaju doraźnej kalibracji tego dzielnika.
Jaki rząd wartości rezystorów wybrac? Tu nalezałoby zasięgnąc rady datasheet, który dopuszcza dośc szeroki wybór 1 do 100kohms (patrz rys.24.8).
Wg textu poprzedzającym rysunek, wartoś tej impedancji jest zalecana na ok 10k .
Ty jednak dałeś tylko 200 ohms.
Następna przyczyna rozczarowania; W twoim kodzie nie widac abyś stosował inne niż defaultowe napięcie referencyjne które jest VCC i przyjmowane jako 5V., które jednak nigdy nie jest = 5.0V (!!!)
Metoda ta do zgrubnych pomiarów może byc stosowana.
Jeżeli wyrazenie :
float data1 = data0 * 0.028330078125;
ma stanowic pomierzony i przekalkulowany poziom napięcia, to jest to zupełnie błędny tok.
Z jakiego źródła pochodzi ten współczynnik:
0.028330078125 ?
Policz go jeszcze raz: Z max. 30V aby ‘zejśc’ do 5V potrzebujesz dzielnik napięcia 1:6
Twój dzielnik da ci na wyjściu 6V, co jest powyżej dopuszczalnego na input analogowy wynoszący 0 – Vcc.
Praktycznie wszystkie ważne parametry stosowane do pomiaru i obliczeń są albo ‘pływające’/nieustalone, albo błednie dobrane lub obliczone.
Dokładniejsze wyniki możesz uzyskac stosując zewnętrzne/niezależne źródło referencyjne, albo wykorzystac istniejące wewnętrzne 1.1V, które jest dośc stabilne lecz nie zbyt dokładne (+/- 10%). Przed stosowaniem należałoby je pomierzyc i odpowiednio skorygowac współczynnik rachunkowy. Również wymagac będzie odpowiednio dopasowanie dzielnika zapewniające optymalny poziom napięcia na wejściu analogowym.
Wybór napięcia referencyjnego wskażesz edytując odpowiednio rejestr ADMUX (szczególy w datasheet tab. 24-3).
e marcus