Forum: Mikrocontroller und Digitale Elektronik Software Akku - Ladeschaltung ATmega


von Thomas Adam (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag!

Wir benötigen für unsere Diplomarbeit eine Software Lösung zu unserer 
Schaltung....

Zur Problemstellung:
Wir haben 4 Akkus (jeweils 12V, gesamt Spannung 48V) in unsererm System 
welche wir über einen ATmega32 ansteuern möchten.
Ziel ist es jeden Akku extra laden und überprüfen zu können.

Da wir noch nicht sehr viel Erfahrung in der Programmiertechnik haben, 
wären wir über eine Hilfe sehr dankbar.

von Εrnst B. (ernst)


Lesenswert?

> Da wir noch nicht sehr viel Erfahrung in der Programmiertechnik
> haben, wären wir über eine Hilfe sehr dankbar.

Braucht ihr jetzt Hilfe beim Programm? Dafür bräuchten wir aber erstmal 
einen vollständigen Schaltplan. Ohne die Hardware zu kennen, wird hier 
niemand was funktionierendes Programmieren können.

Oder braucht ihr erstmal Hilfe mit der Hardware?

von Karl H. (kbuchegg)


Lesenswert?

Thomas Adam schrieb:

> Da wir noch nicht sehr viel Erfahrung in der Programmiertechnik haben,
> wären wir über eine Hilfe sehr dankbar.

Wie weit seid ihr denn?

(Die Frage warum man sich für eine Abschlussarbeit ein Thema sucht, mit 
dem man überfordert ist, verkneif ich mir mal. Die einen bauen Roboter, 
ohne hardwaremässig so weit zu sein [einen Asuro zu kaufen wär ja auch 
viel zu einfach gewesen], die anderen entwerfen eine µC-Hardware ohne 
sie programmieren zu können, ....)

von Εrnst B. (ernst)


Lesenswert?

Ach ja, noch zwei Tip zum Umgang mit diesem Forum, die es deutlich 
erleichtern vernünftige Antworten zu erhalten:

Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Steht über dem Post-Formular unter "Wichtige Regeln - erst lesen, dann 
posten!", und das mit gutem Grund, Langfassung: Bildformate, 
Kurzfassung: Wer den Unterschied zwischen JPEG und PNG nicht versteht, 
wird auch nie den Unterschied zwischen Analog- und Digitaltechnik 
verstehen...

Eagle kann übrigens direkt als PNG speichern.

und zweitens:
Wenn schon Eagle-Screenshot, dann unbedingt das "Professional" oben 
rausschneiden.
Sonst bricht hier wieder eine 
Cracker/Raubkopierer/Kinderschänder-Diskussion los, egal ob ihr diese 
Vollversion von der Uni gestellt bekommen habt, oder nicht.

Drittens: Quelltext-Anhänge mit der richtigen Extension (.c / .h) 
hochladen, dann kann man die auch mit schönem Syntax-Highlighting 
anschauen.

von Thomas Adam (Gast)


Angehängte Dateien:

Lesenswert?

Hallo


Hardware (Schaltplan ist vorhanden) ist fertig, wir benötigen nur mehr 
den Softwareteil...

Wir haben auch schon einen kleinen Teil Software (im Dateianhang)

LG

von Karl H. (kbuchegg)


Lesenswert?

Ernst B✶ schrieb:
> Ach ja, noch zwei Tip zum Umgang mit diesem Forum, die es deutlich
> erleichtern vernünftige Antworten zu erhalten:

Und noch ein paar Tips mehr

Beitrag ""Hilfe", "funktioniert nicht", funktioniert nicht."

von Thomas Adam (Gast)


Angehängte Dateien:

Lesenswert?

sry wegen dem Bildformat...


hier als .gif


zur zusätzlichen erklärung:

links werden 18V angelegt, für SChaltungsversorgung

oben 5V für uC Versorgung

die Akkus hängen an den Steckern.

rechts ist die Steckerleiste, welche zum uC geht...

bzw. beim Spannungsteiler gehts zum AD-Eingang

von Gast (Gast)


Lesenswert?

Wo liegt jetzt euer Problem?
Wollt ihr eure Diplomarbeit jetzt von irgendjemand fertig gemacht haben? 
Wenn ja solltet ihr es in MARKT versuchen.

von Thomas Adam (Gast)


Lesenswert?

hehe,

nein nein

wir wissen nur nicht, wie wir das programm machen sollen, dass der uC 
die Spannung bei jedem Akku nach der Reihe abfragt...

und fals ein akku unter 10V hat, er automatisch geladen wird.

von Karl H. (kbuchegg)


Lesenswert?

OK. Euer Programm ist .... maximal als Vorstudie zu gebrauchen.

Erster und wichtigster Punkt:
Welche Möglichkeiten habt ihr, um euch Werte ausgeben zu lassen?
Das ist momentan der wichtigste Punkt, den im Code ist ein 
grundsätzliches Missverständnis zu erkennen: Der ADC liefert keine Volt, 
sondern einen Zahlenwert von 0 bis 1023, je nachdem welche Spannung er 
misst. Das hängt dann wieder von der Referenzspannung ab, wie man diesen 
Zahlenwert in eine Spannung zurückrechnet.

Daher: Ihr braucht jetzt erst mal eine Möglichkeit, wie euer Programm 
euch 'Programmierern' Werte ausgeben kann, damit ihr verfolgen könnt, 
was das Programm eigentlich macht, welche Zwischenwerte errechnet 
werden, welche Werte der ADC ausspuckt. Kurz gesagt: Damit das Stochern 
im Nebel aufhört.


Edit: Welche Akkus wollt ihr eigentlich laden?

Edit2: Mir ist auch nicht ganz klar, wie ihr euch vorstellt, die 
Akkuspannungen zu messen. Mit dem Hardware-Aufbau ist das schon mal 
nicht möglich.

Edit3: Was ist ein AQW61SOP?
Mit google finde ich kein Datenblatt dazu

Edit4: Welche Schule ist das eigentlich? (Nur damit wir alle hier 
wissen, ob wir der Menschheit einen Gefallen tun, Leuten durch den 
Abschluss zu helfen. Oder ob wir uns besser zurückziehen sollten und der 
Menschheit damit einen besseren Gefallen tun, wenn ihr durchrasselt. Im 
Moment sieht es nach letzterem aus. Aber wenn das Ganze ein musisches 
Gymnasium ist, kann man ja mal ein Auge (oder beide) zudrücken.

von Εrnst B. (ernst)


Lesenswert?

Karl heinz Buchegger schrieb:

> Edit3: Was ist ein AQW61SOP?
> Mit google finde ich kein Datenblatt dazu

Schaut, dem Schaltsymbol nach zu urteilen, nach einem 
Wechselspannungs-SSR aus...

Wie sind die Akkus verschaltet? 4x12V in Reihe?
Der grobe Plan ist dann, das Ladegerät mittels der SSDs an einen der 
vier Akkus virtuell "anzuklemmen"?

Eure Ladespannug muss dann aber von der µC-Versorgung galvanisch 
getrennt sein, sonst knallt das beim Umschalten.

Ein Softwarefehler führt bei eurer Schaltung gleich immer zu Rauch und 
toten SSRs? Da macht Debuggen spaß ;)


Thomas schrieb:
wir wissen nur nicht, wie wir das programm machen sollen, dass der uC
die Spannung bei jedem Akku nach der Reihe abfragt...

Zeigt mal den Teil, wie die einzelnen Akkus verschaltet sind, und wie 
ihr dann die Einzelspannungen an die ADC-Pins des µC verschaltet hat... 
Ist der Teil schonmal getestet/angeschlossen worden?

von Thomas Adam (Gast)


Lesenswert?

Edit1: Es sind vier akkus zu laden, jeweils 12V (ab 10V laden bis 12V)

Edit2: das direkte ist eigentlich auch nicht nötig, es ist nur 
abzufragen: muss geladen werden JA oder NEIN.

Edit3: hier das datasheet zum aqw:
(http://www.farnell.com/datasheets/43788.pdf
Ein AQW ist im prinzip ein nichts anderes als ein Relai...

Edit4: :D bulme graz

von Karl H. (kbuchegg)


Lesenswert?

Ernst B✶ schrieb:

> Eure Ladespannug muss dann aber von der µC-Versorgung galvanisch
> getrennt sein, sonst knallt das beim Umschalten.

Die Schaltung knallt auch so, sobald 2 nebeneinander liegende Ladestufen 
eingeschaltet werden.
Da ist ein schöner Kurzschluss eingebaut.

von Karl H. (kbuchegg)


Lesenswert?

Thomas Adam schrieb:
> Edit1: Es sind vier akkus zu laden, jeweils 12V (ab 10V laden bis 12V)

Ja, aber welche?

Autobatterien, NiCd, NiMh, LiPos, ....

> Edit2: das direkte ist eigentlich auch nicht nötig, es ist nur
> abzufragen: muss geladen werden JA oder NEIN.

Auch das ist nicht möglich.
Ihr habt keine Möglichkeit an die Akkuspannung ranzukommen.

> Edit4: :D bulme graz

Das ist eine HTL. D.h. wenn ihr einen Abschluss macht, seid ihr 
Ingenieure und sollt in der Industrie Schaltungen entwerfen.
Danke, dass du ehrlich bist. Ich bin raus.

von Εrnst B. (ernst)


Lesenswert?

Karl heinz Buchegger schrieb:

> Die Schaltung knallt auch so, sobald 2 nebeneinander liegende Ladestufen
> eingeschaltet werden.
> Da ist ein schöner Kurzschluss eingebaut.

Das meinte ich mit dem Softwarefehler, der sich per Rauchzeichen meldet. 
Der µC muss natürlich dafür sorgen, dass immer nur ein Akku gleichzeitig 
geladen wird.

@thomas:

Bitte! verpasst jedem Akku eine flinke Sicherung in der Zuleitung. Oder: 
Tragt Schutzbrille und Handschuhe! Oder: Schließt eine 
Berufsunfähigkeitsversicherung ab.
Mit Akkus ist nicht zu spaßen, da ist immer mächtig Power dahinter. 
Drähte schmelzen, Transistoren explodieren, usw...

Karl heinz Buchegger schrieb:

> Das ist eine HTL. D.h. wenn ihr einen Abschluss macht, seid ihr
> Ingenieure und sollt in der Industrie Schaltungen entwerfen.
> Danke. Ich bin raus.

Ohje... Und sowas (fast würde ich sagen: triviales) reicht dort für den 
Abschluss? Und dann wird das noch als Teamwork veranstaltet?
Einer verbockt die Hardware, der nächste verhunzt die Software?

@thomas:
Nicht übelnehmen, aber das schaut so aus, als müsstet ihr nochmal zurück 
ans Zeichenbrett, und nochmal das ganze Konzept der Schaltung 
überarbeiten. Nur mit geänderter Software kann man da nichts mehr 
retten.

von Karl H. (kbuchegg)


Lesenswert?

Karl heinz Buchegger schrieb:

>> Edit2: das direkte ist eigentlich auch nicht nötig, es ist nur
>> abzufragen: muss geladen werden JA oder NEIN.
>
> Auch das ist nicht möglich.
> Ihr habt keine Möglichkeit an die Akkuspannung ranzukommen.

Und falls ihr das noch immer nicht gesehen habt:
LED5 verhindert das!

von Karl H. (kbuchegg)


Lesenswert?

Ernst B✶ schrieb:

> Ohje... Und sowas (fast würde ich sagen: triviales) reicht dort für den
> Abschluss?

Langsam.
In einer HTL hat man (zumindest war das in meiner Zeit in den 
Elektronik-HTLs so. Ich selber war auf einer Chemie-HTL) eine Woche Zeit 
eine Schaltung zu entwerfen, in Betrieb zu nehmen, die Doku zu erstellen 
und die Schaltung bei einer Befragung auch zu erklären. Da kann man 
keine grossartigen Sachen veranstalten (Wer schlau ist, hat sich schon 
ein halbes Jahr vorher Gedanken über seine Projektarbeit gemacht und ein 
bischen vorgearbeitet). Im Grunde gehts in der Projektwoche darum, zu 
demonstrieren dass man es im Prinzip kann.

von Εrnst B. (ernst)


Lesenswert?

Karl heinz Buchegger schrieb:
> Ernst B✶ schrieb:
>
>> Ohje... Und sowas (fast würde ich sagen: triviales) reicht dort für den
>> Abschluss?
>
> Langsam.
> In einer HTL hat man (zumindest war das in meiner Zeit in den
> Elektronik-HTLs so. Ich selber war auf einer Chemie-HTL) eine Woche Zeit
> eine Schaltung zu entwerfen, in Betrieb zu nehmen, die Doku zu erstellen
> und die Schaltung bei einer Befragung auch zu erklären. Da kann man
> keine grossartigen Sachen veranstalten (Wer schlau ist, hat sich schon
> ein halbes Jahr vorher Gedanken über seine Projektarbeit gemacht und ein
> bischen vorgearbeitet). Im Grunde gehts in der Projektwoche darum, zu
> demonstrieren dass man es im Prinzip kann.

Ahso, das ist natürlich dann was anderes. Für ein Ein-Wochen-Projekt ist 
das völlig in Ordnung. Im ersten Post steht halt was von "Diplomarbeit", 
deshalb bin ich von einem "Ein-Semester-Projekt" ausgegangen.

von Karl H. (kbuchegg)


Lesenswert?

Ernst B✶ schrieb:

>> Die Schaltung knallt auch so, sobald 2 nebeneinander liegende Ladestufen
>> eingeschaltet werden.
>> Da ist ein schöner Kurzschluss eingebaut.
>
> Das meinte ich mit dem Softwarefehler, der sich per Rauchzeichen meldet.
> Der µC muss natürlich dafür sorgen, dass immer nur ein Akku gleichzeitig
> geladen wird.

Wobei ich den Sinn nicht verstehe, AKKU4-1 mit AKKU4-3 zu verbinden, was 
letzten Endes den Kurzschluss verursachen würde.
Hast du rausgefunden, was die Idee dahinter sein könnte?
Würde man diese Brücke weglassen, dann hängen die Akkus parallel. OK ein 
paar Ausgleichsströme würden fliessen, aber im Grossen und Ganzen denke 
ich, würde nicht viel passieren.
Wenn diese vermaledeite Brücke nicht wäre. Aber wozu könnte die gut 
sein?


Edit: Was wohl passiert, wenn der Ladestrom über 140mA geht? Mehr 
verträgt das SSR nicht. Und 140mA Ladestrom ist .... nicht gerade viel.

von Karl H. (kbuchegg)


Lesenswert?

Ernst B✶ schrieb:
> Im ersten Post steht halt was von "Diplomarbeit",
> deshalb bin ich von einem "Ein-Semester-Projekt" ausgegangen.

Ja, heutzutage muss alles einen entsprechenden Namen haben, der nach was 
klingt :-)

von Εrnst B. (ernst)


Lesenswert?

Karl heinz Buchegger schrieb:
> Ernst B✶ schrieb:
>
>>> Die Schaltung knallt auch so, sobald 2 nebeneinander liegende Ladestufen
>>> eingeschaltet werden.
>>> Da ist ein schöner Kurzschluss eingebaut.
>>
>> Das meinte ich mit dem Softwarefehler, der sich per Rauchzeichen meldet.
>> Der µC muss natürlich dafür sorgen, dass immer nur ein Akku gleichzeitig
>> geladen wird.
>
> Wobei ich den Sinn nicht verstehe, AKKU4-1 mit AKKU4-3 zu verbinden, was
> letzten Endes den Kurzschluss verursachen würde.
> Hast du rausgefunden, was die Idee dahinter sein könnte?
> Würde man diese Brücke weglassen, dann hängen die Akkus parallel. OK ein
> paar Ausgleichsströme würden fliessen, aber im Grossen und Ganzen denke
> ich, würde nicht viel passieren.
> Wenn diese vermaledeite Brücke nicht wäre. Aber wozu könnte die gut
> sein?

Ich vermute, die Akkus sind fest in Serie verkabelt, um einen 
48V-Verbraucher zu betreiben, und die Ladeschaltung soll immer einen der 
Akkus laden.
SV1-4 ist dann der Minus-Pol,  Akku4-2 der Plus-Pol der Serienschaltung.

Was dabei natürlich garnicht geht ist die Verbindung der Ladespannung 
mit GND. Die muss galvanisch getrennt sein (von den Akkus, solange nicht 
eingeschaltet, und auch von der Controller-Versorgung). Habe ich aber 
oben schon angemerkt.

> Edit: Was wohl passiert, wenn der Ladestrom über 140mA geht? Mehr
> verträgt das SSR nicht. Und 140mA Ladestrom ist .... nicht gerade viel.

IC1 (ohne Typenbezeichnug) schaut aus wie ein als Konstantstromquelle 
beschalteter Spannungsregler, könnt also passen.

von Karl H. (kbuchegg)


Lesenswert?

Ernst B✶ schrieb:

> Ich vermute, die Akkus sind fest in Serie verkabelt, um einen
> 48V-Verbraucher zu betreiben, und die Ladeschaltung soll immer einen der
> Akkus laden.

Hmm. Könnte sein.
Sozusagen als Erinnerung (mit Rauchzeichen) für den Programmierer, dass 
er hier aufpassen muss.

> Was dabei natürlich garnicht geht ist die Verbindung der
> Ladespannung mit GND.

Ich glaub ich sehe was du meinst.
Die Verbindung von SV-1 mit GND. Yep, das ist auf jeden Fall 
kontraproduktiv.

von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

Hier mal ein Gegenvorschlag.

Die Relais mit 2xUmschalter können natürlich auch durch Relais mit 
2xEinschalter ersetzt werden, oder durch 2xSSR.

Der µC-Teil zieht seinen Strom aus dem untersten Akku. Hat dadurch immer 
ein festes + definiertes Potential.
Dadurch hat der µC auch die Möglichkeit, die Akkuspannungen zu messen. 
Spannungteiler sind natürlich noch zu ergänzen.

Die unsymetrische Belastung sollte kein Thema sein, der unterste Akku 
wird dann halt öfter geladen als die anderen.

Der Lader (18V -> Konstantstromquelle) darf KEINE Verbindung mit der 
Schaltung haben, ausser über die Relais-Kontakte!

von Stephan H. (stephan-)


Lesenswert?

bei SOOO viel Vorbildung für eine Diplomarbeit, dreht sich mir der Magen 
um bei Euren Verständnisproblemen. Ich erhebe nicht den Anspruch ein 
Diplom mein Eigen zu nennen, bin ja nur Elektronik- Fa., der sich 
allerdings deutlich besser mit sowas auskennt. Aber wenn ich das hier 
lese, frage ich mich was ein Diplom überhaupt noch Wert ist. Wer macht 
nachher im "richtigen" Leben Eure Arbeit ?? Ich denke das war irgenwie 
nicht Eure Studienrichtung.

von Karl H. (kbuchegg)


Lesenswert?

Stephan Henning schrieb:

> nachher im "richtigen" Leben Eure Arbeit ?? Ich denke das war irgenwie
> nicht Eure Studienrichtung.

Das heißt heutzutage nur 'Diplom'.
Das ist ein Schultyp, den es in D meines Wissens so nicht gibt. Nennt 
sich HTL (Höhere Technische Lehranstalt).

Eine HTL dauert 5 Jahre und man steigt nach der Unterstufe Gymnasium 
oder nach der Hauptschule mit einer Aufnahmsprüfung ein.

Schwerpunkt ist eine praxisbezogene Ausbildung in einem bestimmten 
technischen Bereich, mit soviel Theorie wie notwendig um das Gelehrte 
verstehen zu können. Lehrer sind normalerweise Leute, die im Berufsleben 
stehen und daher wissen wovon sie reden. Aber auch Uni-Profs sind dabei.
Im Vergleich zu einer FH ist die Ausbildung noch einen Tick 
praxisbezogener, ausserdem sind die Teilnehmer naturgemäß jünger.

Absolventen einer HTL erwerben mit ihrer Matura (=Abitur) das Recht, 
eine Hochschule zu besuchen und nach 3 Jahren (nachgewiesener) 
praktischer Arbeit in ihrem Fachbereich wird ihnen der Titel "Ing" 
zuerkannt (mit dem meistens zusätzliche Rechte verknüpft sind)

HTL's sind einerseits eine gute Möglichkeit für die Industrie, sich 
ihren Nachwuchs zu holen, und diesen ohne allzugroßen Schulungsaufwand 
in den Prozess einzugliedern. Ein HTL-er, genauso wie ein FH-ler, hat 
zwar oft von den spezifischen Gegebenheiten in einer bestimmten Firma 
auch keine Ahnung, aber er bringt einen Grundstock sowohl in Theorie als 
auch in Praxis mit, auf dem man aufbauen kann. Also ähnlich wie jemand 
aus der FH, nur dass der von Theorie noch mehr Ahnung hat, dafür aber 
handwerklich nicht so gut drauf ist.
HTL-ler fangen nicht in Führungspositionen an. Wenn sie gut sind, kommen 
sie aber schnell dorthin. Die Schule hat das Rüstzeug dafür mitgegeben.

Sie sind eine gute Möglichkeit für handwerklich und technisch begabte 
junge Leute, abseits vom gymnasialen Weg eine Schulausbildung zu machen, 
die ihren Neigungen entgegenkommt und die sie gelcihzeitig mit einer 
Berufsausbildung und einem Abitur abschliessen können. Nicht so wie in 
einem Gym. Wenn du dort fertig bist, hast du erst mal gar nichts. Nichts 
gegen Neigungsgruppen, aber jede Woche 14 Stunden Labor oder Werkstatt 
mit begleitender theoretischer Ausbildung, wird dir eine Neigungsgruppe 
nicht ersetzen können.

von Stephan H. (stephan-)


Lesenswert?

@Karl Heinz,
gut dann war das Wort "Studienrichtung" offensichtlich nicht das 
richtige. Etwas mehr Grundlagenwissen wäre nach 3-5 Jahren Ausbildung in 
einer Leistungsgesellschaft deutlich vorteilhafter.

von Karl H. (kbuchegg)


Lesenswert?

Stephan Henning schrieb:
> @Karl Heinz,
> gut dann war das Wort "Studienrichtung" offensichtlich nicht das
> richtige. Etwas mehr Grundlagenwissen wäre nach 3-5 Jahren Ausbildung in
> einer Leistungsgesellschaft deutlich vorteilhafter.

Dem stimme ich vollinhaltlich zu.
Und es ist wirklich nicht die Regel. In der Regel sind die HTLer 
ziemlich gut.
Aber wenn ich sehe, dass jemand eine Spannung messen will und dann 
schaltet er eine Diode in Sperrichtung in die Messstrippe und merkt das 
bei der ersten Inbetriebnahme noch nicht einmal, dann frag ich mich 
schon ...

von Εrnst B. (ernst)


Lesenswert?

Lernen die an der HTL auch Frustrationstoleranz? ;)

Ich glaube nämlich, wir haben sie verscheucht, mit dem Satz dummer 
Tipps, Niedermachen ihrer Schaltung (*), Herziehen über ihr 
Grundlagenwissen, und konsequenten Nichtbeantworten der Frage über ihre 
Software...

*) Nach entwirren der Schaltung ist die garnicht soo verkehrt. Klar, der 
Akku-Anschluss an GND muss raus, und die LED hinter dem Spannungsteiler 
auch, aber dann könnts schon gehen.
Die Akkus sind dann von allem Getrennt, und der µC kann sich reihum mit 
jedem Akku verbinden, und dort die Spannung messen, sowie bei Bedarf den 
Ladestrom zuschalten.

Mit einem übersichtlicheren Schaltplan hätte man das gleich gesehen, und 
der wäre für die Ausarbeitung zum Abgeben beim Prüfer sicher auch sehr 
hilfreich.

Im Gegensatz zu meinem Vorschlag hätte ihre Lösung sogar den Vorteil 
dass man Sie auf beliebig viele Akkus erweitern kann, solange man den 
Spannungsbereich der SSRs einhält. Bei mir würden immer größere 
Spannungsteiler nötig, und die Messgenauigkeit sinkt ab, je "höher" ein 
Akku angesiedelt ist.

von Karl H. (kbuchegg)


Lesenswert?

Εrnst B✶ schrieb:

> *) Nach entwirren der Schaltung ist die garnicht soo verkehrt. Klar, der
> Akku-Anschluss an GND muss raus, und die LED hinter dem Spannungsteiler
> auch, aber dann könnts schon gehen.

Sind blöde Fehler. Aber du hast recht, soo wild ist das nicht.
OK. Was ich daran nicht mag: die Ladezeit pro Akku vervierfacht sich, 
wenn alle gleichzeitig laden. Aber wenn es nur darum geht einen Akku aus 
4-en bei Bedarf wieder aufzupäppeln, wird das kein grosses Problem sein.
Was mir irgendwie gut gefällt, ist das Konzept des Busses, an den die 
einzelnen Teilnehmer bei Bedarf angeschaltet werden und an dem der ADC 
hängt. Ich finde: das hat was.

Die Software, so wie sie sich das vorstellen, ist ja eigentlich mehr als 
simpel
1
  ....
2
3
4
  Power_Off();               // Den Bus spannungsfrei schalten
5
6
  for( i = 0; i < 4; ++i )   // am Anfang wird erst mal kein Akku geladen
7
    wantLoad[i] = 0;
8
9
  Akku = 0;
10
11
  while( 1 )
12
  {
13
     Switch_On( Akku );      // Akku auf den Bus schalten
14
     _delay_ms( 10 );        // keine Ahnung ob das reicht: stabilisieren lassen
15
     Value = readADC( 0 );   // Akkuspannung messen
16
17
     if( Value > VALUE_FOR_12 )   // wenn der Akku voll ist ...
18
       wantLoad[Akku] = 0;        // ... wird er nicht weiter geladen
19
20
     if( Value < VALUE_FOR_10 ||  // Spannung zu klein -> auf laden schalten
21
         wantLoad[Akku] )         // kann natürlich auch sein, dass der Akku
22
                                  // sowieso schon geladen wird
23
      {
24
        if( Value > MINIMUM )   // aber nur wenn da überhaupt ein Akku hängt
25
        {
26
          Power_On();           // Ladespannung an den Akku
27
          _delay_ms( 100 );     // ein klein wenig laden lassen
28
          Power_Off();          // Ladespannung wieder weg
29
          wantLoad[Akku] = 1;   // und vermerken, dass dieser Akku weiter
30
                                // geladen wird. Erst wenn 12V erreicht sind
31
                                // wird ihm weiter oben die Lizenz zum Laden
32
                                // entzogen
33
        }
34
     }
35
36
     Switch_Off( Akku );     // Akku wieder vom Bus wegschalten
37
38
     Akku++;                 // und reihum den nächsten Akku nehmen
39
     if( Akku == 4 )
40
       Akku = 0;
41
  }

von Εrnst B. (ernst)


Lesenswert?

Karl heinz Buchegger schrieb:

> Was mir irgendwie gut gefällt, ist das Konzept des Busses, an den die
> einzelnen Teilnehmer bei Bedarf angeschaltet werden und an dem der ADC
> hängt. Ich finde: das hat was.

Ja, wirkt irgendwie der üblichen menschlichen Vorgehensweise 
nachempfunden.
Man sieht fast den µC, wie er mit dem Multimeter in der Hand die Akkus 
abschreitet und der Reihe nach die Spannung kontrolliert.

Nur bei der hektischen Umschaltung des Ladegerätes in deinem 
Code-Schnipsel passts nicht mehr so ganz... Ein Mensch würde wohl eher 
das Ladegerät anklemmen, und dann Kaffeepause machen, bis dieser Akku 
wieder voll ist.

von Karl H. (kbuchegg)


Lesenswert?

Εrnst B✶ schrieb:

> Nur bei der hektischen Umschaltung des Ladegerätes in deinem
> Code-Schnipsel passts nicht mehr so ganz...
> Ein Mensch würde wohl eher
> das Ladegerät anklemmen, und dann Kaffeepause machen, bis dieser Akku
> wieder voll ist.

LOL

Mann kanns auch anders machen: Alle Akkus an Versorgung (so sie es 
notwendig haben) und nach 1, 2 Sekunden den µC auf seine Messrunde 
schicken.

Dann ist das hektische Umschalten nicht mehr ganz so schlimm.
Aber wie schickt man den µC in die Kaffeepause? :-)

von Εrnst B. (ernst)


Lesenswert?

Karl heinz Buchegger schrieb:

> Dann ist das hektische Umschalten nicht mehr ganz so schlimm.
> Aber wie schickt man den µC in die Kaffeepause? :-)
1
// ☕⌛ 
2
set_sleep_mode(SLEEP_MODE_COFFEE | SLEEP_MODE_CIGARETTE);
3
sleep_mode();

Oder so... Wenns nicht kompiliert, AVR-Libc aktualisieren ;)

von Karl H. (kbuchegg)


Lesenswert?

Εrnst B✶ schrieb:
> Karl heinz Buchegger schrieb:
>
>> Dann ist das hektische Umschalten nicht mehr ganz so schlimm.
>> Aber wie schickt man den µC in die Kaffeepause? :-)
>
>
1
> 
2
> // ☕⌛
3
> set_sleep_mode(SLEEP_MODE_COFFEE | SLEEP_MODE_CIGARETTE);
4
> sleep_mode();
5
>
>
> Oder so... Wenns nicht kompiliert, AVR-Libc aktualisieren ;)

Schläfst du beim Kaffeetrinken :-)
Dann darf man sich über Brandblasen nicht wundern.

Aber man kanns ja auch wie Marvin machen: Erst mal 100 Mio Jahre in die 
eine Richtung im Kreis gehen, wenns dann fad wird 100 Mio in die andere 
Richtung. (Quelle: Hitchhikers Guide to the Galaxy)


Schad, dass ich NiCd Akkus in meinen Booten verwende. Sonst wär das eine 
schöne, einfache Schaltung. Nach einer Wettfahrt Akku raus, anhängen und 
bei Bedarf wird der Akku wieder nachgeladen. So hab ich dann immer 2 
oder 3 Akkus zur Verfügung, bei denen ich keine Angst haben muss, dass 
sie während einer Wettfahrt leer werden.

von Εrnst B. (ernst)


Lesenswert?

Karl heinz Buchegger schrieb:
> Aber man kanns ja auch wie Marvin machen: Erst mal 100 Mio Jahre in die
> eine Richtung im Kreis gehen, wenns dann fad wird 100 Mio in die andere
> Richtung. (Quelle: Hitchhikers Guide to the Galaxy)

Das ist mal eine gute Idee, die nächste avr-libc hat dann kein delay_us 
mehr, dafür ein delay_us_left und delay_us_right.
Ist dann natürlich Aufgabe des Programmierers, das fair zu verteilen.

Nicht das sich so ein AVR mit einem Beinchen im GND verfängt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.