Hallo an alle Bastler, Elektroniker und und und und. Einige Worte zu meiner Person: Vor ewigen Zeiten, als die Augen noch gut waren, lötete ich, konnte mit dem Doppelzeitbasis Scope umgehen und hatte echt Spaß an den Anfängen der Microcontrollertechnik. Analog war angesagt und einige Projekte haben das Licht der Welt erblickt. Andere Berufsbilder und Interessen führten dann dazu, dass der Staub auf der Elektronik nicht mehr entfernt wurde. Gut oder schlecht, wer weiss das schon. Nach wie vor habe ich aber Interesse und suche Eure Mithilfe zur folgenden Aufgabenstellung. Li-Batterien aus Akkuzellen benötigen Überwachung. Bitte jetzt nicht an Modellbau denken sondern an Blockzellen von 20Ah bis 1000Ah und mehr. Die Zellüberwachung gibt es als BMS (battery management system) für mehrere Zellen fertig für viel Geld zu kaufen. Nicht meine Sache, da ich eine Einzelüberwachung auf der Basis "eine Platine für eine Zelle" vorziehe. Kriterien für die Überwachung: Unterspannung <= 2,6V, Überspannung >= 3,6V beide Spannung variieren je nach Li-Chemie Balancing über Widerstände, Strom ca. 1A Beide kriterien sind problemlos mit 4-fach Op plus Ref, z.B. TC1043 zu überwachen und zu schalten. Trotzdem, ich hätte lieber einen kleinen Controller, evtl 8-Pinner, ohne Quarz und Schnickschnack, da dann die Schaltschwellen, Verzögerungszeiten, etc. leicht anzupassen sind. Schaltausgänge sollten wie folgt sein: Unterspannung: Potentialfrei, im daisy-chain Stil kaskadierbar, hochohmig bei Unterspannung, NC Überspannung: Potentialfrei, im daisy-chain Stil kaskadierbar, leitend bei Überspannung, NO Zur Erklärung: Ziel ist, eine Batterie aus 8 Zellen in Serie, macht nom. 24VDC über Solarzellen zu laden. Beispiel: Wohnmobil oder Katamaran mit 10qm Dachfläche mit mal eben 1,5kW Peak Leistung, bedeutet ungefähr 50A Ladestrom - plus minus. Exakter Wert ist unbedeutend. Wird der Akkublock geladen, muss bei Überspannung einer oder mehreren Zellen der Ladestrom auf den Balancingstrom der Überwachungselektronik reduziert werden , z.B. auf 1A Wird an einer Zelle Unterspannung detektiert, muss die Last abgeworfen werden, evtl kaskadiert. Soweit die Blitzbeschreibung. Wofür suche ich die Unterstützung. Wie schon erwähnt, oder hab ich's vergessen ;-) habe ich es nicht mit den Controllern. Vielleicht finde ich Unterstützung in der Auswahl des Controllers (Betrieb an 2-5V mit 10bit AD), evtl in BASIC, 8, max. 16 Pins in DIL oder eine Stufe kleiner, 8 Bit Verarbeitung reicht aus. Bitte weder Raspberry noch Aduino, dafür stattdessen eine einfache Programmierhardware und freie Software an USB. Und bitte, verweise auf Dutzende von Websites helfen mir nicht wirklich. BGA und Feinstleitertechnik sind auch nicht interessant. Gibt es den einen oder anderen, den ich in diesem Forum für die Entwicklung dafür begeistern kann? Neben meinem privaten Interesse gibt es auch einen kommerziellen Bedarf. Gerade auf Booten und im Wohnmobilbereich, in der Waldhütte und im Ferienhäuschen ist 24VDC mit Li-Batterien recht interessant, da über einen preisgünstigen Inverter mal eben 2kW in 230V zur Verfügung gestellt werden können. Für die Waschmaschine, den Staubsauger, die Mikrowelle. Bleiakkus sind jetzt schon out und Li-Zellen werden immer preiswerter, brauchen aber wie erwähnt die Einzelzellenüberwachung. Zusätzlich, aber das ist der nächste Schritt, wird das elektronische Lastrelay, die Laststromüberwachung in Hall-Technik und die schaltbare Ladestrombegrenzung benötigt. Ich freue mich über jeden Mitdenker, über Enthusiasten, Löter und Programmierer, über jeden Beitrag. Bluewater
:
Verschoben durch Moderator
Ein Lösungsvorschlag: Ein AtTiny13 könnte dafür in Frage kommen. Es gibt ihn als bedrahteten 8 Pinner bei R**chelt und er hat 10 bit ADC Eingänge. Zudem läuft er von 2,7 bis 5,5 Volt und lässt sich über einen 30 Euro USB Programmer mit freier Software (AVR Studio) programmieren. Es gibt wohl auch selbstbau Programmer. Programmiert werden kann der auch in der Schaltung über einen 6 pol Pfostenstecker (SPI, Vcc und Reset Leitung). Sehr bequem. Soweit ich weiß, gibt es auch "basic" Dialekt Kompiler. (Ich verwende c) Die Software sollte in jedem Fall in den kleinen 1k Speicher passen. Zudem hat der Kleine noch eine serielle Schnittstelle zur Kommunikation und kann ohne extra Transistor eine LED treiben. Das ganze dürfte zum Test auch in Fädeltechnik einfach aufzubauen sein. Einen Quarz benötigt man nicht - auch keinen Reset Schaltkreis. Es gibt auch eine interne AD Referenzspannung, so dass Batteriebetrieb nichts im Wege stünde (Stichwort Eigensicherheit). Ich hoffe, das hilft bei der Orientierung.
Danke Wulf für deinen Betrag. Wie Du aus meinem Anfragedatum sehen kannst, habe ich recht lange auf ein Feedback gehofft. Es blieb mir also nicht anderes übrig, als zwischenzeitlich selbst Gehirnschmalz zu investieren und bin, wie in deinem Vorschlag, auch bei AVR gelandet. Die ganze Familie der AVRtiny hat genau die Eigenschaften, die ich beschrieben habe - und damit ist die Wahl eindeutig. Bleibt die Frage, hast Du Lust und Laune mit zu machen? Letztlich ist es egal, ob das Ganze in C oder Basic, Forth oder Pascal programmiert wird. Bildungsvorsprung ist von Vorteil und ich brauche nicht das Rad neu zu entdecken (und bin auch nicht so scharf drauf) (Fädeltechnik, das war doch mal vor 40 Jahren. Beißt der verschmorte Lack noch immer in der Nase und in den Augen? ;-)) Sollte ich noch was von im Keller haben :-))
Ein Argument, was gegen ein Mikrocontroller spricht, ist das dieser sich aufhängen kann, was bei einer 1000AH-Zelle nicht ungefährlich sein kann. Eine gute Reset-Schaltung sollte also auch vorgesehen werden. Die Kommunikation der Einzelschaltung würde ich über Optokoppler machen, damit ist das Unterschiedliche Potential kein Problem mehr.
Ich habe leider schon einen Zeitengpass mit eigenen Projekten. Aber ich behalte diesen Beitrag mal im Auge und würde auch Code kommentieren/ergänzen. Der AtTiny hat doch auch eine Brown out Detection und einen Watchdog. Mein Tipp dazu: In der Main-loop den AD Wandler als Statemachine laufen lassen und ohne Interrupt arbeiten. Das spart auf dem kleinen Speicher doch schon Platz. Pseudocode:
1 | state = 0 |
2 | while(1) |
3 | {
|
4 | switch(state) |
5 | {
|
6 | case 0 |
7 | start conversion |
8 | state+1 |
9 | case 1 |
10 | if end of conversino flag -> state +1 |
11 | case 2 |
12 | value = ADCH |
13 | state = 0 |
14 | }
|
15 | |
16 | .. rest programm .. |
17 | }
|
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.