Archiv verlassen und diese Seite im Standarddesign anzeigen : ADC - Differenzeingänge - einzelne Akkuzellen entladen...
Moin Leuts,
habe ein Problem und bitte Euch um Hilfe.
Hier erst mal ein kleiner Schaltplan - sorry für das "Handgemalte" ;)
http://www.hydroworld.de/forum/akku_adc.gif
Es geht um ein Akkupack, dass aus Einzelzellen besteht, die "unlösbar" inline verlötet sind. Diese Zellen sollen mit den 1R Widerständen und den Relais EINZELN auf eine einstellbare Restspannung entladen werden, um im ganzen Pack einen definierten Entladezustand der Zellen zu haben.
Also wenn die Einzelzelle noch nicht ihre Entladeschlußspannung errreicht hat, ist der entsprechende Relaiskontakt geschlossen und es fließt ein Strom über den Widerstand und entläd die Zelle.
Die Spannung jeder Zelle soll mittels des ADC gemessen werden...
Und DA liegt mein Problem ](*,).
Ich brauche ja für die "normalen" ADCs eine gemeinsame Masse als Bezug und die habe ich nicht in dieser Schaltung.
Ich würde gern den ATtiny26 einsetzen und dessen Differenz-ADC-Eingänge nutzen, aaaaber....
1. Geht es überhaupt, die diffenziellen ADCs für dieses Vorhaben zu nehmen?
2. Am liebsten würde ich es in Bascom machen - habe aber nichts gefunden die Differenzeingänge zu benutzen - geht das in Bascom? Wenn ja - wie? Oder müsste man das Problem mit Assembler lösen (das kann ich nicht)?
3. Oder ist der gesamte Gedankengang falsch?
4. Wenn er nicht falsch ist, könnte vielleicht auch eine Schaltung mit OPAmps und dann auf "normale" ADCs die Lösung sein? Wenn ja - wie?
Über ein paar kleine Denkanschübe wäre ich sehr dankbar!
Viele Grüße,
Bruno
Moin Jungs,
scheinbar bin ich in der falschen Rubrik? 8-[
Wo wäre denn diese Anfrage besser aufgehoben?
LG,
Bruno
Hallo Bruno,
Über ein paar kleine Denkanschübe wäre ich sehr dankbar!
daß du eine gemeinsame Masse brauchst, hast du schon richtig erkannt.
Es sei denn, du machst 2 Schaltungen, einmal mit dem zu messenden Akku auf der einen Seite und dann mit dem Meß-AVR auf der anderen.
Über Relais z.B. legst du dann immer eine Zelle auf den Analogeingang+GND
des Meß-AVR.
Oder du schaltest (mit Relais o.ä.) immer nur einen Abgriff des Akkupacks an den Analogeingang und läßt GND verbunden. Der Fehler nimmt dann allerdings mit steigender Zellenzahl zu.
Gruß, Michael
schmic20
05.04.2005, 21:15
Hallo,
die Rubrik ist schon o.K.
Lediglich die zündende Idee fehlt.
Vielleicht geht es wenn Du mittels Relais die einzelnen Akkuzellen zeitlich nacheinander an einen ADC-Eingang des AVR schaltest. Ist zwar nicht so elegant, funktioniert aber.
Da der Entladevorgang nicht sehr zeitkritisch sein dürfte, sollte es reichen wenn die Messung jede Minute weiter geschaltet wird. Bei 3 Zellen wird eine Zelle dann alle 3 Minuten gemessen.
Viele Grüße
Michael
schmic20
05.04.2005, 21:18
Hallo Michael,
anscheinend hatten wir im selben Moment die selbe Idee, aber Du warst schneller. Deine zweite Möglichkeit ging mir auch durch den Kopf, habe sie aber in meinem Posting erst einmal weggelassen. Das zeigt aber anscheinend, dass die Möglichkeiten doch eher begrenzt sind.
Viele Grüße
auch Michael
meltronik
05.04.2005, 21:19
Es sollte eigendlich schon mit dem differentiellen ADC funktionieren. Wichtig is halt nur das man jeweils einen Pin von einer unterschiedlicher neg. input gruppe an die zellen anschließt...
In bascom weiß ich leider auch nicht wie man die verwenden kann.
Wenn es nur darum geht die Relais abhängig von der Zellenspannung zu schalten und der µC sonst keine besonderen Aufgaben hat sollte es in assembler problem sein...
Ich werd mir das mal genauer anschauen und den assemblercode onlinestellen...
Dankää erst mal Männers.
Im wirklichen Einsatzfall sind es 6 bis max. 8 Zellen.
Sicherlich ist so eine Relais-Multiplex-Geschichte drin, aber ich frage mich wirklich, ob es nicht über diese verflixten Differenzeingänge geht - dafür sind sie doch da - oder?
Bloss ich hab keine Idee, wie die in Bascom angesprochen werden...
Viele Grüße,
Bruno
Hi Ho Meltronik,
fast zeitgleiches Posting ;)
Erst mal vielen Dank Euch allen und danke Meltronik, dass Du genau die Differenzgeschichte mal untersuchen möchtest!
Es ist also so, dass wirklich beim ersten Einschalten alle Relais angezogen sein sollen, um den Widerstand über die Zellen zu legen und diese zu entladen. Nach erreichen der Entladeschlussspannung schalten dann nach und nach die Relais ab...
Viele Grüße,
Bruno
meltronik
05.04.2005, 22:50
Das mit der differentiellen Messung funktioniert leider nur für max. 4 Zellen allerdings auch nur mit Verwendung von 2 ADC pins pro zellenanschluss...
sorry
Nanu?
Laut Datenblatt des ATtiny26 haben wir aber 11 single ended Channels oder 8 differential Channels oder 7 differential Paare mit einstellbarer Verstärkung - sollte doch reichen oder hab ich da einen Denkfehler <Grübelmodus ON>.
Viele Grüße,
Bruno
meltronik
06.04.2005, 14:38
Die beim differentiellen ADC gemessene Spannung entspricht der differenz zwischen Vpos und Vneg. Laut datenblatt können aber nur ADC1,3,5 und 9 als Vneg gestellt werden und dummerweise kann auch keine spannung zw. ADC1,3,5,9 gemessen werden sondern nur gegenüber den anderen pins.
Sonst wäre es einfach gewesen man hätte nur ADC1,3,5,9 an die einzelnen zellen schalten und jeweils immer einen pin als Vneg schalten müssen....
Daher auch die begrenzung auf nur 4 Zellen.
Hallo Meltronik,
dann dank ich Dir erst einmal für Deine Mühe!
Ich werde mal gucken, ob sich das Problem irgendwie in konventioneller Elektronik lösen läßt - vielleicht OPAmps... mal sehen.
Viele Grüße,
Bruno
Hallo Bruno,
so wie ich das sehe kannst du dein Problem doch recht einfach mit dem ATtiny26 lösen. einfach jeden Akkuausgang an einen analogen Eingang anschließen und dann per Software die Differenz feststellen. Und wenn die kleiner als 1 V ist, dann Relais ausschalten. Wenn Du sonst keine weiteren Bausteine anschließen willst, kannst Du damit Akkus bis zu 7 Zellen überwachen und 7 Relais steuern. Das reicht doch, oder? Bei Interesse kann ich Dir ja den Schaltungsentwurf mal schicken.
felack
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.