Vier Ladeschächte mit Mega48 parallel überwachen, geht das?

Gast #5839415
Hallo,

ich wollte mir ein Ladegerät basteln.
Hab die Hardware soweit fertig, einen Mosfet zum Laden einen weiteren 
zum entladen des Akkus über Widerstände pro Ladeschacht. Eine Leitung 
zum messen der Spannung per interner Spannungsreferenz und 
Spannungsteiler.

Mein Problem ist das ich vier Ladeschächte prallel überwachen möchte.

Zum Laden wollte ich das Pulsladeverfahren anwenden.
https://de.wikipedia.org/wiki/Ladeverfahren#Pulsladeverfahren

Mir ist absolut unklar wie ich vier Vorgänge auf einmal realisieren 
soll.
Dabei kann sich ja jeder schacht in unterschiedlichen zuständen befinden 
z.B. Schacht1 entladen
Schacht2 laden
Schacht3 leer
Schacht4 entladen

Für nur einen Ladeschacht ließ sich das ganze einfach realisieren. Aber 
für vier parallel mit unterschiedlichen zuständen.
Ladeverfahren:
1: Entladen auf 0,9V
2: Laden bis -dU erreicht
3: Anzeigen das alles fertig ist

Wie soll ich das nur für nier schächte gleichzeitig realisiern?

Grüße
Franz
Gast
Hallo Franz,

Zum einen würde ich nicht die interne Referenz nehmen sie kann genau 
sein aber ihr wärt ist nicht genau definiert.

Darüber hinaus hast du ja ein Anfang gemacht für einen Schacht, also 
überlege weiter und schreibe den Vorgang 3 weiteres mal untereinander.

Zur hältst du dann eine Überwachung, Lade und Darstellung Version deines 
Programms für 4 Schächte.

So mal im Groben gesprochen. Das heißt man programmiert dies natürlich 
nur einmal und verwendet die prozentuale Programmierung beispielsweise.
Gast
Karl M. schrieb:
> Darüber hinaus hast du ja ein Anfang gemacht für einen Schacht, also
> überlege weiter und schreibe den Vorgang 3 weiteres mal untereinander.

Warum meinst du, dass man das insgesamt vier mal hinschreiben muss. In 
vielen Programmiersprachen gibt es Schleifenstrukturen, die dann über 
die 4 parallel ablaufenden Steuerprozesse iterieren können.

Möglichkeit 1: Ein Array mit den Pin-Nummern der Steuerpins, ein Array 
mit den Nummern der ADC-Kanäle, ein Array mit den aktuellen Spannungen 
...

Möglichkeit 2: Oder man geht es objektorientiert an, so dass es vier 
Objekte "Ladekanal" gibt, von denen jedes seine relevanten Daten enthält 
und das Programm iteriert über die vier Ladekanalobjekte.
@Franz,

du musst dich davon verabschieden, das während eines Vorgangs nichts 
anderes passieren kann.
Jeder Schacht erhält eine Statusvariable die den aktuellen Zustand 
abbildet. Dann schaust du dir alle 5s (ist ja nicht gerade Zeitkritisch 
- die Aufgabe) den Status jedes Kanals an.
Steht der auf:
ENTLADEN - Spannung messen und auf Grenzwert prüfen, wenn <0.9 ->Status 
= laden
LADEN - Spannung messen und mit dem Wert der letzten Messung 
vergleichen, wenn -dU -> Status = fertig
FERTIG - Spannung messen, wenn <0.2 ->Status = leer
LEER - Spannung messen, wenn >0.5 ->Status = Entladen



Sascha

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.