Archive for Juni, 2006

HET 20 (4)

Montag, Juni 19th, 2006

An der seriellen Schnittstelle des HET 20 vermittelt eine Schaltung aus zwei Transistoren zwischen den TTL-Pegeln des Microcontrollers und den Spannungspegeln der RS-232-Schnittstelle am PC. Auf einen Pegelumsetzer wie den MAX232 wird verzichtet, denn dieser ist nicht ganz billig, benötigt zusätzlich noch vier Elkos für seine Ladungspumpe, und es würde nur ein Viertel (T1) des Bausteins für die unidirektionale Übertragung vom HET 20 zum PC genutzt werden können. Zudem ist die vorliegende Schaltung mit einem Emitterfolger-Ausgang flexibel und kann ausgangsseitig auch mit TTL-Pegel betrieben werden.

Dies ist also keine RS-232-Schnittstelle, sondern schlicht eine serielle Schnittstelle, die zu RS-232 soweit kompatibel ist, dass sie an einer normgerecht beschalteten Gegenstelle funktionieren kann, wenn die Gegenstelle hinsichtlich der erwarteten Spannungspegel nicht eben pingelig ist. Dies ist beim Anschluss an einen Desktop-PC üblicherweise der Fall, nach Hörensagen kann es an Notebooks manchmal Probleme geben. Zu beachten ist auch, dass das Verbindungskabel möglichst kurz gewählt werden sollte.

Die im Schaltplan des HET 20 angegebene Pinbelegung der RJ-12-Westernbuchse stimmt nicht mit der Belegung am Bauteil überein, die ungeradzahligen und geradzahligen Pins sind dort paarweise vertauscht (1-2/3-4/5-6). Bezogen auf die Angaben im Schaltplan kann folgende Verdrahtung zur 9-poligen RS-232-Stiftleiste am PC vorgenommen werden: Pin 1 und Pin 5 des HET 20 auf Pin 5 (GND), Pin 2 des HET 20 auf Pin 3 (RxD) und Pin 3 des HET 20 auf Pin 4 (DTR). Hinweis: Die +12 V am Pin 4 (DTR) des PC liegen erst an, wenn ein Programm auf die COM-Schnittstelle zugreift.

Die Datenübermittlung erfolgt in Form von Datentelegrammen mit einer Größe von minimal 12 Bytes und maximal 22 Bytes in einem Abstand von 500 ms. Jedes Datentelegramm beginnt mit dem Steuerzeichen STX und endet mit dem Steuerzeichen ETX. Dazwischen werden die Werte für Kapazität, Entladestrom, Leerlaufspannung, Lastspannung und Innenwiderstand mit jeweils High-Byte und Low-Byte als 16-Bit-Werte übertragen. Hat eines der Datenbytes den Wert 02h (STX), 03h (ETX) oder 05h (ENQ), dann erfolgt eine Ersetzung durch Voranstellen von ENQ und Übermitteln des Datenbytes addiert mit dem Wert 10h.

Das nachfolgende Perl-Skript zeigt exemplarisch, wie die Daten auf einem Linux-PC mit nur geringem Aufwand empfangen und ausgegeben werden können. Das HET 20 ist in diesem Beispiel an COM1 angeschlossen. Wegen der Plattformabhängigkeit des Moduls Device::SerialPort für den Zugriff auf die serielle Schnittstelle läuft dieses Skript ausnahmsweise nicht unter Win32; dort kann aber mit minimalen Abwandlungen das Modul Win32::SerialPort verwendet werden. Auf spezielle Tweaks habe ich verzichtet, damit die Sache nachvollziehbar bleibt.

#!/usr/bin/perl

use strict;
use Device::SerialPort;
use Time::HiRes qw(sleep);

my $RS232 = Device::SerialPort->new('/dev/ttyS0');

$RS232->baudrate(19200);
$RS232->parity('even');
$RS232->databits(8);
$RS232->stopbits(1);
$RS232->read_char_time(1);

while(1) {
  my($Count,$Buffer) = $RS232->read(22);

  unless($Count) { sleep(0.05); next; }

  my @Data = unpack('C22',$Buffer);
  next unless(shift(@Data) == 0x02);
    
  for(my $Ix = 0; $Ix < @Data; $Ix++) {
    last if($Data[$Ix] == 0x03);
    next if($Data[$Ix] != 0x05);
    splice(@Data,$Ix,1); $Data[$Ix] -= 0x10;
  }

  my $Cap = $Data[0] * 256 + $Data[1];
  my $Cur = $Data[2] * 256 + $Data[3];
  my $VoN = $Data[4] * 256 + $Data[5];               
  my $VoL = $Data[6] * 256 + $Data[7];
  my $Res = $Data[8] * 256 + $Data[9];

  printf("%5i mAh | %5.2f A | %5.2f V | %5.2f V | %5.1f mOhm\n",
          $Cap, $Cur/100, $VoN/100, $VoL/100, $Res/10);
}

1;

Siehe auch:
HET 20 (Teil 3)


HET 20 (3)

Mittwoch, Juni 14th, 2006

Das HET 20 arbeitet mit Vier-Leiter-Messtechnik, also mit je zwei Leitungen für die Strom- und Spannungsmessung.

Wenn man sich die Größenordnung zu messender Innenwiderstände vor Augen hält – bei gesunden NiMH-Zellen sind es üblicherweise deutlich weniger als 50 mΩ, bei einer Blei-Zelle sind es weniger als 10 mΩ – dann sind die Übergangswiderstände an allen Kontaktflächen im Messaufbau und die Widerstände der Messleitungen nicht vernachlässigbar, sondern können in der Summe leicht ein Mehrfaches des erwarteten Messwerts betragen. Eine Messleitung mit einem Querschnitt von 1 mm² und einer Länge von 50 cm hat zum Beispiel einen Durchgangswiderstand von 13 mΩ (Quelle: Hirschmann). Der Innenwiderstand (Ri) wird vom HET 20 aus der Differenz von Leerlauf- und Lastspannung berechnet (Spannungsabfall am Innenwiderstand des Akkus), somit darf die Spannungsmessung nur direkt am Akku erfolgen, wenn das Ergebnis aussagekräftig sein soll.

Auch bei der Entladung spielen diese Betrachtungen eine Rolle. Legt man eine Entladeschlussspannung von 0,8 V zugrunde, bis zu der man mit einem Strom von 10 A entladen möchte, dann darf die Summe aller Widerstände im Stromzweig nicht größer als 80 mΩ sein. Dazu zählen der Ri des Akkus, die Widerstände in der Verkabelung und der Ri der Endstufe des HET 20. Letzterer ist durch die Verwendung des Infineon IPP03N03LA MOSFET-Transistors mit einem Drain-Source-Widerstand von 2,7 mΩ sehr klein.

Nach meiner Erfahrung sollte man Akkus bei der Ri-Messung einigermaßen „hart anfassen“, also mit einem Entladestrom gleich oder größer dem zweifachen Wert der Nennkapazität bezogen auf eine Entladedauer von einer Stunde. Für einen AA-Akku mit einer Kapazität von 2000 mAh würde ich die Messung bei 4 A durchführen, für einen Bleiakku mit 8 Ah wären es entsprechend 16 A. Diese Werte sind kurzzeitig problemlos entnehmbar, andernfalls handelt es sich um bereits vorgeschädigte Zellen, die dann gesondert behandelt werden müssen. Modellbauer werden darüber ohnehin noch schmunzeln.

Das HET 20 regelt den Entladestrom nach dem Entladestart zunächst an den Vorgabewert heran. Nach spätestens ein bis zwei Minuten sollte sich auch akkuseitig ein stabiler Ri-Messwert eingestellt haben, die Messung kann dann abgebrochen werden. Für vergleichende Messungen sind gleiche Ausgangsbedingungen unerlässlich. Idealerweise sind zu messende Akkus daher voll aufgeladen und hatten nach der Aufladung noch einige Minuten Zeit, sich chemisch und temperaturmäßig zu stabilisieren.

Siehe auch:
HET 20 (Teil 2)
HET 20 (Teil 4)


Hochstrom-DAU

Dienstag, Juni 6th, 2006

Heute habe ich versehentlich einen BUZ derart außerhalb der SOA betrieben, dass dieser sprichwörtlich Schluss machte. Leider war als Quelle nicht, wie normalerweise üblich, das Labornetzgerät mit Strombegrenzung geschaltet, sondern direkt ein 350W ATX-Netzteil. Als sich das Netzteil durch Geräusch bemerkbar machte, ohmte und schmorte es auch schon, dass ich gar nicht so schnell die Strippen ziehen konnte. Eine meiner KLEPS 30 hat jetzt eine hübsche Dauerwelle ;-)


HET 20 (2)

Montag, Juni 5th, 2006

Die Menüstruktur des HET 20 ist übersichtlich, eine Beschriftung der vier Bedientasten – Anzeige / Menü / Auswahl / OK – eigentlich nicht erforderlich. Über Anzeige erfolgt die Auswahl des jeweils angezeigten Messparameters für den Akku, im Menü werden Grundeinstellungen über Auswahl inkrementell getätigt, die Eingabebestätigung erfolgt mit OK. Über OK wird auch der Entladevorgang gestartet.

Das Gerät hat einen Abgleichmodus für die interne Strom- und Spannungsmessung. Bei der ersten Inbetriebnahme wird automatisch dorthin verzweigt, später kann dieser Modus bei Bedarf über eine Tastenkombination beim Einschalten aufgerufen werden. Nach dem Abgleich kehrt das HET 20 in die normale Betriebsart zurück.

Die Displaybeleuchtung ist abschaltbar, womit die Stromaufnahme bei 12 V von ~170 mA auf ~20 mA sinkt. Dass sämtliche Eingabewerte nur hochgezählt werden können, ist trotz des automatischen Schnelldurchlaufs etwas störend, besonders bei der Stromeinstellung in Schritten von 0.1 A bei einem Bereich von 0.5 bis 20 A.

Siehe auch:
HET 20 (Teil 1)
HET 20 (Teil 3)


Why I don’t like Flickr

Sonntag, Juni 4th, 2006

…when linked to as the overall image repository on a blog or website? Because it’s a disruption in my read- and clickflow as a visitor, some kind of a „PDF experience“ but with simply an image opening up. Very annoying to me.