Analog ADC w układzie ESP32-C3

User avatar
YoMan
Posts: 3521
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa
Has thanked: 3 times
Been thanked: 3 times

Post

[email protected] wrote: Mon Oct 20, 2025 12:56 pm Jak już pisałem mogę popatrzeć na te problemy kompilacji ale bez źródeł buildera to wiele pewnie nie da bo tam są zaszyte polecenia do arduino-cli, więc chętnie ale jak zobaczę źródła buildera 😉
Goral też jakoś ucichł na forum ale z tego co wiem niektórzy na forum maja z nim kontakt bezposredni
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
User avatar
Zibi_007
Posts: 3985
Joined: Tue Oct 31, 2023 10:06 pm
Has thanked: 10 times
Been thanked: 31 times

Post

Alex1603 wrote: Mon Oct 20, 2025 11:04 am dziękuje serdecznie za szybka odpowiedź , szkoda że nie działa. Ten chip jets akurat mały dobry do rozwiązań bateryjnych np. do pomiaru temperatury wilgotności i jednoczesnie do pomiaru napięcia baterii - taki miałem plan . nie wiem i sprawdzę czy obsługuja sensory INA219 po I2C, twdy mógłbym mierzyć przez przetwornik zewnęrzny.
Czy ktos ma jakiś inny sposób pomiaru napięcia baterii?
W nawiązaniu do odpowiedzi @vajera tutaj masz, jak podejść do tematu w Xiao C6 viewtopic.php?t=17555
Wada: tego kodu nie wygenerujesz w GG, trzeba sobie samemu skompilować, a wcześniej dodać to, co potrzebujesz.

Swoją drogą takie funkcje jak pomiar temperatury, wilgotności ze wskazaniem stanu baterii (napięcia lub procentowym), do tego wyświetlacz, realizuje czujnik na Zigbee za kilka-kilkanaście złotych. Do tego bramka Z2S na dowolnym C6 i masz komplet z możliwością dodania prawie dowolnego sprzętu na Zigbee. I to wszystko działa pod Suplą bez kombinacji, pisania i kompilowania kodu.
Image Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Image Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036
User avatar
Alex1603
Posts: 93
Joined: Sat Jan 01, 2022 1:46 pm

Post

Dziękuję wszystkim serdecznie za odzew, na razie jeszcze nie miałem styczności z Zigbee, dla supli i generic buildera potrafię sobie zbudować dowolny hardware. Być może że sięgnę również do pomocy AI do wygenerowania własnego kodu. Jednak byłoby super gdyby ktoś miał czas się pochylić nad pomiarem ADC w tych małych ESP32 np C3 . Wczoraj robiłem pomiar zużycia dla ESP32-C3 z czujnikiem DHT22 , DS18B20 i z wykorzystaniem deep sleepa wychodzi 9uA, co da pracę na jednym ogniwie 18650 na kilkanaście lat bez ładowania. Akurat dobrze by było wiedzieć jaki jest aktualny poziom napięcia baterii. Jeśli ktoś mądry ogarnie ten temat stawiam dużą kawę :) , inaczej będę eksplorował inne możliwości.
Jeszcze raz dziękuję za cenne informacje
*-------------- Pomysłów po sufit, czasu po kostki --------------*
*------ https://github.com/Rebel1603?tab=repositories ------*
User avatar
Zibi_007
Posts: 3985
Joined: Tue Oct 31, 2023 10:06 pm
Has thanked: 10 times
Been thanked: 31 times

Post

Alex1603 wrote: Mon Oct 20, 2025 4:07 pm Dziękuję wszystkim serdecznie za odzew, na razie jeszcze nie miałem styczności z Zigbee, dla supli i generic buildera potrafię sobie zbudować dowolny hardware. Być może że sięgnę również do pomocy AI do wygenerowania własnego kodu. Jednak byłoby super gdyby ktoś miał czas się pochylić nad pomiarem ADC w tych małych ESP32 np C3 . Wczoraj robiłem pomiar zużycia dla ESP32-C3 z czujnikiem DHT22 , DS18B20 i z wykorzystaniem deep sleepa wychodzi 9uA, co da pracę na jednym ogniwie 18650 na kilkanaście lat bez ładowania. Akurat dobrze by było wiedzieć jaki jest aktualny poziom napięcia baterii. Jeśli ktoś mądry ogarnie ten temat stawiam dużą kawę :) , inaczej będę eksplorował inne możliwości.
Jeszcze raz dziękuję za cenne informacje
Ale czytałeś mój post, który podlinkowałem? Zasada pomiaru w C6 i C3 (przynajmniej tych od Xiao) jest dokładnie taka sama.
Poniżej kod, nie ja to wymyśliłem, ale ważne, że działa.
Moje pomiary wykazują, że podziała długo (kilka miesięcy), ale nie byłbym takim optymistą, jak Ty (kilkanaście lat) ;-)

Code: Select all

void setup() {
  Serial.begin(115200);
  pinMode(A0, INPUT);         // ADC
}

void loop() {
  uint32_t Vbatt = 0;
  for(int i = 0; i < 16; i++) {
    Vbatt = Vbatt + analogReadMilliVolts(A0); // ADC with correction   
  }
  float Vbattf = 2 * Vbatt / 16 / 1000.0;     // attenuation ratio 1/2, mV --> V
  Serial.println(Vbattf, 3);
  delay(1000);
}
Tutaj źródło: https://forum.seeedstudio.com/t/battery ... 32c/267535
Image Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Image Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036
User avatar
YoMan
Posts: 3521
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa
Has thanked: 3 times
Been thanked: 3 times

Post

Alex1603 wrote: Mon Oct 20, 2025 4:07 pm Dziękuję wszystkim serdecznie za odzew, na razie jeszcze nie miałem styczności z Zigbee, dla supli i generic buildera potrafię sobie zbudować dowolny hardware. Być może że sięgnę również do pomocy AI do wygenerowania własnego kodu. Jednak byłoby super gdyby ktoś miał czas się pochylić nad pomiarem ADC w tych małych ESP32 np C3 . Wczoraj robiłem pomiar zużycia dla ESP32-C3 z czujnikiem DHT22 , DS18B20 i z wykorzystaniem deep sleepa wychodzi 9uA, co da pracę na jednym ogniwie 18650 na kilkanaście lat bez ładowania. Akurat dobrze by było wiedzieć jaki jest aktualny poziom napięcia baterii. Jeśli ktoś mądry ogarnie ten temat stawiam dużą kawę :) , inaczej będę eksplorował inne możliwości.
Jeszcze raz dziękuję za cenne informacje
9uA to może w uśpieniu ale jak sie budzi to już sporo więcej przez te kilkanaście sekund. Stawiałbym na miesiące, tak jak przedmówca wskazał
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
User avatar
Alex1603
Posts: 93
Joined: Sat Jan 01, 2022 1:46 pm

Post

To generalnie zależy od cyklu pomiaru , napięcia i temperatury nie ma generalnie potrzeby mierzyć często. Pobór zmierzony podczas pracy to około 22mA przez około 7sek. Przy minutowym cyklu to może sporo ale już przy 10minutach to kropla w morzu.
Ciągle jednak chciałbym iść w stronę rozwiązania ESP32-C3/C6/S3 itp + GG lub własny kod. Znam całkiem dobrze Arduino, nie wiem jednak gdzie zdobyć wiedzę dotyczącą własnego kodu. Nieco już poczytałem w starszych postach -"własna kompilacja", ale ciągle nie wydaje się to oczywiste, czy poza examplami ze źródła można gdzieś podpatrzeć jak to zrobić ? Chętnie też zająłbym się tematami niezrealizowanymi np. termometr różnicowy o który cierpliwie pytałem ze trzy lata, no i te bieżące - są pomysły ale warsztat trochę słaby :-)). Dzięki z góry za odpowiedź.
Wiem już że własny kod można wygenerować na twardo bez możliwości dalszej konfiguracji, ale fajnie by było rozwijać dalej GG o nowe rzeczy (jeśli byłby czas). Mnie generalnie interesuje bardzo zastosowanie kontrolno-pomiarowe dla celów różnych: napięcia, prądy, pojemność baterii itp. , to bardzo przydatne rzeczy dla majsterkowiczów (PS. modułu INA219 z interfejsem I2C w podstawowym ESP32 nie udało mi się jeszcze uruchomić).
Proszę o opinię szanownych kolegów .
Dziękuję i pozdrawiam.
*-------------- Pomysłów po sufit, czasu po kostki --------------*
*------ https://github.com/Rebel1603?tab=repositories ------*
User avatar
Zibi_007
Posts: 3985
Joined: Tue Oct 31, 2023 10:06 pm
Has thanked: 10 times
Been thanked: 31 times

Post

Alex1603 wrote: Tue Oct 21, 2025 6:25 pm To generalnie zależy od cyklu pomiaru , napięcia i temperatury nie ma generalnie potrzeby mierzyć często. Pobór zmierzony podczas pracy to około 22mA przez około 7sek. Przy minutowym cyklu to może sporo ale już przy 10minutach to kropla w morzu.
Ciągle jednak chciałbym iść w stronę rozwiązania ESP32-C3/C6/S3 itp + GG lub własny kod. Znam całkiem dobrze Arduino, nie wiem jednak gdzie zdobyć wiedzę dotyczącą własnego kodu. Nieco już poczytałem w starszych postach -"własna kompilacja", ale ciągle nie wydaje się to oczywiste, czy poza examplami ze źródła można gdzieś podpatrzeć jak to zrobić ? Chętnie też zająłbym się tematami niezrealizowanymi np. termometr różnicowy o który cierpliwie pytałem ze trzy lata, no i te bieżące - są pomysły ale warsztat trochę słaby :-)). Dzięki z góry za odpowiedź.
Wiem już że własny kod można wygenerować na twardo bez możliwości dalszej konfiguracji, ale fajnie by było rozwijać dalej GG o nowe rzeczy (jeśli byłby czas). Mnie generalnie interesuje bardzo zastosowanie kontrolno-pomiarowe dla celów różnych: napięcia, prądy, pojemność baterii itp. , to bardzo przydatne rzeczy dla majsterkowiczów (PS. modułu INA219 z interfejsem I2C w podstawowym ESP32 nie udało mi się jeszcze uruchomić).
Proszę o opinię szanownych kolegów .
Dziękuję i pozdrawiam.
Akurat przykłady z SD są bardzo dobre do nauki podstaw. Teraz przechodzą "lifting" i polecam od nich zacząć. Jeśli znasz Arduino (jak piszesz całkiem dobrze), to nic więcej na początek nie potrzebujesz. 95% sukcesu już jest. Bierzesz przykład webinterfeace do niego "wklejasz" kolejne przykłady (np. sensory), które cię interesują, kompilujesz pod wybrany model ESP i to wszystko (pozostałe 5%). Jak nie działa, wklejasz błędy z kompilatora na Forum i prosisz o pomoc.
Działaj, twórz, kompiluj, chwal się efektami. Powodzenia!
Image Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Image Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036
User avatar
YoMan
Posts: 3521
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa
Has thanked: 3 times
Been thanked: 3 times

Post

Gdyby komuś to wystarczyło to jest chyba opcja, że analogADC zadziała w GG w konfiguracji esp32 ale trzeba zaznaczyć MPX5050. Wydaje mi się, że to mi kilka tygodni temu zadziałało
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
User avatar
Zibi_007
Posts: 3985
Joined: Tue Oct 31, 2023 10:06 pm
Has thanked: 10 times
Been thanked: 31 times

Post

YoMan wrote: Tue Oct 21, 2025 10:43 pm Gdyby komuś to wystarczyło to jest chyba opcja, że analogADC zadziała w GG w konfiguracji esp32 ale trzeba zaznaczyć MPX5050. Wydaje mi się, że to mi kilka tygodni temu zadziałało
A to ciekawostka. Trzeba będzie spróbować :) Komentarz taktyczny. S.W.
Image Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Image Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036
User avatar
YoMan
Posts: 3521
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa
Has thanked: 3 times
Been thanked: 3 times

Post

Gdyby się komuś chciało przetestować to dla siebie robiłem takie coś;
1. binarka pod esp32c3 Supermini - fajna, mała płytka
2. Szkic pod zbiornik płynu; szambo, deszczówka - tylko pomiar, żadnych przkaźników, zaworów, automatów
3. Wyrzuca 3 kanały KPOP (gpm); wartość analog, głębokość (m), głębokość (%) - można sobie w cloud pozmieniać jednostki, precyzję, prefiksy, przeliczenia, etc
4. Domyślnie pomiar na GPIO 0 - w webinterface możliwa zmiana
5. w webinterface do ustawienia wartości rawAnalog i zakres pomiarowy w centymetrach
6. Kanały pokażą wartości ponad 100% (np. kiedy przepełnimy zbiornik ponad założoną wartość) ale nie pokażą wartości ujemnych
7. brak deepsleepa - nie nadaje się do urządzenia bateryjnego
You do not have the required permissions to view the files attached to this post.
Last edited by YoMan on Sat Oct 25, 2025 9:08 am, edited 2 times in total.
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024

Return to “Pomoc”