Witam!!
Czy taki dzielnik będzie dobry do odczytywania napięcia na akumulatorze podpinając go pod pin ADC0 ?
https://elektroweb.pl/napiecienatezenie ... 02777.html
Czy będzie go trzeba jakoś kalibrować?
Voltomierz w GUI Generic
Chyba faktycznie nikt nie opisał jak zrobić voltomierz. Postaram się to wyjaśnić jak to działa:
1. Analog pin to nic innego jak funkcja liniowa między 0V a 1V i tutaj należy o tym pamiętać aby nie podać większego napięcia na A0.
2. W GUI zaszyta jest rozdzielczość (254 = 1V ?? - @Krycha88 możesz podpowiedzieć ?) ale to nie jest dla nas tak istotne. Najważniejsze aby to napięcie jakie chcemy mierzyć musimy znać zakres. Dla aku 12V wiemy że max to może być 14,4V a czasem i więcej. Dlatego należy budować dzielnik napięcia aby te 14,4V zamieniło na max np 0,9V.
Teraz dla przykładu aku li-ion 3,7V, gdzie zakładam min 3V, a max 4,2V powinniśmy zrobić tak:
a) generujemy soft z "analog pin"
b) budujemy dzielnik napięcia najlepiej z kalkulatora https://electroexp.com/pl/delitel-napryazheniya.html (pierwszy lepszy z google). Przewidujemy że max dla nas to 4,2V, a na dzielniku aby było bezpiecznie ustawiamy 0,9V jako out. Rezystory jakie wychodzą to 37k i 10k (duże wartości rezystancji nie będą wpływać negatywnie na zużycie akumulatora - można to wyliczyć z mocy. Dla tego przykładu ten dzielnik wyczerpie akumulator w kilka lat) c) Łączymy GND i wyjście z dzielnika do A0, a jednocześnie najlepiej podać jakimś zasilaczem dokładnie wartość 4,2V.
d) Mierzymy napięcie wchodzące do A0 miernikiem i powinno być tam około 0,9V (zgodnie z wyliczeniem dzielnika)
e) Klikamy w GUI Generic w zakładce analog pin na "kalibracja dla MAX IN" - powinna zapisać się wartość MAX IN f) Wpisujemy ręcznie MAX OUT to co wiemy i zadaliśmy czyli 4,2 (dla upewnienie można ponownie sprawdzić miernikiem i wpisać to co wychodzi np. 4,19)
g) teoretycznie mamy liniową funkcję więc dla MIN IN można wpisać 0 i to samo jako MIN OUT.
h) dla lepszych wskazań można to samo przeprowadzić dla MIN czyli ustawić na zasilaczu np. 3V, kalibracja dla MIN IN i wpisać w MIN OUT 3
@Krycha możesz podać jaką funkcję liniową zaszyłeś w kodzie czyli zakładam 0v to 0 ale ile jest dla 1V ?? Wtedy można przewidywać teoretyczne wartości jak ustawiać MAX/MIN IN
1. Analog pin to nic innego jak funkcja liniowa między 0V a 1V i tutaj należy o tym pamiętać aby nie podać większego napięcia na A0.
2. W GUI zaszyta jest rozdzielczość (254 = 1V ?? - @Krycha88 możesz podpowiedzieć ?) ale to nie jest dla nas tak istotne. Najważniejsze aby to napięcie jakie chcemy mierzyć musimy znać zakres. Dla aku 12V wiemy że max to może być 14,4V a czasem i więcej. Dlatego należy budować dzielnik napięcia aby te 14,4V zamieniło na max np 0,9V.
Teraz dla przykładu aku li-ion 3,7V, gdzie zakładam min 3V, a max 4,2V powinniśmy zrobić tak:
a) generujemy soft z "analog pin"
b) budujemy dzielnik napięcia najlepiej z kalkulatora https://electroexp.com/pl/delitel-napryazheniya.html (pierwszy lepszy z google). Przewidujemy że max dla nas to 4,2V, a na dzielniku aby było bezpiecznie ustawiamy 0,9V jako out. Rezystory jakie wychodzą to 37k i 10k (duże wartości rezystancji nie będą wpływać negatywnie na zużycie akumulatora - można to wyliczyć z mocy. Dla tego przykładu ten dzielnik wyczerpie akumulator w kilka lat) c) Łączymy GND i wyjście z dzielnika do A0, a jednocześnie najlepiej podać jakimś zasilaczem dokładnie wartość 4,2V.
d) Mierzymy napięcie wchodzące do A0 miernikiem i powinno być tam około 0,9V (zgodnie z wyliczeniem dzielnika)
e) Klikamy w GUI Generic w zakładce analog pin na "kalibracja dla MAX IN" - powinna zapisać się wartość MAX IN f) Wpisujemy ręcznie MAX OUT to co wiemy i zadaliśmy czyli 4,2 (dla upewnienie można ponownie sprawdzić miernikiem i wpisać to co wychodzi np. 4,19)
g) teoretycznie mamy liniową funkcję więc dla MIN IN można wpisać 0 i to samo jako MIN OUT.
h) dla lepszych wskazań można to samo przeprowadzić dla MIN czyli ustawić na zasilaczu np. 3V, kalibracja dla MIN IN i wpisać w MIN OUT 3
@Krycha możesz podać jaką funkcję liniową zaszyłeś w kodzie czyli zakładam 0v to 0 ale ile jest dla 1V ?? Wtedy można przewidywać teoretyczne wartości jak ustawiać MAX/MIN IN
to ja troszeczkę sprostuję. "Gołe" ESP faktycznie mierzy napięcie w zakresie od 0 do 1V ale większość płytek rozwojowych np. nodemcu posiadają już wewnętrzny dzielnik napięcia i mierzą w zakresie od 0 do 3v3.
Pomiar dla A0 jest odczytywany w rozdzielczości 10 bitowej czyli od 0 do 1024.
I teraz jak to wygląda w GUI:
MIN IN oraz MAX IN to nic innego odczyt od 0 do 1024.
MIN OUT oraz MAX OUT to nic innego jak wartości które chcemy wyświetlać w aplikacji.
czyli aby mierzyć napięcie załóżmy 3v3 to w GUI będzie to prawdopodobnie wyglądać tak: czemu MIN IN się wyliczył? bo pewnie jest to jakiś błąd pomiaru. Oczywiście nie jestem specjalistą i tak mi się wydaje, że powinno to wyglądać
Pomiar dla A0 jest odczytywany w rozdzielczości 10 bitowej czyli od 0 do 1024.
I teraz jak to wygląda w GUI:
MIN IN oraz MAX IN to nic innego odczyt od 0 do 1024.
MIN OUT oraz MAX OUT to nic innego jak wartości które chcemy wyświetlać w aplikacji.
czyli aby mierzyć napięcie załóżmy 3v3 to w GUI będzie to prawdopodobnie wyglądać tak: czemu MIN IN się wyliczył? bo pewnie jest to jakiś błąd pomiaru. Oczywiście nie jestem specjalistą i tak mi się wydaje, że powinno to wyglądać
https://gui-generic-builder.supla.io/
A to jakie wartości należy wstawić dla dzielnika 5v/25v z tego linka aby poprawnie mierzyć napięcie na akumulatorze 12v? Nie chciałbym strzelić gafy. Przy 15v będzie 3v na dzielniku. Sterownik MPPT do solara mam ustawiony na maxa na 13.6v czyli nie powinno uwalić ADC0
PS.
3.3V na tym dzielniku pojawi się przy 16.5V czyli Minin 0 Maxin 1024, Minout 0 a Maxout 16.5v dobrze to rozumuję? Dodam że pomiar na Nodemcu v3
PS.
3.3V na tym dzielniku pojawi się przy 16.5V czyli Minin 0 Maxin 1024, Minout 0 a Maxout 16.5v dobrze to rozumuję? Dodam że pomiar na Nodemcu v3
Tak to zmienia trochę sprawę jak mówimy o Wemos D1 mini/ nodemcu. One już posiadają dzielnik właśnie wyliczony na 3,3V, a tutaj schemat:
1. Skorzystać już z dzielnika ale aby mierzyć napięcia rzędu 20V trzeba dolutować rezystor 2M ohm (zwiększając rezystancję R1 do 2,22M ohm) - nie wiem czy to będzie stabilne (spora rezystancja) ale dla np. baterii 4,2V wystarczy dodatkowy rezystor 100k.
2. Dobudować dodatkowy dzielnik biorąc pod uwagę już widoczny schemat. Tutaj możemy łączyć A0 z masą obniżając rezystancję R2 - inaczej mówiąc równolegle do R2, lub zwiększając rezystancję R1 przez dodanie rezystora szeregowo jak w pierwszym punkcie.
Aby dobrze skalibrować pomiar trzeba dokładnie wiedzieć jakie napięcie podajemy na "zmodyfikowany" dzielnik do pinu A0. Dajemy przez jakiś regulowany zasilacz max napięcie jakie chcemy mierzyć i sprawdzamy dokładnie miernikiem. Jeżeli dobraliśmy odpowiednio dzielnik napięcia to w GUI generic klikamy na kalibrację MAX IN (powinno być blisko 1000) i MAX OUT wpisujemy dokładnie to co wskazuje miernik. Dolną wartość nie ma sensu kalibrować i można zostawić 5 (prawdopodobnie jakieś resztkowe napięcie na pinie) i wpisać w MIN OUT "0"
W takich płytkach mamy dwie możliwości1. Skorzystać już z dzielnika ale aby mierzyć napięcia rzędu 20V trzeba dolutować rezystor 2M ohm (zwiększając rezystancję R1 do 2,22M ohm) - nie wiem czy to będzie stabilne (spora rezystancja) ale dla np. baterii 4,2V wystarczy dodatkowy rezystor 100k.
2. Dobudować dodatkowy dzielnik biorąc pod uwagę już widoczny schemat. Tutaj możemy łączyć A0 z masą obniżając rezystancję R2 - inaczej mówiąc równolegle do R2, lub zwiększając rezystancję R1 przez dodanie rezystora szeregowo jak w pierwszym punkcie.
Aby dobrze skalibrować pomiar trzeba dokładnie wiedzieć jakie napięcie podajemy na "zmodyfikowany" dzielnik do pinu A0. Dajemy przez jakiś regulowany zasilacz max napięcie jakie chcemy mierzyć i sprawdzamy dokładnie miernikiem. Jeżeli dobraliśmy odpowiednio dzielnik napięcia to w GUI generic klikamy na kalibrację MAX IN (powinno być blisko 1000) i MAX OUT wpisujemy dokładnie to co wskazuje miernik. Dolną wartość nie ma sensu kalibrować i można zostawić 5 (prawdopodobnie jakieś resztkowe napięcie na pinie) i wpisać w MIN OUT "0"
-
- Posty: 57
- Rejestracja: wt lis 27, 2018 8:31 pm
Ja zastosowałem do Wemos mini R1 4,7k i R2 1k i działa doskonale (przy napięciu 16V na wyjściu dzielnika mam 2,8V więc jest jeszcze zapas)
No więc nodemcu v3 z dzielnikiem 5/25v działa idealnie na ustawieniach jakie napisałem wcześniej. Sprawdzone na zasilaczu labolatoryjnym.
Kod: Zaznacz cały
Minin 0 Maxin 1024, Minout 0 a Maxout 16.5v
Przy zastosowaniu ww rezystorów prąd płynący wyniesie 2,1mA, ja bym zastosował większe wartości z uwagi na rozładowanie akumulatora.
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3