Wpis z mikrobloga

#arduino #esp8266 #elektronika
zasilam sobie wemos d1 mini z baterii 18650. przeczytałem że na pinie a0 wemos ma już dzielnik napięcia i wystaczy 100k rezystor i można sobie czytać napięcie. no i tak zrobiłem, na baterii mam poniżej 4.1V, za rezystorem mi pokazuje 3.08 i to podaję do pinu A0.
problem jest taki, że esp przy analogRead(A0) zwraca mi ciągle 1024.
czy ktoś może wie co jest nie tak?
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@daczka92: Nie wiem co jest na tym wemosie, używam głównie esp-01 czy inne "gołe" i tam wystarczy dać esp.getVcc(); i mam ładnie pomiar napięcia bez podłączania czegokolwiek gdziekolwiek.
  • Odpowiedz
@dktr: czytam że przez ten wewnśtrzny dzielnik napięcia to odczyt tą metodą ma dość spory błąd - jedni mówią że trzeba wynik pomnożyć razy 1.1 inni że aż 1.5 więc trochę niedokładne. poczytam, zostawie na noc i zobaczę czy wykres się ruszył jak bateria się rozładowała. najwyżej użyje tej niedokładnej metody.
chodzi o to że na pin analogowy można normalnie podać 1v co daje wartość 1023, a wemos ma tak
  • Odpowiedz
@daczka92: z tego co pamiętam dzielnik jest zbudowany z 100kOhm do masy i 220kOhm do pinu ADC, możesz z góry założyć 5% tolerancji dla rezystorów, albo po prostu je zmierzyć, reszta to prawo ohma
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@Bios: nom tak podobno jest. Ten co dołożyłem zmierzyłem i ma 101k wiec wiecej niz potrzebuje wiec nie powinno przekraczać tych 3.3v a dalej tego 1v juz docelowo na pinie a0
  • Odpowiedz
@daczka92: jesli podpinasz 100k na wejście to dla pełnego zakresu jakim jest 4.2V na ADC masz 1V, a to oznacza że 1 jednostka ADC to 0.0041V ponieważ 4.2/1024
Czyli by wyliczyc napięcie mnożysz ADC * 0.0041 i wynik masz w woltach
  • Odpowiedz
@Bios: niee no ja czaje jak to liczyc, problem jest taki ze ja zawsze dostaje analogread = 1024, a co tam sobie podziele czy będę chciał mieć to w procentach napełnienia itp to sobie policzę.
a to 1024 zakładam ze jest błędem bo max powinien być 1023 a 1024 jest jakby oznaką błędu pomiaru :/
  • Odpowiedz
a to 1024 zakładam ze jest błędem bo max powinien być 1023 a 1024 jest jakby oznaką błędu pomiaru :/

@daczka92: to umiesz liczyć czy nie? :>

Ściągnij pin do masy i sprawdź czy dostajesz 0 na ADC - jeśli nie to go uwaliłeś i dobrze inicjujesz pomiar.
  • Odpowiedz
@Bios: tutaj to chyba nie tak działa. jak podasz za wysokie napięcie to będzie pokazywało 1024 a nie zacznie liczyć od 0 znowu.
na wykresie coś się zaczęlo dziać. na razie odczyty mocno skaczą ale są co 15sek i pewnie samo włączanie i wyłącznie powoduje wahania. na baterii spadło do 4v, na a0 jest coś koło 3v.
trochę nie wiem jak to mierzyć w sumie. rozumiem, że gdzieś jest miejsce
  • Odpowiedz
@Bios: dodałem dodatkowy rezystor i mam teraz 120k przed pinem analogowym. Chodziło całą noc i rzeczywiście coś tam spada. Nie wiem czemy tamto nie działało mimo tego, że napięcie spadło z 4.2 do 4 na baterii. sprawdziłęm ten rezystor 100k i miał taką wartość.
teraz skalibrować ile będzie podawał gdy będzie max i ile jak się rozładuje, a najlepiej to by było robić pomiary co jakiś czas i wtedy ma
  • Odpowiedz