Hallo zusammen, dieser Thread soll ähnlich wie " Zeigt her eure Kunstwerke " sein. Und zwar bezogen auf auf das Testen von einzelnen Akkus ( Akkupacks gehen auch ). Meine Wunschvorstellung ist ein Automat der folgendes leistet : - Wie hoch ist die zugeführte Kapazität ? - Wie hoch ist die entnommene Kapazität ? - Wie sieht die Ladekurve aus ? - Wie sieht die Entladekurve aus ? - Wie ist die Temperaturentwicklung des Akkus ? - Wie hoch ist der Innenwiderstand des Akkus ? - Welchen möglichen Höchststrom kann ich dem Akku entnehmen ? - Entladespannung bis 0,9V bei Konstantem Strom - Die Visualisierung unter LogView. Das hier und weitere Sachen habe ich schon nachgebaut, aber alles ist im Sande verlaufen. http://www.mikrocontroller.net/articles/Akku_Tester Eine manuelle Entladeschaltung habe ich bereits entworfen. Beitrag "Stromsenke für NiCd / NiMH Einzelzellen bis 5 Ampere" Und nun los : " Zeigt her Eure Werke " !!! Bernd_Stein
Hallo Bernd, die meisten der angesprochenen Themen werden von meinem "Akku-Wächter" erfüllt. Alle Eigenschaften gelten für Laden und Entladen: - Überwachung von Zeit, Kapazität, Spannung, Temperatur, Gradient von Spg und Temp - Logging aller Größen, Übertragung zum PC als Textdatei nach der Messung - Darstellung in Excel oder beliebigem Programm - umfangreiches Menü zur Wahl der Abschaltkriterien und des Logging Der Einsatz setzt eine externe Stromquelle oder -senke voraus. Das wäre ein getrenntes Thema. Durch den getrennten Aufbau ist der Einsatz wesentlich flexibler. Im Anhang ein Bild und der Schaltplan. Kurze Beschreibung der Schaltung: - die Endabschaltung habe ich über ein Relais gemacht wegen hoher Spannungsfestigkeit - Strommessung über Verstärker - Spannungsmessung in mehreren Bereichen, das Programm entscheidet, welcher Bereich die beste Auflösung hat - Temperaturmessung mit KTY81 und OP - Berechnung von Spg/Zelle zur besseren Beurteilung und für die Spg-Überwachung - Logging im RAM, skaliert auf ein Byte pro Wert (Platz für 8h bei 3 Größen und 1 Minuten-Takt) Was würde ich nach der Erfahrung ändern: - Strombereich bis >=4A (habe gerade den Shunt beim Auto-Akku-Test verbrannt) - Logging im seriellen EEPROM Vielleicht sind einige Ideen als Anregung eigene Projekte dabei Gruß Hermann
Erstmal Danke, das Du auf mein Anliegen geantwortet hast und Dir die Mühe gabst dein Akkuwächter zu zeigen, sowie eine grobe Beschreibung zu geben. Hermann schrieb: > - Darstellung in Excel oder beliebigem Programm > Habe leider keine Ahnung von solchen Sachen. Meinst Du LogView würde das auch grafisch anzeigen können. > > Der Einsatz setzt eine externe Stromquelle oder -senke voraus. Das wäre > ein getrenntes Thema. Durch den getrennten Aufbau ist der Einsatz > wesentlich flexibler. > Finde ich auch. > > - Spannungsmessung in mehreren Bereichen, das Programm entscheidet, > welcher Bereich die beste Auflösung hat > In dem Zusammenhang : Was macht der 2:1 Spannungsteiler der an "Drain" angeschlssen ist ( ADC2 ) ? Wozu dient das Konstrukt aus Referenzspannungsdiode und den an diesen kathodenseitig angeschlossenen Dioden ? Etwa Verpolungsschutz ? Wozu dient dann die BAT41 an ADC2 ? Wieso ist der 1k5 OpAmp-Beschaltungswiderstand von ADC1 extern ? Die Auflösung vom Schaltplan zeigt leider nicht was für ein Text über dem ganz linken KTY81 steht. Und - wo wird dieser angeschlossen ? Wenn der Sourcecode in Assembler geschrieben ist, würdest Du den auch zur Verfügung stellen ? > > Was würde ich nach der Erfahrung ändern: > - Strombereich bis >=4A (habe gerade den Shunt beim Auto-Akku-Test > verbrannt) > Meinst Du jetzt einen automatischen Test mit einem Akku oder einen Test mit einem Kfz-Akku ? > > - Logging im seriellen EEPROM > Wegen mehr Speicher oder warum ? Und warum EEPROM und nicht FLASH ? Seriell im Sinne von SPI oder etwa IIC (I²C) ? Bernd_Stein
Bernd Stein schrieb: > Meinst Du LogView würde das auch grafisch anzeigen können Ich habe einfach für jede Zeitscheibe die Werte über die V24 geschickt und mit Hyper-Terminal erfasst. Die Formatierung ist dabei speziell für Excel gemacht: Trennung durch Tab und Dezimal-Komma. Damit liest Excel die .Txt-Datei ohne spezielle Anpassung. Wenn Dein LogView Textdateien einlesen kann, kannst Du es genauso machen. Bernd Stein schrieb: > Was macht der 2:1 Spannungsteiler der an "Drain" Ich erfasse zusätzlich den Spannungsabfall an Draht, Schalter und Shunt. Damit korrigiere ich die Spg-Messung. Bernd Stein schrieb: > Wozu dient das Konstrukt aus Referenzspannungsdiode und den an diesen > kathodenseitig angeschlossenen Dioden ? Überspannungsschutz an den AVR-Eingängen. Da ich bis 100V messen will, kann am 6V-Teiler eine Spg über 5V entstehen. Das kann man weglassen, wenn man den Strom über genügend hohe Widerstände begrenzt. Die internen AVR-Schutzdioden können bis 1mA. Begrenzen würde ich deutlich darunter. Bernd Stein schrieb: > Wozu dient dann die BAT41 an ADC2 ? Schützt vor neg. Spg. Wenn der Schalter geöffnet ist, hängt an Drain eine neg. Spg. Bernd Stein schrieb: > Wieso ist der 1k5 OpAmp-Beschaltungswiderstand von ADC1 extern ? Ich hatte erst vor, die Differenz zur Umgebung mit einem 2. KTY zu messen. Habe ich wieder verworfen und den festen 1k5 eingebaut (nicht extern) Bernd Stein schrieb: > Wenn der Sourcecode in Assembler geschrieben ist, würdest Du den auch > zur Verfügung stellen ? Ist kein Assembler. Könnte ich natürlich bereitstellen. Aber ich schreibe in BASCOM. Ist wohl hier verboten. Bernd Stein schrieb: >> Was würde ich nach der Erfahrung ändern: >> - Strombereich bis >=4A (habe gerade den Shunt beim Auto-Akku-Test >> verbrannt) >> > Meinst Du jetzt einen automatischen Test mit einem Akku oder einen Test > mit einem Kfz-Akku ? Ich habe den Akku mit 7A entladen. Dass die Strom-Messung nicht funktionierte hat mich nicht gestört. Habe aber nicht daran gedacht, dass der Shunt drin ist und 4,9W verbrät. Bernd Stein schrieb: > Und warum EEPROM und nicht FLASH ? > Seriell im Sinne von SPI oder etwa IIC (I²C) ? Habe an die I²C-Teile gedacht. Stelle ich mir viel einfacher vor: 4-Beiner, 1 seieller Anschluss, beliebig viele kByte. Grund: mehr Speicher, keine Skalierung, kein zusätzlicher Quantisierungsfehler. Habe noch eine Beispielmessung beigefügt. Die Byte-Quantisierung ist deutlich zu erkennen. Reicht für die Genauigkeit zwar hin, sieht aber nicht gut aus. Unter dem Diagramm ist der Anfang der Tabelle zu sehen, die über die V24 gesendet wurde. Hier ist auch der Vorteil von Excel zu erkennen: man kann beliebige Berechnungen ergänzen. Hier ist die Entladekurve in die Ladekurve hinein kopiert und kann über die gerechnete Restkapazität über einer x-Achse dargestellt weden. Gruß Hermann
Hermann schrieb: > Schützt vor neg. Spg. Wenn der Schalter geöffnet ist, hängt an Drain > eine neg. Spg. > Das kann ich leider nicht erkennen, weder beim Laden noch beim Entladen > > Ist kein Assembler. Könnte ich natürlich bereitstellen. Aber ich > schreibe in BASCOM. Ist wohl hier verboten. > Schade, ich übe mich darin und kann leider mit einem Bascom-Sourcecode nichts anfangen. Und den von Bascom erzeugten ASM-Code möchte ich mir auch nicht antun, da wie bereits geschrieben ich mich darin noch übe und somit wahrscheinlich noch weniger verstehen würde wie rein geschriebenen ASM-Code. > > Habe an die I²C-Teile gedacht. Stelle ich mir viel einfacher vor: > 4-Beiner, 1 seieller Anschluss, beliebig viele kByte. Grund: mehr > Speicher, keine Skalierung, kein zusätzlicher Quantisierungsfehler. > Das mit der Skalierung und den Quantisierungsfehler ist mir zu hoch, da steige ich nicht durch. > > Habe noch eine Beispielmessung beigefügt. > Finde ich astrein. Da hast Du richtig was auf die Kette bekommen. Danke für die Vorstellung deines " Akku-Wächters ", was der Sache nicht gerecht wird, da deine Schaltung viel mehr kann, als nur Akkus zu Überwachen. Bernd_Stein
Bernd Stein schrieb: > Wenn der Schalter geöffnet ist, hängt an Drain >> eine neg. Spg. >> > Das kann ich leider nicht erkennen, weder beim Laden noch beim Entladen Beim Laden hägt die Akku-Spg bei offenem Schalter an der Reihenschaltung des 6V- und 2,2V-Teilers. In der Mitte ist Masse, also bleibt für den 2,2V-Teiler eine neg. Spg übrig. Bernd Stein schrieb: > kann leider mit einem Bascom-Sourcecode > nichts anfangen Es gibt keine leichter zu lernende Hochsprache als Basic. Assembler geht für so etwas vom Aufwand gar nicht. Das nimmt man nur für zeitkritische Teile oder wo man jedes Byte sparen muss. Assembler kann man dazu überall in Bascom einbetten. Bascom nehme ich, weil ich viel in VBA (Excel) programmiere, da gibt es nur Basic und viel in Visual Studio, da gibt es auch Basic, na und da will ich nicht dauernd wechseln. Außerdem geht mit Bascom alles, was ich bisher gebraucht habe. Bernd Stein schrieb: > Das mit der Skalierung und den Quantisierungsfehler Wenn man einen Wert in einem Byte speichern will, dann multipliziert man ihn mit einem Faktor, so dass der Maximalwert zu 256 wird. Z.B. Umax*Faktor=256, also Faktor=256/Umax. So multipliziert man jedes gemessene U mit Faktor und packt es in den Byte-Speicher. Damit ist der Seicherwert nur auf 1Bit genau. Das ist die Quantisierung, also Umax/256.
Danke, das Du mir die Sachen erklärst. Hermann schrieb: > Beim Laden hägt die Akku-Spg bei offenem Schalter an der Reihenschaltung > des 6V- und 2,2V-Teilers. In der Mitte ist Masse, also bleibt für den > 2,2V-Teiler eine neg. Spg übrig. > Ich habe hier drauf hin mal eine Skizze für 10V erstellt und erkenne nun deutlicher was Du beschreibst. Die Teilspannungen an den Widerständen habe ich ohne Bezug auf den Schaltungsteil nach den roten Trennungsstrichen berechnet, da es mir sonst zu kompliziert würde. Beim 2,2V Spannungsteiler ist zu erkennen, das der ADC2-Eingang eine negative Spannung von 3,11V erhalten würde, wenn die Schottky-Diode nicht da wäre. Jetzt weiß ich nicht genau wie die Eingangsschutzbeschaltung von einem AVR-ADC-Eingang aussieht. Ich dachte bisher immer dieser wäre mit zwei Dioden, wo jeweils eine gegen Plus und GND, so verschaltet ist, wie in dem Schaltbild ( Dioden habe ich eingezeichnet ). Somit würde die Schottky-Diode parallel zur GND-Diode vom ADC-Eingang sein. Würde nicht evtl. trotzdem der Strom eine von den beiden Dioden zerstören können ? Ein Vorwiderstand würde dies sicher verhindern, doch wonach muß man den Dimensonieren ? Sicher ist zu beachten, das die nachfolgende Sample and Hold Stufe dadurch auch beeinflußt wird. > > Es gibt keine leichter zu lernende Hochsprache als Basic. Assembler geht > für so etwas vom Aufwand gar nicht. Das nimmt man nur für zeitkritische > Teile oder wo man jedes Byte sparen muss. Assembler kann man dazu > überall in Bascom einbetten. > So hab ich es auch mal gelernt, daher stammt ja auch irgendwie die Abkürzung BASIC her. Einige Leute machen in Assembler ganz schon heftige Klamotten, aber im Prinzip hast Du recht. http://s-huehn.de/elektronik/ Dort das Projekt : Temperatur-Messsystem > > Wenn man einen Wert in einem Byte speichern will, dann multipliziert man > ihn mit einem Faktor, so dass der Maximalwert zu 256 wird. Z.B. > Umax*Faktor=256, also Faktor=256/Umax. So multipliziert man jedes > gemessene U mit Faktor und packt es in den Byte-Speicher. Damit ist der > Seicherwert nur auf 1Bit genau. Das ist die Quantisierung, also > Umax/256. > Ich raffe es leider immer noch nicht. Den AVR-ADC-Wert kann man ja als 8-Bit oder 10-Bit Wert auswerten. Stichtwöter : ADC Multiplexer Selection Register ( ADMUX ) ADC Left Adjust Result ( ADLAR ) ( Bit im ADMUX-Register ) Warum muss man den dann noch " Quantisieren ", man könnte den ADC dann doch sofort so einstellen, das er mit einem 8-Bit Wert arbeitet und nicht mit 10-Bit ? Quelle vom veränderten Bild der ADC-Eigangsbeschaltung : http://www.avr-modelleisenbahn.de/controller/atmega8/18-4-1-schaltung-analog-eingaenge-atmega8.htm Bernd_Stein
:
Bearbeitet durch User
Bernd Stein schrieb: > Somit würde die > Schottky-Diode parallel zur GND-Diode vom ADC-Eingang sein. > Würde nicht evtl. trotzdem der Strom eine von den beiden Dioden > zerstören können ? Die internen Schutzdioden können maximal 1mA und zusätzlich dürfen sie maximal 0,5V haben (Datenblatt: absolut maximum rating). Wenn man aber 1mA durch die Diode schickt, hat sie mehr als 0,5V (gemessen). Man muss also auf beides achten. Ich begrenze deshalb vorsichtshalber auf weit unterhalb 1mA oder nehme eine Schottky-Diode. Bernd Stein schrieb: > Warum muss man den dann noch " Quantisieren ", man könnte den ADC dann > doch sofort so einstellen, das er mit einem 8-Bit Wert arbeitet und > nicht mit 10-Bit ? Wenn man mit dem Messwert nichts weiter macht, als den Rohwert zu speichern, ist das ok. In der Regel muss man aber noch einiges rechnen und da sollte man keine Bits verschenken. Ich mache als erstes die Umrechnung in den physikalischen Wert (z.B. Spannung) und das als Real-Zahl. Dann schicke ich alle Messwerte durch einen Tiefpass-Filter. Damit wird sogar noch etwas Genauigkeit gewonnen, da das letzte klappernde Bit noch gewichtet wird. Dann kommt die Kapazitätberechnung, Gradientenberechnung, Grenzwert-Check usw. Erst ganz am Schluss kommt die Skalierung zur Speicherung im Byte. Das würde man sich sparen, wenn man nicht mit dem Speicherplatz geizen muss. Ich hatte genau 1440 Byte dafür übrig. Die Speicheung geschieht in einem Ringspeicher, wenn er überläuft sind immer die letzten Zeitscheiben gespeichert.
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.