Skocz do zawartości

Przetwornik ADC i błąd odczytu


lukas616

Pomocna odpowiedź

Mam ciekawy przypadek z przetwornikiem ADC w Arduino Mega a mianowicie pokazuje mi odczytane napięcie na pinie 5v zakres od 8 do 1018 i ciekaw jestem czy mieliście takie przypadki, bo teoretycznie powinno być od 0 do 1023 i nie wiem czy przetwornik mam zepsuty czy to błąd pomiarów.

Link do komentarza
Share on other sites

2 godziny temu, _LM_ napisał:

O tej porze wróżka ma wolne

Wróżka wróży zakłócenia na zasilaniu albo wiszące piny zbierające sygnały radiowe. Druga opcja to walnięty ADC, ale nawet mój multimetr lubi zbierać szum w okolicach 50mV, więc raczej zacząłbym od testowania tego pierwszego...

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

9 godzin temu, _LM_ napisał:

Cholera, byłbym głupotę napisał, @lukas616 pokaż kod programu 

Kod jest najprostszy z możliwych.

float val = 0.00;
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);

void setup() {
lcd.init();
lcd.backlight();
  
}
void loop() {
val = analogRead(A1);
lcd.setCursor(0,3);
lcd.print(val, 5);
delay(1000); 
}

 

Link do komentarza
Share on other sites

Tak, pomniejszony zakres odczytu wskazań ADC jest wynikiem tak samo zakłóceń jak i napięcia referencyjnego 5V które jest brane z linii zasilania. Pewniejszym źródłem vref jest to wewnętrzne 2.56 lub 1.1V (trzeba sprawdzić w nocie konkretnego mikrokontrolera) w takim przypadku trzeba też ograniczyć napięcie wejściowe - mierzone, do poziomu wybranego vref. 

Link do komentarza
Share on other sites

46 minut temu, _LM_ napisał:

Tak, pomniejszony zakres odczytu wskazań ADC jest wynikiem tak samo zakłóceń jak i napięcia referencyjnego 5V które jest brane z linii zasilania. Pewniejszym źródłem vref jest to wewnętrzne 2.56 lub 1.1V (trzeba sprawdzić w nocie konkretnego mikrokontrolera) w takim przypadku trzeba też ograniczyć napięcie wejściowe - mierzone, do poziomu wybranego vref. 

A no właśnie bo mierzyłem baterię, która na mierniku uniwersalnym pokazywało mi 0,70 v a przy pomocy arduino i analogReference(INTERNAL1V1) pokazywało mi 0,42 v więc skąd takie rozbieżności?

Link do komentarza
Share on other sites

Przede wszystkim zależy to od dzielnika na wejściu ADC ( jeśli jest) i dla ref 1.1 należy przeliczyć adc dla tego napięcia referencyjnego. Czyli (1.1 / 1023)*ADC 

Edytowano przez _LM_
Link do komentarza
Share on other sites

27 minut temu, _LM_ napisał:

Przede wszystkim zależy to od dzielnika na wejściu ADC ( jeśli jest) i dla ref 1.1 należy przeliczyć adc dla tego napięcia referencyjnego. Czyli (1.1 / 1023)*ADC 

No jest tylko potencjometr mam przekręcony do końca w prawo czyli tak jakby go wcale nie było i ja dzielę przez 1024 bo przetwornik 10 bitowy ma tyle wartości.

Link do komentarza
Share on other sites

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!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.