Alkaline - Auffrischgerät - Teil 1 - AZ-Delivery

Gebruik batterijen langer en bescherm het milieu actief

Deze onderdelen zijn vereist:

1x  D1_Mini_ESP32_NodeMCU

1x  MT3608 step-down omvormer

 

Het idee van de alkaline verfrisser

Veel alledaagse apparaten werken op 1,5 V-batterijen. Het type AA-batterij domineert. Vooral alkalinebatterijen vind je in elke supermarkt voor relatief weinig geld. Enorme hoeveelheden van deze batterijen worden voortdurend weggegooid en we kunnen overal lezen hoe gevaarlijk het is om dergelijke batterijen op te laden. In feite is de industrie er de afgelopen jaren behoorlijk in geslaagd om ons bang te maken voor oplaadpogingen. Waarschijnlijk om voor de hand liggende redenen.

 

Tegelijkertijd is er een grote verscheidenheid aan opfrisprojecten en zelfbouwprojecten. Vooral deze laatste hebben heel verschillende concepten. In sommige gevallen worden ingewikkelde, gepulseerde spanningen gebruikt. Ik verwijs hier altijd naar "refreshers", niet naar "chargers", omdat dit geen oplaadproces is. Hoewel chemische processen worden omgekeerd, is het geen oplaadproces, zoals bij een oplaadbare batterij.

Na enkele maanden testen kan ik melden dat ik nog nooit een batterij heet heb zien worden. Geen enkele batterij heeft gelekt, is gebarsten of heeft zelfs maar vlam gevat. Wat veel kritischer is bij lithium-ion batterijen en echte zorg vereist, is tot nu toe geen probleem bij alkaline batterijen.

 

Het is belangrijk dat ik erop wijs dat de gepresenteerde procedure uitsluitend bedoeld is voor Alkalisch-batterijen. Probeer in geen geval batterijen op te laden die niet uitdrukkelijk zijn gelabeld als "Alka line". Oplaadbare batterijen kunnen ook niet met dit apparaat worden opgeladen.

 

 

Hier presenteer ik het resultaat van mijn werk. Het is een eenvoudig, goed werkend apparaat. Aan het eind van dit eerste artikel vind je enkele typische voorbeeldmetingen. Ik ben er zelfs een keer in geslaagd om een batterij die was "leeggezogen" weer op te laden tot 0,28 V.

 

Een gebruikte batterij kan ongeveer 3-10 keer worden opgeladen. Zodra een batterij leeg begint te raken, mag deze niet meer worden gebruikt. Ik raad dit sterk aan.

 

Deel 2 van mijn artikel zal de alkaline verfrisser integreren in de Home Assistant. Dan kun je altijd zien hoe ver het verversen is gevorderd zonder dat je het apparaat voor je hoeft te hebben. Ik heb meerdere apparaten in verschillende kamers. Het HA-dashboard is hiervoor erg handig.

 

Het voorzichtig opladen van de batterijen was ook belangrijk voor mij. Als er vier accu's worden geplaatst, krijgt elke accu een puls van 250 ms en 850 ms rusttijd per seconde. Als er slechts één accu wordt geplaatst, gaat het opladen veel sneller: 250 ms opladen en ongeveer 100 ms rusttijd. Omdat ik ook in deze bedrijfsmodus geen opwarming van de accu kon ontdekken, heb ik geen extra vertraging ingebouwd.

 

Het circuit

 

Laten we eerst het schakelschema bekijken:

 

In het midden van het schakelschema zie je het hart van het apparaat, de D1 Mini ESP32 NodeMCU. Ik gebruik dit heerlijk compacte bord graag wanneer er andere taken worden toegevoegd aan eenvoudige WiFi-verbindingen, zoals MQTT-publicaties.

 

Aan de rechterkant zie je vier identieke eenheden, elk bestaande uit een n-kanaals versterkings-MOSFET BUZ42, een BC 547 als MOSFET-driver en een lichtdiode. Elke batterij ontvangt zijn pulsen van f250 ms via een weerstand van 48Ω. Hiervoor schakelt de MOSFET de bedrijfsspanning van 12 V naar de respectieve batterij. De interne weerstand van de batterij en de serieweerstand vormen een spanningsdeler zodat een batterij kortstondig ongeveer 100 mA trekt.

 

Links van de microprocessor bevinden zich vier identieke weerstandsnetwerken die verbonden zijn met de positieve polen van de accu's en GND. Hiermee wordt de respectieve accuspanning gemeten om het verversen te volgen. De meting wordt uitgevoerd voor de respectieve spanningspuls.

 

De microprocessor wordt gevoed via een LM 2596 - StepDown Converter, die is ingebouwd in de AZ-printplaat MT3608. Aangezien we op de MCU meetingangen met hoge impedantie gebruiken, moet deze printplaat zo ver mogelijk verwijderd zijn van de analoge ingangen die door de processor worden gebruikt.

 

Net als bij eerdere projecten tekende ik ook deze keer op de voorraad in de knutseldoos. De gebruikte MOSFET doet zijn werk goed, maar heeft een driver nodig. Als je het vervangt door een  "Logic Level MOSFET" zoals de IRL 520, dan bespaart dit de stuurtrap.

 

Net als bij eerdere projecten overweeg ik ook nu weer om een printplaat te maken en te laten produceren als er belangstelling is in de gemeenschap. De printplaten voor de batterij-fitness-tester zijn net aan hun tweede editie toe. Iedereen die batterijen ververst, zal zeker ook hun interne weerstand willen meten (waarover later meer) om hun succes te bepalen. Als je geïnteresseerd bent in een printplaat, neem dan contact met me op via michaelklein495(at)gmail.de.

 

De schets

 

Voor de duidelijkheid: de schets bestaat uit drie delen. Laten we eerst eens kijken naar het hoofdprogramma:

 

Alkaline_verversen_1_2_deel_1_DONE

 

De schets is over het geheel genomen vrij compact. In de eerste twee regels zijn arrays gereserveerd voor de ruwe waarden van de accuspanning en de berekende spanningen.

 

De Array met de naam battload[] registreert hoe vaak een accuspanning de waarde Ulimit heeft bereikt of overschreden. De logica hierachter is heel eenvoudig: het kan gebeuren dat de limiet wordt weergegeven als bereikt tijdens de spanningsmeting, maar slechts korte tijd is bereikt. Om er zeker van te zijn dat de accu echt is opgeladen, wordt de limiet in totaal tien keer geregistreerd. Wanneer battload[] voor een accu nul heeft bereikt, wordt deze als opgeladen beschouwd. De spanning daalt dan vrij snel naar 1,5 ... 1,65 V.

 

De lus void setup() beperkt zich tot het initialiseren van de seriële interface en de uitvoerpennen. Er is hier voorlopig niets meer te doen.

 

Dan gaat het rechtstreeks naar de void lus().  De functie metingen(), die de ruwe waarden van de analoge ingangen ophaalt en omzet in accuspanningen.

Dit wordt gevolgd door een lus over alle vier accu's. Eerst wordt gecontroleerd of de accuspanningen tussen 0,2 en Ulimit liggen. Er wordt ook gecontroleerd of 10x Ulimit al is bereikt.  was.

 

Als de accuspanning binnen het gewenste bereik ligt en nog niet volledig is opgeladen, stuurt de sketch een laadpuls van 250 ms duur naar de betreffende accu en schakelt de stroom weer uit.

Dit is het laadproces - meer heb je niet nodig! Dit proces wordt herhaald totdat Ulimit 10 keer is bereikt of overschreden.

 

De volgende if-query's worden gebruikt voor eenvoudige bediening van het apparaat. Als wordt herkend (1e if-query) dat de spanning op een batterij = 0 (batterij ontbreekt of is defect), stelt de sketch de respectieve variabele battload[] in op 10 als voorbereiding op het volgende laadproces.

 

De volgende if-query controleert of de spanning van de betreffende batterij >= Ulimit is en telt, indien nodig, battload[] af voor deze batterij.

Nu worden alle accuspanningen opnieuw gemeten. Als een van de spanningen > Ulimit alle Batterijspanningen worden in een kleine tabel weergegeven via de seriële interface. Deze functie wordt gebruikt voor debugging en voor een overzicht.

 

Dat is alles. Ik denk dat ik de eenvoudige functies voor metingen en tabeluitvoer aan jullie aandacht kan overlaten. Ze zijn eenvoudig en spreken voor zich. Deze keer heb ik het vervelende typen van de tabeluitvoer toevertrouwd aan een AI en ik werd niet teleurgesteld :-)


Werking van het apparaat 

De schets toont de eenvoudige functie van het apparaat:

1. als je alleen de 5V voeding inschakelt zonder de laadspanning, kun je de spanningen van accu 1 ... 4 meten. Je zult van mijn blogpost "Battery fitness tester" weten dat deze spanningsmeting heel weinig zegt over de gezondheidstoestand van een accu. Alleen de meting van de inwendige weerstand geeft bruikbare informatie. Het is altijd goed om accu's te categoriseren als "hopeloos" of "probeer het eens".

 

2. bij klassieke werking met volle 12V / 5V voeding geeft het apparaat geen oplichtende LED weer. Plaats een batterij in het 1e compartiment. De 1e LED knippert om het laadproces aan te geven. Doe hetzelfde met andere batterijen en je ziet een lopend lampje als de batterijen (zie schets) om de beurt hun laadpulsen ontvangen. Er is een korte video bij dit artikel gevoegd.

 

3. als een accu is opgeladen, gaat de bijbehorende LED uit en kan de accu worden verwijderd, zelfs als andere accu's nog worden opgeladen. Er kan nu een andere accu worden geplaatst in plaats van de volledig opgeladen accu en de cyclus begint opnieuw.

 

Praktische resultaten

Elke hieronder vermelde batterij werd eerst getest op inwendige weerstand met de batterijconditietester en vervolgens in de alkalineoplader geplaatst. Je kunt de gemeten waarden en de duur van het oplaadproces zien.

De meting werd vervolgens herhaald met de batterij/accu-fittester om het verschil te visualiseren:

 

                        Ua [V]              Ri[Ω]@10mA  Oplaadtijd      Ue [V]  Ri[Ω]@50mA

 

Batterij #23    1,51                 0,78                 70 min            1,6                   0,73

 

Batterij #44    0,96                 1,1                   125 min          1,5                   0,61

 

Batterij #18    1,33                 0,69                 30 min            1,42                 0,65

 

Ua is de beginspanning van de batterij die moet worden ververst; Ri[Ω]@10mA is de interne weerstand bij een maximale belasting van 10 mA.

 

Ue is de ontspanning en Ri[Ω]@50mA de interne weerstand, maar bij een maximale belasting van 50 mA.

 

We kunnen uit deze tabel zien (die natuurlijk geen statistieken geeft met drie items) dat het duidelijk de "slechte" accu's zoals #44 zijn die een ongelooflijke "opstanding" kunnen meemaken. Dit is geen garantie of "wonder", maar is keer op keer aangetoond in ongeveer 25 tests. In dit voorbeeld is de interne weerstand gehalveerd! 

Ik heb de batterijen tijdens de eerste test opzettelijk met slechts 10 mA belast omdat de test anders mogelijk niet volledig wordt uitgevoerd. Je zult je herinneren dat de batterij-fitheidstester de belasting in 10 stappen verhoogt. Als je meteen naar "50 mA maximum load" gaat, is het mogelijk dat het geteste apparaat deze stroom niet kan leveren en dat de meting "vastloopt". Begin dus met 10 mA voor de eerste test.

Nadat de batterij is ververst, wordt deze getest met 5 keer de stroomsterkte: 50 mA. Als een batterij dit niet aankan, kan deze het beste in de afvalbak worden gegooid.

Overigens komt #44 uit deze afvalbak! Ik was verbaasd over hoe deze batterij kon worden ververst, terwijl je in #23 bijvoorbeeld wel een effect kunt zien, maar het was niet grandioos.

#18 werd slechts 30 minuten ververst bij wijze van test om te zien welk effect kon worden bereikt. Natuurlijk werd de uiteindelijke spanning van 1,65 V niet bereikt. Het was van tevoren duidelijk dat de batterij niet uitgeput was, maar dat slechts een gedeeltelijk effect mogelijk was. De resultaten laten dit zien.

Excursus: Hoe worden alkalinebatterijen gemaakt? Welk chemisch proces levert de elektriciteit?

 

Omdat ik een natuurkundige ben en geen scheikundige, heb ik wat "slimme lectuur" gedaan. Hier in een notendop:

De chemische reacties (in vereenvoudigde vorm) verlopen als volgt:

Anode (oxidatie, zink lözelf): Zn + 2 OH- ZnO + H2O + 2 e-

Kathode (reductie, MnO2 reageert): 2 MnO2 + H2O + 2 e- Mn2O3 + 2 OH-

Totale reactie (vereenvoudigd): Zn + 2 MnO2 ZnO + Mn2O3

 

Alkalische elektrolyt (KOH) zorgt voor een höhogere energiedichtheid en een beter vermogen, zelfs bij lagere temperaturen, dan oudere zink-koolstofcellen.

 

MnO2 als kathodemateriaal ermöDe ontlaadspanning blijft stabiel totdat deöping van het zink.

Dit diagram illustreert ruwweg het oxidatie- en reductieproces dat plaatsvindt in de cel. Het is natuurlijk mogelijk om de stroompulsen te gebruiken om afzettingen te verwijderen die de stroom belemmeren en zo het reagerende oppervlak te vergroten - waardoor de stroom wordt geleverd en de interne weerstand indien nodig wordt verlaagd. Dit betekent dat meer van het resterende materiaal in de cel beschikbaar is om deel te nemen aan een redoxproces. Dit is ongeveer hoe ik de uitleg begrijp van meer deskundige experts die hiermee bekend zijn. Geen garantie!

Ik vind het immers interessant hoe goed het in de praktijk werkt en hoe gemakkelijk het is.

Kerstmis heeft weer een aantal zogenaamd lege batterijen opgeleverd die een soort verlichting voedden. Nu, nadat ik ze heb opgefrist, plaats ik deze batterijen terug in apparaten die niet zo'n hoog stroomverbruik hebben, d.w.z. die geen motoren enz. hoeven te laten draaien.

 

Dit is een andere ervaring met het vernieuwen van de batterij: Het tweede leven moet soepeler verlopen dan het eerste. Met andere woorden: als de batterij "tot uitputting" heeft gewerkt in een lamp met een continue belasting van 50 mA, dan raad ik voor het tweede gebruik bijvoorbeeld een wekker met een LCD-display aan die slechts 1 ... 5 mA nodig heeft.

 

Hoe zit het met andere batterijen - worden hier alleen AA-batterijen ververst?

De procedure is over het algemeen geschikt voor elke alkalinecel met een nominale spanning van 1,5 V. Voor AAA-cellen moet de oplaadweerstand worden verhoogd tot 100 Ω. Ik heb AAAA niet getest.

 

Knoopcellen kunnen niet worden opgeladen.

Met C- of D-batterijen duurt het opladen slechts iets langer dan met bijvoorbeeld AA-batterijen.

Nog een opmerking: Er kunnen accu's zijn die de eindspanning van 1,65 V niet meer bereiken. In dit geval wordt het laadproces niet automatisch beëindigd. In dit geval wordt het laadproces niet automatisch beëindigd. Wanneer we de Home Assistant-integratie bespreken in deel 2, wordt deze situatie opgelost door een timer in de HA die je kunt instellen.

Conclusie

We hebben een techniek geleerd die onze batterijaankopen vermindert en het milieu een beetje helpt. Dat alleen al is de moeite waard. We hebben ook iets nieuws geleerd.

 

In deel 2 leer je hoe de verbinding met de Home Assistant werkt.

Tot die tijd kijk ik uit naar jullie vragen, ideeën en opmerkingen. Vertel me ook gerust over je praktijkervaringen met het apparaat.

 

Hoogachtend

Michael Klein

D1 miniProjekte für fortgeschrittene

17 Reacties

Bernd-Steffen

Bernd-Steffen

Hallo Herr Klein, sehr schönes Projekt, was ich auch schon nachgebaut habe! Leider fehlen hier im Blog zwei wichtige Unterprogramme, ohne die sowohl Teil 1 als auch Teil2 nicht funktionieren: Messungen.ino und Tabellenoutput.ino !
Damit gibt es auch keine Compilierfehler mehr und das Ganze funktioniert super!

Paul Fried

Paul Fried

Sehr schönes Projekt! Gibt es dazu einen Bausatz?

Lars Sternkopf

Lars Sternkopf

Hallo, das Projekt ist interessant, aber unvollständig. Wo ist der Code für die Funktion messungen() und printTable() ? Ein lesbarer Schaltplan (PDF mit vernünftiger Auflösung) wäre auch hilfreich.
Aber scheinbar wird das hier nicht mehr gepflegt (siehe Kommentar von Karl-Heinz Lippert).

Lars Sternkopf

Lars Sternkopf

Hallo, gibt es den Schaltplan auch in etwas höherer Auflösung?

Edwin Jonkman

Edwin Jonkman

Ich habe eine Frage zur sketch. In der sketch (und der Erklärung) wird auf die Funktion „messungen();“ verwiesen, diese ist aber nirgends aufgeführt. Könnten Sie mir bitte sagen, was hier falsch ist?

hypertrax

hypertrax

Mmmh….
Erstmal… ja, interessantes Projekt… aber….
1.) Fehlerhafte BOM: Sie geben im Schaltplan als auch im Text an das ein Step-Down Wandler LM2506 verwendung finet um die 5V für den D1 zur Verfügung zu stellen.
Im Text heist es dazu “Zitat -:Die Stromversorgung des Mikroprozessors erfolgt über einen LM 2596 – StepDown Converter, der im AZ-Board MT3608 verbaut ist”
Soweit ich das aber sehe ist das MT3608-Board doch ein “STEP-UP-Modul”
Obendrein führt auch der Link ganz am Anfang des Blog zu diesem Step-UP-Modul MT3608. Meines erachtens müsste hier doch eher auf das Step-Down-Modul “LM2596S”
verwiesen werden. (im Schaltplan ist imm übrigen der “richtige” “LM2596S” dargestellt.
2.) Im Schaltplan is ganz links ein Bauteil mit der Kennzeichnung V1 dargestellt ohne weitere Angaben. Was soll das denn sein? Und… Die Beschaltung kann doch wohl so auch nicht richtig sein da an dem “unteren Beinchen” sowohl “PWR_FLAG” als auch “GND” anliegen soll ??? Da PWR_FLAG aber oben am Step-Down-Modul die +12V abgreift würde das doch zu einem Kurzschluss führen! (oder sollen diese “PWR_FLAG” irgendwelche Messpunkte darstellen ?)

Wenn dieses “V1” Bauteil aber die exteren Spannungsversorgung darstellen soll, so müsste da doch da der “Abgang” auf “+12V Vdd” gehen und nicht wie gezeichnet auf “+5V Vdd” – Oder aber die Schaltung soll denn doch mit 5V Betriebsspannung versorgt werden, dann aber wäre wiederum der Rest falsch weil dann ja in der Tat ein STEP-UP MT3608 zur Erzeugung der +12V benötigt würde….

Alles recht verwirrend… Irgendwie passt das alles nicht so recht zusammen….

roompi

roompi

irgendwie stimmt hier etwas nicht – hast Du einen WeMos D1 mini verwendet oder einen ESP32? Wenn ein D1 mini, dann ist es aber ESP8266 und kein ESP32. Und die Pins hauen damit auch nicht hin.

Leif Ljungström

Leif Ljungström

Sehr interessantes Projekt. Ich bin an Leiterplatten interessiert, falls Sie dies entwickeln werden. Mit freundlichen Grüßen,
Leif Ljungström

Karl-Heinz Lippert

Karl-Heinz Lippert

Hallo, im Sketch fehlt die Funktion “void messungen()” …
So kann das Ganze nicht funktionieren.
Ich bin noch im theoretischen Teil – aber das sollte auffallen.
Viele Grüße

Michael Klein

Michael Klein

DEN RICHTIGEN BOARDMANAGER WÄHLEN.

Bitte, benutzen Sie „ESP32 Dev Module“. Damit läuft der Compiler problemlos.

Viele Grüsse
Michael Klein

Michael

Michael

Wirklich ein sehr tolles und interessantes Projekt.
Es hat mich auch schon immer extremst gestört, dass man soviele Batterien entsorgt und
dann einfach eine neue aus der Verpackung nimmt.
Vor Deinem Bericht war mir allerdings nicht bewusst, dass man alte Alkaline Batterien wieder beleben kann vielen.
Danke für Deine Aufklärung.
Viele Grüße
Michael

Kurt Grunwald

Kurt Grunwald

Guten Tag, erstmal danke für die prima Arbeit.
Bei dem obigen Programm bekomme ich beim Kompilieren einen Fehler.
Kann das sein, das ich das falsche Board angegeben habe? oder läuft das Progrmm nicht mit der alten Arduino IDE? Vielleicht können Sie das einzustellende Board im Boardverwalter mit angeben.
Vielen Dank.

Arduino: 1.8.19 (Windows 7), Board: “WEMOS D1 MINI ESP32, 80MHz, Default, 240MHz (WiFi/BT), 921600, None, Disabled”
C:\-MEINE\arduino-1-8-19\arduino-builder -dump-prefs -logger=machine -hardware C:\-MEINE\arduino-1-8-19\hardware -hardware C:\-MEINE\arduino-1-8-19\portable\packages -tools C:\-MEINE\arduino-1-8-19\tools-builder -tools C:\-MEINE\arduino-1-8-19\hardware\tools\avr -tools C:\-MEINE\arduino-1-8-19\portable\packages -built-in-libraries C:\-MEINE\arduino-1-8-19\libraries -libraries C:\-MEINE\arduino-1-8-19\portable\sketchbook\libraries -fqbn=esp32:esp32:d1_mini32:FlashFreq=80,PartitionScheme=default,CPUFreq=240,UploadSpeed=921600,DebugLevel=none,EraseFlash=none -ide-version=10819 -build-path C:\Users\PcM\AppData\Local\Temp\arduino_build_225214 -warnings=none -build-cache C:\Users\PcM\AppData\Local\Temp\arduino_cache_837457 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.openocd-esp32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\openocd-esp32\v0.12.0-esp32-20250707 -prefs=runtime.tools.openocd-esp32-v0.12.0-esp32-20250707.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\openocd-esp32\v0.12.0-esp32-20250707 -prefs=runtime.tools.mklittlefs.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mklittlefs\4.0.2-db0513a -prefs=runtime.tools.mklittlefs-4.0.2-db0513a.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mklittlefs\4.0.2-db0513a -prefs=runtime.tools.mkspiffs.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mkspiffs\0.2.3 prefs=runtime.tools.mkspiffs-0.2.3.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mkspiffs\0.2.3 -prefs=runtime.tools.xtensa-esp-elf-gdb.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\xtensa-esp-elf-gdb\16.3_20250913 prefs=runtime.tools.xtensa-esp-elf-gdb-16.3_20250913.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\xtensa-esp-elf-gdb\16.3_20250913 -prefs=runtime.tools.esp-rv32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-rv32\2511 -prefs=runtime.tools.esp-rv32-2511.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-rv32\2511 prefs=runtime.tools.dfu-util.path=C:\-MEINE\arduino-1-8-19\portable\packages\arduino\tools\dfu-util\0.11.0-arduino5 -prefs=runtime.tools.dfu-util-0.11.0-arduino5.path=C:\-MEINE\arduino-1-8-19\portable\packages\arduino\tools\dfu-util\0.11.0-arduino5 prefs=runtime.tools.esp-x32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-x32\2511 -prefs=runtime.tools.esp-x32-2511.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-x32\2511 -prefs=runtime.tools.esptool_py.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esptool_py\5.1.0 prefs=runtime.tools.esptool_py-5.1.0.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esptoolpy\5.1.0 -prefs=runtime.tools.riscv32-esp-elf-gdb.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\riscv32-esp-elf-gdb\16.320250913 -prefs=runtime.tools.riscv32-esp-elf-gdb-16.320250913.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\riscv32-esp-elf-gdb\16.320250913 -prefs=runtime.tools.esp32-arduino-libs.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp32-arduino-libs\idf-releasev5.5-9bb7aa84-v2 -prefs=runtime.tools.esp32-arduino-libs-idf-releasev5.5-9bb7aa84-v2.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp32-arduino-libs\idf-releasev5.5-9bb7aa84-v2 -verbose C:\MEINE\arduino-1-8-19\portable\sketchbook\AlkalineAuffrischen12Teil1final\AlkalineAuffrischen12Teil1final.ino

C:\-MEINE\arduino-1-8-19\arduino-builder -compile -logger=machine -hardware C:\-MEINE\arduino-1-8-19\hardware -hardware C:\-MEINE\arduino-1-8-19\portable\packages -tools C:\-MEINE\arduino-1-8-19\tools-builder -tools C:\-MEINE\arduino-1-8-19\hardware\tools\avr -tools C:\-MEINE\arduino-1-8-19\portable\packages -built-in-libraries C:\-MEINE\arduino-1-8-19\libraries -libraries C:\-MEINE\arduino-1-8-19\portable\sketchbook\libraries -fqbn=esp32:esp32:d1_mini32:FlashFreq=80,PartitionScheme=default,CPUFreq=240,UploadSpeed=921600,DebugLevel=none,EraseFlash=none -ide-version=10819 -build-path C:\Users\PcM\AppData\Local\Temp\arduino_build_225214 -warnings=none -build-cache C:\Users\PcM\AppData\Local\Temp\arduino_cache_837457 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.openocd-esp32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\openocd-esp32\v0.12.0-esp32-20250707 -prefs=runtime.tools.openocd-esp32-v0.12.0-esp32-20250707.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\openocd-esp32\v0.12.0-esp32-20250707 -prefs=runtime.tools.mklittlefs.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mklittlefs\4.0.2-db0513a -prefs=runtime.tools.mklittlefs-4.0.2-db0513a.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mklittlefs\4.0.2-db0513a -prefs=runtime.tools.mkspiffs.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mkspiffs\0.2.3 prefs=runtime.tools.mkspiffs-0.2.3.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\mkspiffs\0.2.3 -prefs=runtime.tools.xtensa-esp-elf-gdb.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\xtensa-esp-elf-gdb\16.3_20250913 prefs=runtime.tools.xtensa-esp-elf-gdb-16.3_20250913.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\xtensa-esp-elf-gdb\16.3_20250913 -prefs=runtime.tools.esp-rv32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-rv32\2511 -prefs=runtime.tools.esp-rv32-2511.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-rv32\2511 prefs=runtime.tools.dfu-util.path=C:\-MEINE\arduino-1-8-19\portable\packages\arduino\tools\dfu-util\0.11.0-arduino5 -prefs=runtime.tools.dfu-util-0.11.0-arduino5.path=C:\-MEINE\arduino-1-8-19\portable\packages\arduino\tools\dfu-util\0.11.0-arduino5 prefs=runtime.tools.esp-x32.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-x32\2511 -prefs=runtime.tools.esp-x32-2511.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp-x32\2511 -prefs=runtime.tools.esptool_py.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esptool_py\5.1.0 prefs=runtime.tools.esptool_py-5.1.0.path=C:\-MEINE\arduino-1-8-19\portable\packages\esp32\tools\esptoolpy\5.1.0 -prefs=runtime.tools.riscv32-esp-elf-gdb.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\riscv32-esp-elf-gdb\16.320250913 -prefs=runtime.tools.riscv32-esp-elf-gdb-16.320250913.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\riscv32-esp-elf-gdb\16.320250913 -prefs=runtime.tools.esp32-arduino-libs.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp32-arduino-libs\idf-releasev5.5-9bb7aa84-v2 -prefs=runtime.tools.esp32-arduino-libs-idf-releasev5.5-9bb7aa84-v2.path=C:\MEINE\arduino-1-8-19\portable\packages\esp32\tools\esp32-arduino-libs\idf-releasev5.5-9bb7aa84-v2 -verbose C:\MEINE\arduino-1-8-19\portable\sketchbook\AlkalineAuffrischen12Teil1final\AlkalineAuffrischen12Teil1final.ino

Using board ‘d1_mini32’ from platform in folder: C:\-_MEINE\arduino-1-8-19\portable\packages\esp32\hardware\esp32\3.3.5

Using core ‘esp32’ from platform in folder: C:\-_MEINE\arduino-1-8-19\portable\packages\esp32\hardware\esp32\3.3.5

cmd /c if exist “C:\\-MEINE\\arduino-1-8-19\\portable\\sketchbook\\Alkaline_Auffrischen_1_2_Teil_1final\\partitions.csv” COPY /y “C:\\-MEINE\\arduino-1-8-19\\portable\\sketchbook\\Alkaline_Auffrischen_1_2_Teil_1final\\partitions.csv” “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\partitions.csv”

cmd /c if not exist “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\partitions.csv” if exist “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\hardware\\esp32\\3.3.5\\variants\\d1mini32\\partitions.csv” COPY “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\hardware\\esp32\\3.3.5\\variants\\d1mini32\\partitions.csv” “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\partitions.csv”

cmd /c if not exist “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\partitions.csv” COPY “C:\\-_MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\hardware\\esp32\\3.3.5\\tools\\partitions\\default.csv” “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\partitions.csv”

cmd /c IF EXIST “C:\\-MEINE\\arduino-1-8-19\\portable\\sketchbook\\Alkaline_Auffrischen_1_2_Teil_1final\\bootloader.bin” ( COPY /y “C:\\-MEINE\\arduino-1-8-19\\portable\\sketchbook\\Alkaline_Auffrischen_1_2_Teil_1final\\bootloader.bin” “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\Alkaline_Auffrischen_1_2_Teil_1_final.ino.bootloader.bin” ) ELSE ( IF EXIST “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\hardware\\esp32\\3.3.5\\variants\\d1mini32\\bootloader.bin” ( COPY “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\hardware\\esp32\\3.3.5\\variants\\d1mini32\\bootloader.bin” “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\Alkaline_Auffrischen_1_2_Teil_1_final.ino.bootloader.bin” ) ELSE ( “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\tools\\esptoolpy\\5.1.0\\esptool.exe” —chip esp32 elf2image —flash-mode dio —flash-freq 80m —flash-size 4MB -o “C:\\Users\\PcM\\AppData\\Local\\Temp\\arduino_build_225214\\Alkaline_Auffrischen_1_2_Teil_1_final.ino.bootloader.bin” “C:\\-MEINE\\arduino-1-8-19\\portable\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.5-9bb7aa84-v2\\esp32\\bin\\bootloader_dio80m.elf” ) )

[PYI-708:ERROR] Failed to load Python DLL ‘C:\Users\PcM\AppData\Local\Temp\_MEI14282\python313.dll’.

LoadLibrary:

exit status -1

Fehler beim Kompilieren für das Board WEMOS D1 MINI ESP32.

Walter Wengler

Walter Wengler

Hallo Michael,
ich finde dieses Projekt sehr spannend, da ich selbst jede Menge Geräte im Smarthome Bereich habe, die AA Batterien benötigen. Ich freue mich schon auf zweiten Teil Ihres Blog.
Viele Grüße
Walter

Festus

Festus

Prima
Schönes Projekt. Obwohl nichts “passieren” kann sollte der Aufbau des Gerätes doch feuerhemmend erfolgen. Sehr gut gefällt mir die geringe Größe und die Übersichtlichkeit des Programms.

Ulrich

Ulrich

Die Funktion erinnert mich an die 80-er Jahre im Osten. Kollegen mit “West”-Verwandschaft bekamen Digitaluhren geschickt, solche “LR/AG” Knopfzellen gabs damals nicht.
Wir haben die Batterien aufgefrischt mit Einweggleichrichtung und über Widerstand mit kleiner negativen Gegenspannung. Danach liefen manche Uhren noch Monate.

Alex

Alex

Der code meldet mehrere Fehler!! Habe Chatgpt dazu gefragt und es hat den code überarbeitet, jetzt keine Fehlermeldungen beim Compilen !! Das Thema interessiert mich, weil zur Weihnachtszeit wieder viele Batterien zusammen kamen !!

taskkill

taskkill

Könnten Sie auch ein Foto der Leiterplatte mit einbinden ?

Laat een reactie achter

Alle opmerkingen worden voor publicatie gecontroleerd door een moderator

Aanbevolen blogberichten

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery