Sicheres Ladegerät

Hallo allerseits,

In meinem Garten betreibe ich zwei Wildkameras. Diese werden normalerweise mit jeweils 8 Monozellen betrieben. Wenn Wind ist, passiert es, das die beiden Kameras bis zu 200 Filme aufnehmen. Dann sind die Batterien alle. Ist auf die Dauer ein teures Vergnügen. Deshalb betreibe ich diese jetzt mit einem 12 V Akku.
Da ich aller 2 bis 3 Tage diesen aufladen muss, möchte ich sichergehen, das er nicht überladen wird. Also brauche ich ein Ladegerät, dass sicherstellt, dass die Ladung mit einem konstanten Strom erfolgt und nach erreichen der Ladeendspannung die Ladung abgebrochen wird. Weiterhirn sollte eine Ladung auch am Auto möglich sein.
Als Endspannung habe ich 2,2 V pro Zelle und Ladestrom von 0,5 A gewählt. Zur Steuerung habe ich einen Arduino Uno verwendet. Die Schaltung sieht so aus:

Erst einmal eine Wurfschaltung zum Ausprobieren der Idee und des benötigten Programms:

Nach dem alles lief und zusammen gebaut war, sah dass dann so aus:

Es gehören zwei Programme dazu. Mit dem ersten (strom-spanning.ino) wird die Spannungsmessung eingestellt. Dazu startet man das Programm und schließt eine externe Spannungsquelle von 12 V an den Ausgang an. Sowohl der Strom und auch der Spannungsmesspunkt sollen jetzt den gleichen Wert, möglichst dicht an 12 V anzeigen und gleich sein. Da die Auflösung der analogen Eingänge nicht sehr groß ist, springen die Messwerte um zirka 15 mV.
Sollten die Werte stark abweichen, Ist im Deklarationsteil der Programme ein Korrekturfaktor, den muss man dann etwas ändern. Da kann ohne weiteres sein, resultiert aus der Toleranz der Widerstände. Danach wird dieses Programm nicht mehr benötigt.

Das 2. Programm (lader.ino) ist dann das eigentliche Programm zum Laden. Nach dem Starten wird man aufgefordert, den Akku anzuschließen. Ist die Spannung stabil, startet man mit der entsprechenden Taste den Ladevorgang.

Über einen PM-Ausgang wird der Strom langsam erhöht und pendelt dann um den eingestellten Wert.

Zur Dimensionierung ist nicht viel zu sagen. Die beiden Dioden links sind nur zur Sicherheit, dass der Arduino nicht mehr als 12 V (bei Autobatterie) erhält. Der Spannungswandler ist eine gekaufte Baugruppe.

R1 20 KOhm; R2 10 KOhm; R3 1 Ohm; R4 5,5 KOhm; R5 460 Ohm; DR1 1mH (wahrscheinlich etwas zu klein); C1 47 myF; C2 500 myF; T1 2SA11200; der andere Transistor Bastelkiste; D1 1N5822 (sollte auf jeden Fall eine Schottky sein).

Ansonsten lassen sich fast alle Anwendungsdaten im Deklarationsteil (ist beschriftet) variieren.

Zum Schluss noch die beiden Programme:

strom-spannung.ino

lader.ino

M.f.G.

Hans-Ulrich

Setze Deinen Code bitte direkt ins Forum. Benutze dazu Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
Dann ist er auch auf mobilen Geräten besser lesbar.
Das kannst Du auch noch nachträglich ändern.

Guß Tommy

D1 kommt doppelt vor, das schwarze Rechteck dürfte DR1 sein. Zwei Widerstände sind nicht beschriftet und dimensioniert.

Es fehlen die Punkte bei Linienkreuzungen.

Hallo allerseits,

die Punkte sind schon da, nur zu klein. Ich komme mit dem Programm noch so richtig zurecht.

Nur wer nichts macht, macht keine Fehler . . .

Das schwarze Rechteck ist natürlich die Speicherdrossel. Der zweite Spannungsteiler ist identisch mit dem ersten.
Ist wieder typisch Techniker, der denkt, was er denkt, wissen auch die anderen.

Ich versuche das mal mit der Code:

lader.ino

// Einbinden der Anzeige
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display Blau
// Anschlussbelegung Display
// Analog 4 = SDA Anzeige (Daten)
// Analog 5 = SCL Anzeige (Takt)
// Display -> I2C Modul +LCD 1602A 16x2 Blau Zeichen Display HD44780 LCD1602

// benoetigte Ports
int m_strom = 3;  // Analog 3 = strom
int m_spannung = 2; // Analog 2 = Spannung
int puls_port = 11; // Ausgang Transistor
int puls_aus = 0; // Tackt transistor
int tast6 = 2; int tast12 = 3; // Starttasten

// Ladewerte
long end_6V = 6600; long end_12V = 13200; // Ladeendspannung in milli Volt
long strom_max = 0; long strom_max_6 = 400; long strom_max_12 = 500; // Ladestrom in milli Ampere
int delta_strom = 0; int delta_strom_6 = 3; int delta_strom_12 = 5; // Schrittweite beim erste Hochfahren

// Messwerte und Variabele
long spannung = 0; long strom = 0;
long korektur_v = 1560000; long korektur_a = 1564000;
long end_v = 0; // Endspannung nach Wahl des Akku
int zw1 = 0; int zw2 = 0; int zw3 = 0; //Zaelwert
int spannung1 = 0; int spannung2 = 0; int spannung3 = 0;
int strom1 = 0; int strom2 = 0; int strom3 = 0;

//--------------------------------------------------------------------------------

void setup()
{
  pinMode (puls_port, OUTPUT); digitalWrite (puls_port, LOW);
  lcd.init();                      // initialize the lcd
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0); lcd.print("Ladegeraet 12/6V");
  lcd.setCursor(3, 1); lcd.print("Eingang 12V");
  delay(3000);
  lcd.setCursor(0, 0); lcd.print("                ");
  lcd.setCursor(0, 1); lcd.print("                ");
  lcd.setCursor(2, 0); lcd.print("Bitte  Akku");
  lcd.setCursor(3, 1); lcd.print("anklemmen");

  digitalWrite (tast6, HIGH); digitalWrite (tast12, HIGH); // Pullup Tasten
}
//-------------------------------------------------------------------------------------------------------------------
void loop() {

  // Warten auf Spannung --------------------------------------------

  do {
    zw2 = analogRead(m_spannung);
    if (zw2 > 200)
    {
      spannung_messen();

      if (zw2 == zw3) {
        zw1++;
        lcd.setCursor(0, 1); lcd.print("                ");
      } else {
        zw1 = 0;
      };
      zw3 = zw2;
    } else {
      lcd.setCursor(0, 0); lcd.print("                ");
      lcd.setCursor(0, 1); lcd.print("                ");
      lcd.setCursor(2, 0); lcd.print("Bitte  Akku");
      lcd.setCursor(3, 1); lcd.print("anklemmen");
      delay(500);  zw1 = 0;
    };
  }
  while (zw1 < 3);
  lcd.setCursor(0, 0); lcd.print("                ");
  lcd.setCursor(0, 1); lcd.print("                ");

  // Warten auf Taste -------------------------------------------------

  lcd.setCursor(0, 0); lcd.print("   Starttaste   ");
  lcd.setCursor(0, 1); lcd.print(" 12 V oder 6 V  ");
  zw1 = 0; zw2 = 0; zw3 = 0; // loeschen Zaehlwerte
  do {
    if (digitalRead(tast6) == 0) {
      zw1 = 1; end_v = end_6V;
      strom_max =  strom_max_6 ; delta_strom = delta_strom_6;
      lcd.setCursor(0, 0); lcd.print("                ");
      lcd.setCursor(0, 1); lcd.print("                ");
      lcd.setCursor(0, 0); lcd.print("  Laden   6 V   ");
      lcd.setCursor(0, 1); lcd.print(" wird gestartet ");
    };
    if (digitalRead(tast12) == 0) {
      zw1 = 1; end_v = end_12V;
      strom_max =  strom_max_12 ; delta_strom = delta_strom_12;
      lcd.setCursor(0, 0); lcd.print("                ");
      lcd.setCursor(0, 1); lcd.print("                ");
      lcd.setCursor(0, 0); lcd.print("  Laden  12 V   ");
      lcd.setCursor(0, 1); lcd.print(" wird gestartet ");
    };
  } while (zw1 == 0);

  delay(3000);

  lcd.setCursor(0, 0); lcd.print("                ");
  lcd.setCursor(0, 1); lcd.print("                ");
  zw1 = 0; zw2 = 0; zw3 = 0; // loeschen Zaehlwerte

  // Laden ---------------------------------------------------------

  puls_aus = 0; analogWrite(puls_port, puls_aus);
  do {
    spannung_strom_messen();

    if (strom < strom_max) {
      puls_aus = puls_aus + delta_strom; // Strom zu niedrig
    };
    if (strom > strom_max) {
      puls_aus--; // Strom zu hoch
    };
    if (strom > strom_max-75) {
      delta_strom = 1; // Kleine Näherung an Sollwert
    };

    analogWrite(puls_port, puls_aus); 

  }
  while (spannung < end_v); // Ladeendspannung ereicht

  // End -----------------------------------------------------------

  lcd.setCursor(0, 0); lcd.print("                ");
  lcd.setCursor(6, 0); lcd.print("millivolt");
  lcd.setCursor(0, 0); lcd.print(spannung);
  lcd.setCursor(0, 1); lcd.print("                ");
  lcd.setCursor(0, 1); lcd.print("   geladen      ");

  zw1 = 0; zw2 = 0; zw3 = 0; puls_aus = 0;// löschen Zählwerte

  analogWrite(puls_port, puls_aus); // Abschalten Regeltransistor

  do {
    if (digitalRead(tast6) == 0 || digitalRead(tast12) == 0 ) {
      zw1 = 1;
    };
    spannung_messen();

  } while (zw1 == 0);
  lcd.setCursor(0, 0); lcd.print("                ");
  lcd.setCursor(0, 1); lcd.print("                ");
}

// Unterprogramme ---------------------------------------------------
void spannung_messen ()
{
  spannung = 0; zw2 = 0;
  do {
    spannung1 = analogRead(m_spannung); delay(10);
    spannung = spannung + spannung1;
    zw2++;
  } while (zw2 < 100);
  spannung = spannung / 100;
  spannung = spannung * korektur_v; spannung = spannung / 100000;
  lcd.setCursor(0, 0); lcd.print("                ");
  lcd.setCursor(6, 0); lcd.print("millivolt");
  lcd.setCursor(0, 0); lcd.print(spannung);
}

void spannung_strom_messen ()

{
  strom = 0; strom1 = 0;
  spannung = 0; zw2 = 0;
  do {
    strom1 = analogRead(m_strom);
    strom = strom + strom1;
    spannung1 = analogRead(m_spannung); 
    spannung = spannung + spannung1;
    zw2++;
  } while (zw2 < 5000);

  spannung = spannung / 5000;
  spannung = spannung * korektur_v; spannung = spannung / 100000;

  strom = strom / 5000;
  strom = strom * korektur_a; strom = strom / 100000; strom2 = strom;
  strom = strom - spannung;

  lcd.setCursor(0, 0); lcd.print("                ");
  lcd.setCursor(6, 0); lcd.print("millivolt");
  lcd.setCursor(0, 0); lcd.print(spannung);

  lcd.setCursor(0, 1); lcd.print("                ");
  lcd.setCursor(6, 1); lcd.print("milliamper");
  lcd.setCursor(0, 1); lcd.print(strom);

  //delay(200);

}

// HUK 11.06.2020 V24-kombi

Und jetzt noch strom_spannung.ino. Das war in einem Ritt zu viel.

// Einbinden der Anzeige
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display Blau
// Anschlussbelegung Display
// Analog 4 = SDA Anzeige (Daten)
// Analog 5 = SCL Anzeige (Takt)
// Display -> I2C Modul +LCD 1602A 16x2 Blau Zeichen Display HD44780 LCD1602

// benoetigte Ports
int m_strom = 3;  // Analog 3 = strom
int m_spannung = 2; // Analog 2 = Spannung
int puls_port = 11; // Ausgang Transistor
int puls_aus = 0; // Tackt transistor
int tast6 = 2; int tast12 = 3; // Starttasten

// Ladewerte
long end_6V = 6750; long end_12V = 13200; // Ladeendspannung in milli Volt
long strom_max = 0; long strom_max_6 = 400; long strom_max_12 = 500; // Ladestrom
int delta_strom = 0; int delta_strom_6 = 3; int delta_strom_12 = 5; // Schrittweite beim erste Hochfahren


// Messwerte und Variabele
long spannung = 0; long strom = 0;
long korektur_v = 1560000; long korektur_a = 1564000;
long end_v = 0; // Endspannung nach Wahl des Akku
int zw1 = 0; int zw2 = 0; int zw3 = 0; //Zaelwert
int spannung1 = 0; int spannung2 = 0; int spannung3 = 0;
int strom1 = 0; int strom2 = 0; int strom3 = 0;

//--------------------------------------------------------------------------------

void setup()
{
  pinMode (puls_port, OUTPUT); digitalWrite (puls_port, LOW);
  lcd.init();                      // initialize the lcd
  lcd.init();
  lcd.backlight();
  lcd.setCursor(1, 0); lcd.print("Test Spannung");
  delay(3000);
  lcd.setCursor(0, 0); lcd.print("                ");
  lcd.setCursor(0, 1); lcd.print("                ");
  lcd.setCursor(2, 0); lcd.print("Bitte  Akku");
  lcd.setCursor(3, 1); lcd.print("anklemmen");

  digitalWrite (tast6, HIGH); digitalWrite (tast12, HIGH); //Pullup Tasten
}
//-------------------------------------------------------------------------------------------------------------------
void loop() {

  // Warten auf Spannung --------------------------------------------

  do {
    zw2 = analogRead(m_spannung);
    if (zw2 > 200)
    {
      spannung_messen();

      if (zw2 == zw3) {
        zw1++;
        lcd.setCursor(0, 1); lcd.print("                ");
      } else {
        zw1 = 0;
      };
      zw3 = zw2;
    } else {
      lcd.setCursor(0, 0); lcd.print("                ");
      lcd.setCursor(0, 1); lcd.print("                ");
      lcd.setCursor(2, 0); lcd.print("Bitte  Akku");
      lcd.setCursor(3, 1); lcd.print("anklemmen");
      delay(500);  zw1 = 0;
    };
  }
  while (zw1 < 3);
  lcd.setCursor(0, 0); lcd.print("                ");
  lcd.setCursor(0, 1); lcd.print("                ");


  zw1 = 0; zw2 = 0; zw3 = 0; // loeschen Zaehlwerte

  // Test ---------------------------------------------------------

  puls_aus = 0; analogWrite(puls_port, puls_aus);
  do {
    spannung_strom_messen();
  }
  while (zw1 == 0);
}

// Unterprogramme ---------------------------------------------------
void spannung_messen ()
{
  spannung = 0; zw2 = 0;
  do {
    spannung1 = analogRead(m_spannung); delay(10);
    spannung = spannung + spannung1;
    zw2++;
  } while (zw2 < 100);
  spannung = spannung / 100;
  spannung = spannung * korektur_v; spannung = spannung / 100000;
  lcd.setCursor(0, 0); lcd.print("                ");
  lcd.setCursor(6, 0); lcd.print("millivolt");
  lcd.setCursor(0, 0); lcd.print(spannung);
}

void spannung_strom_messen ()

{
  strom = 0; strom1 = 0;
  spannung = 0; zw2 = 0;
  do {
    strom1 = analogRead(m_strom);
    strom = strom + strom1;
    spannung1 = analogRead(m_spannung);
    spannung = spannung + spannung1;
    zw2++;
  } while (zw2 < 5000);

  spannung = spannung / 5000;
  spannung = spannung * korektur_v; spannung = spannung / 100000;

  strom = strom / 5000;
  strom = strom * korektur_a; strom = strom / 100000; strom2 = strom;

  lcd.setCursor(0, 0); lcd.print("                ");
  lcd.setCursor(6, 0); lcd.print("millivolt");
  lcd.setCursor(0, 0); lcd.print(spannung);

  lcd.setCursor(0, 1); lcd.print("                ");
  lcd.setCursor(6, 1); lcd.print("milliamper");
  lcd.setCursor(0, 1); lcd.print(strom);

  //delay(200);

}

// HUK 11.06.2020 Strom-Spannung1

M.f.G.

Hans-Ulrich

Welchen Akkutyp verwendest Du denn?
Wenn es NiMh Akkus sind ist Deine Ladestrategie falsch.
Grüße Uwe

(deleted)

Hallo allerseits,

Welchen Akkutyp verwendest Du denn?
Wenn es NiMh Akkus sind ist Deine Ladestrategie falsch.

Richtig, ich habe einen Blei-Gel Akku. Die sollte man nach Möglichkeit nicht überladen. Ich schließe den Akku an und brauche mir dann keine Sorgen mehr zu machen. Wenn ich nach einigen Stunden wieder Zeit habe, ist der Akku voll und die Ladung abgeschlossen.

bekommt man so was nicht von der Stange gekauft?

Kann sein, ich nenne das Spaß an der Freude. . .

M.f.G.

Hans-Ulrich

Ein 12V Blei Gel Akkus wird bis 13,8V geladen
Ein Ladegerät ist eine Konstantstromquelle mit Spannungsbegrenzung. Man kann es auch als Konstantspannungsquelle mit Strombegrenzung.

Grüße Uwe

Hans_Ulrich:
... Richtig, ich habe einen Blei-Gel Akku. Die sollte man nach Möglichkeit nicht überladen. ...

Kommt darauf an :slight_smile:

Ich benutze seit ein paar Jahren einen relativ alten 12 Volt P*nasonic LC-R127R2PG Blei-Gel-Akku. In dessen Datenblatt steht, dass man als Zielspannung 14,5-14,9 Volt bei max. 2,88 A Ladestrom verwenden soll. Das funktioniert bei mir bestens.

Ein Blick in das Datenblatt eines Dings ist nie verkehrt.

Gruß

Gregor

Kommt auch darauf an wie der Akku eingesetzt wird. Ladeschlußspannung Bereitschaftsbetrieb 13,6-13,8V, Zyklischer Betrieb 14,5-14,9V. Da der Akku geladen wird und dann wieder vom Ladegerät genommen wird, wäre das zyklischer Betrieb.

Da wären dann die 2,2V pro Zelle schon ein wenig niedrig. Ist dann eben nicht ganz voll und somit nicht optimal. Aber immer noch besser als überladen.
Kommt jetzt natürlich auch noch drauf an was der Arduino und der Rest der Schaltung macht. Durch Änderung der Betriebsspannung ändert sich auch die Ladeschlußspannung, weil als Referenz die 5V genommen wurde. Interne Referenz wäre besser.

Gruß, Jürgen

gregorss:
Kommt darauf an :slight_smile:

Ich benutze seit ein paar Jahren einen relativ alten 12 Volt P*nasonic LC-R127R2PG Blei-Gel-Akku. In dessen Datenblatt steht, dass man als Zielspannung 14,5-14,9 Volt bei max. 2,88 A Ladestrom verwenden soll. Das funktioniert bei mir bestens.

Ein Blick in das Datenblatt eines Dings ist nie verkehrt.

Gruß

Gregor

Das ist kein Blei Gel Akku ( der Elektrolyt (Schwefelsäure) ist ein Gel). Dieser Akku ist ein Blei-Vlies Akku. Der Elektrolyt ist flüssig aber durch ein Glasfaserflies zwischen den Elektroden gehalten. Dadurch ist er Lageunabhängig und hat trotzdem die Stromeigenschaften eines normalen Bleiakkus.
Aber wie gesagt, Die Werte des Datenblatts sind außschlaggebend.

Grüße Uwe

Grüße Uwe

uwefed:
... Blei-Vlies Akku. ...

Ups, im Datenblatt steht weder etwas von Blei noch von Vlies. Danke für die Erleuchtung!

Gruß

Gregor

gregorss:
Ups, im Datenblatt steht weder etwas von Blei noch von Vlies. Danke für die Erleuchtung!

Gruß

Gregor

Ich schaute mir die Batterie beim großen C an. Da stand Blei Vlies im Titel.
Blei steht schon im Datenblatt in der Fußzeile: Valve Regulated Lead-Acid Batteries

Noch etwas weitergesucht: Ok, außer im Titel einiger Verkäufer habe ich Vlies bzw Absorbent Glass Mat (AGM) nicht gefunden.
Grüße Uwe

uwefed:
Blei steht schon im Datenblatt in der Fußzeile: Valve Regulated Lead-Acid Batteries

Ja, klar. Ich habe mich verschrieben - ich meinte nicht „Blei“ sondern „Gel“.

Schönen Sonntach noch!

Gregor

gregorss:
Ups, im Datenblatt steht weder etwas von Blei noch von Vlies. Danke für die Erleuchtung!

Moin Gregorss,

Im Sicherheitsdatenblatt ist dazu was hinterlegt:
https://asset.re-in.de/add/160267/c1/-/en/000254320SD01/SI_Panasonic-12V-7-2Ah-LC-R127R2PG-Bleiakku-12V-7.2Ah-Blei-Vlies-AGM-B-x-H-x-T-151-x-94-x-65mm-Flachstecker-4.8mm.pdf (Sektion 3 & 16)

Und Aufbau des Akkus auf Seite 9:https://asset.re-in.de/add/160267/c1/-/en/000254320DS01/DA_Panasonic-12V-7-2Ah-LC-R127R2PG-Bleiakku-12V-7.2Ah-Blei-Vlies-AGM-B-x-H-x-T-151-x-94-x-65mm-Flachstecker-4.8mm.pdf (Vollständiges und nicht nur 2 Seiten-Datenblatt u.a. mit Auflistung der Bezeichnungen der Akkutypen)

(deleted)

Hallo allerseits,

leider hatte ich kein Datenblatt für den Akku, also habe ich mich im Netz nach Daten umgeschaut. Wie immer gab es da sehr viele unterschiedliche Meinungen und ich habe mich dann vorsichtshalber für 2,2 Volt pro Zelle entschieden. Ob der Akku zu 100 oder 80 % geladen ist, spielt nicht so die Rolle. Zu mindestens bei meiner Anwendung.

@ Jürgen

Durch Änderung der Betriebsspannung ändert sich auch die Ladeschlußspannung,
weil als Referenz die 5V genommen wurde. Interne Referenz wäre besser.

Ich betreibe den Arduino nicht über USB. Heute habe ich noch mal probiert, ob eine Veränderung der Betriebsspannung eine Auswirkung hat. Die Spannung habe ich von 9 V bis 13 V verändert. Es gab keine Änderung bei den beiden Messpunkten.


Das Laden aller paar Tage ist auch kein Problem. Ich muss ja jeden Tag die Kameras rein holen und auslesen.
Ist schon interessant was sich so alles in der Nacht rum treibt. Mittlerweile kenne ich alle Katzen der Nachbarschaft. Igel, Waschbär, Fuchs und Marder haben sich auch schon ablichten lassen. Jetzt weiß ich auch, dass Krähen Nüsse klauen. Dann kommen noch die Zufallsfunde wie Vögel, Mäuse und Fledermäuse dazu. Die lösen zwar nicht die Kamera aus, sind aber mach mal mit drauf.

@ Peter

für eine geschmeidige Lösung der Strom/Spannungsmessung nimm eine Suchmaschine deiner Wahl
und durchpflüge das weltweite Netz nach INA219

Warum, das Gerät lauft zur vollen Zufriedenheit. Ich kann problemlos alle Werte so einstellen, wie ich sie im einzelnen Fall benötige. Wenn ich was ändern möchte, stecke ich den Lader an den Rechner und fertig. Dazu brauche ich nicht mal das Gehäuse zu öffnen.

Im Vorfeld hatte ich mit Reglern die sowohl Strom und Spannung regeln getestet. Hat mir aber alles nicht so richtig gefallen.

Den INA219 schaue ich mir trotzdem mal genauer an.

M.f.G.

Hans-Ulrich

Hallo allerseits,

das Ladegerät läuft jetzt einige Monate problemlos. Zumindest für den ursprünglich gedachten Zweck.
Jetzt wollte ich einen Akku laden der aber in einem Gerät fest verbaut ist. Es existiert zwar ein Anschluss zum Laden, aber von der Buchse bis zum Akku sind einige Bauelemente, die doch einen nicht zu verlässigen Spannungsabfall verursachen. Das bedeutete die Ladeendspannung muss variabel sein. Deshalb habe ich da Programm noch mal verändert, so dass man beim Start die Endspannung in bestimmten Grenzen ändern kann. Mit der einen Taste hoch, mit der anderen Taste wieder runter. Das jeweils in 0,1 V Schritten in einen Bereich von mehreren Volt. Die aktuelle Spannung wird angezeigt. Drückt man beide Tasten, startet der Ladevorgang.
Leider überschritt das Programm das Limit, deshalb als Link:

lader_var

M.f.G.
Hans-Ulrich