RPS-EDL3005

Eine elektronische Last ist immer dann praktisch, wenn man Netzteile nach dem Bau oder Reparatur auf korrekte Funktion prüfen will. Wie immer sind solche (Labor) Geräte aber nicht ganz billig und für viele Anwendungen auch überdimensioniert. Mein Eigenbau ist mit einem Eingangsspannungsbereich bis 30 V und mit einem maximalen Strom von 5 A geeignet, um fast alle gängige Netzteile im Haushalt zu testen.

Die Schaltung basiert auf der Elektronischen Last (EDL) aus dem c’t-Lab Projekt von C. Meyer und H. Willecke welche hier vorgestellt wird. Allerdings beinhaltet mein Eigenbau einige Änderungen, Bugfixes und Verbesserungen, sodass es sich hier keineswegs um einen einfachen Nachbau oder eine Kopie handelt.

Der größte Unterschied ist wohl die Konzeption als eigenständiges Laborgerät, das c’t-Lab ist hingegen ein modulares System. Desweiteren habe ich einen (in meinen Augen ziemlich üblen) Schaltungsfehler behoben, der für sehr große Stromspitzen beim Anschalten einer Spannungsquelle verantwortlich war (dazu unten mehr). Außerdem werden andere (preisgünstigere) MOSFETs verwendet und teilweise andere ICs. Auch die Abgleichmöglichkeiten wurden angepasst.

Auf der digitalen Seite ist das Gerät eine reine Eigenentwicklung, es gibt eine ordentliche Lüftersteuerung, ein Relais zur Abschaltung der Last, ein größeres Display, USB und einen potentialfreien Triggereingang. Dementsprechend ist auch die Firmware eine Neuentwicklung.

Schaltungsbeschreibung

rps-edl3005.pdf

Analogteil

An X1 wird die zu belastende Spannungsquelle angeschlossen. Der Laststrom fließt über das Relais K1, die Sicherung F1, das Filterglied aus L2, R67 und R68 über die Leistungs-MOSFETs Q3 und Q4 und dessen Sourcewiderstände (R64). Der Widerstand der MOSFETs lässt sich über die Gate-Spannung einstellen und ist somit das Stellglied. Der Doppelwiderstand R64 sorgt einerseits für die gleichmäßige Verteilung des Laststromes und dient gleichzeitig als Shunt zur Strommessung.

Die abfallende Spannung wird von U3A auf 0 bis 2,5 V verstärkt und ergibt das Signal I_MEASURE, welches proportional zum Laststrom ist. R45 und Z1 begrenzen das Signal, um den AD-Wandler (U2) bei Stromspitzen (die eigentlich nicht vorkommen sollten) nicht zu übersteuern.

Über den Spannungsteiler R53, R52, R13 wird die Eingangsspannung auf 0 bis 2,5 V heruntergeteilt. Der Operationsverstärker U12 dient als Impedanzwandler und erzeugt das Signal U_MEASURE, was mit R49 und Z3 ebenfalls begrenzt wird.

Der AD-Wandler (U2) bekommt über die Tiefpassfilter R2/C20 und R3/C19 die Signale U_MEASURE und I_MEASURE zugeführt und wandelt sie für die digitale Anzeige. Außerdem ist an Kanal 0 und 1 der PTC-Sensor R5 angeschlossen, mit dem die Kühlkörpertemperatur gemessen wird.

Im I-Betrieb (konstanter Laststrom) schaltet U8 die Referenzspannung (2,5 V) von der internen Referenz des AD-Wandlers auf den DA-Wandler U4. Mit den beiden Operationsverstärkerstufen U3C und U3D erzeugt dieser den Sollwert für den Strom. Der nachgeschaltete RC-Tiefpass aus R31 und C17 filtert die Sprünge bei einer Änderung des Sollwertes.

U3B regelt die Gatespannung von Q3 und Q4 so aus, dass das Signal I_MEASURE (und somit der Laststrom) mit dem Sollwert des DA-Wandlers übereinstimmt. R51 und C21 kompensieren das Frequenzverhalten und sorgen für eine stabile Regelung. D2 sorgt dafür, dass die Gatespannung nicht (nennenswert) negativ wird.

Die Schaltung R29, R30, C15, Q2 und D1 habe ich aus dem Schaltungsvorschlag der c’t übernommen. Sie soll bei einer Stromspitze die eigentliche Regelung über die Operationsverstärker umgehen und die Gatespannung direkt verringern. Allerdings wären dazu überschlägig  0,7 V an den Stromshunts notwendig, was bei meiner Auslegung 14 A Laststrom entsprechen würde. Solche Ströme treten nach dem unten beschriebenen Bugfix nicht mehr auf. Man sollte daher diesen Schaltungsteil ersatzlos streichen können.

Im R-Betrieb wird dem DA-Wandler über U8 als Referenz das Signal U_MEASURE statt einer konstanten Referenzspannung zugeführt. Die Konsequenz ist, dass die Sollwertvorgabe des Laststromes jetzt proportional zur Eingangsspannung ist und somit I = U / X gilt. Wobei X hier eine Funktion des DA-Wertes ist und dem simulierten Widerstand entspricht.

Stromspitzen?

Jetzt komme ich zu dem Problem der ursprünglichen Schaltung. Was passiert, wenn man (noch) keine Eingangsspannung angelegt hat, bzw. K1 offen ist?
U3B versucht natürlich trotzdem den Strom auf den Sollwert zu regeln. Wenn jetzt eine Sollwertvorgabe größer 0 vorliegt, oder auch nur eine kleine ungünstige Offsetspannung eines Operationsverstärkers, führt das zu einer positiven Differenz zwischen den Eingängen von U3B. Dieser versucht diese auszuregeln und erhöht die Gatespannung, um einen größeren Laststrom fließen zu lassen. Nur gibt es ohne angeschlossene Quelle keinen Laststrom und U3B lädt die Gates der MOSFETs Q3, Q4 bis zur Betriebsspannung auf, ohne die Eingangsdifferenz ausregeln zu können. Wenn jetzt durch Einstecken oder Schließen von K1 schlagartig eine Eingangsspannung angelegt wird, sind die MOSFETs Q3, Q4 voll aufgesteuert und stellen einen Kurzschluss dar, bis U3B ihre Gates wieder entladen hat. Dies verursacht zum Beispiel folgende Stromspitze:

Einschalten von K1 ohne Bugfix; 1 (gelb): Eingangsspannung, 2 (türkis): I_MESURE, 3 (violett): Spannung an TP3

Wie man sieht, geht I_MEASURE in die Begrenzung und die Spannung am Shunt beträgt für ca. 20 µs 950 mV, was einem Strom von 19 A entspricht. Das ist nicht akzeptabel, vor allem wenn man berücksichtigt, dass als Quelle hier ein altes Philips Labornetzteil diente, dass noch eine relativ kleine Ausgangskapazität und eine Strombegrenzung hat.
Ein nachfolgender Test mit einem kostengünstigen 24 V Schaltnetzteil (4,5 A, 108 W) hatte deutlich katastrophalere Folgen. Die Stromspitze beim Einschalten von K1 führte dazu, dass das Schaltnetzteil sofort in die Kurzschlussabschaltung ging. Diese wird automatisch nach ca. 0,5 s wieder aufgehoben und es folgt (da inzwischen die Gates wieder geladen sind) gleich der nächste Stromimpuls der wieder zur Kurzschlussabschaltung führt usw.
Insgesamt ein schöner Oszillator, der zum Tod eines der beiden MOSFETs führte, ehe ich eingreifen konnte.

Bugfix

Der Bugfix-Teil verhindert das Aufladen der Gates ohne angeschlossene Quelle. Mit R18 und R19 und C14 wird eine Spannung von ca. 15 mV erzeugt. U9 ist als Komparator geschaltet und vergleicht diese mit dem Signal U_MEASURE. Ist U_MEASURE kleiner als 15 mV, steuert U9 den Transistor Q6 durch und zieht den Sollwert an TP9 auf einen negativen Wert. Somit ist die Differenz zwischen den Eingängen von U3B immer negativ und die Leistungs-MOSFETs werden nicht aufgesteuert.
Sobald U_MEASURE größer wird als 15 mV (ab 180 mV Eingangsspannung) sperrt Q6 und beeinflusst die Sollwertvorgabe nicht mehr. Z2 ist notwendig, da die Ausgangsspannung von U9 nicht -15 V erreicht und Q6 nicht richtig sperren würde.

Einschalten von K1 mit Bugfix; 1 (gelb): nichts, 3 (violett): Eingangsspannung, 4 (blau): I_MESURE

Mit Bugfix treten keine Stromspitzen mehr auf. Zu beachten ist, dass die zeitliche Auflösung hier 5 µs beträgt und durch die Zeitverzögerung des Komparators und des RC-Tiefpasses R31/C17 der Anstieg der Eingangsspannung nicht mehr zu sehen ist.

Digitalteil

Als Mikrocontroller (U1) kommt ein Atmel ATmega168A zum Einsatz. Er steuert via SPI den AD- (U2) und DA-Wandler (U4) an. Der Chip-Select-Eingang des AD-Wandlers bekommt einen externen Pullup (R6), da es sonst während der In-System Programmierung (X2) zu Datenkollision kommen kann. Beim Display (an X4) handelt es sich um ein 4×20 Zeichen LCD mit HD44780 kompatiblem Controller, es wird im 4-Bit-Modus angesteuert. Der Kontrast wird mit R10 eingestellt. An X6 werden zwei Taster und ein Encoder mit Tastfunktion zur Bedienung des Gerätes angeschlossen.

Als Lüfter kommt ein 80mm PC-Gehäuselüfter mit 4-poligem Anschluss nach Intel-PWM-Standard zum Einsatz. Dieser wird an X3 angeschlossen und hat den Vorteil, dass er sich unkompliziert in der Drehzahl regeln lässt. U1 generiert das notwendige PWM-Signal in Abhängigkeit der Kühlkörpertemperatur, welches über Q5 zum Lüfter gelangt.

Der Optokoppler OK1 stellt einen potentialfreien Triggereingang bereit. Je nach Implementierung in der Firmware kann der z.B. genutzt werden, um die Last gemäß einem externen Signal um-, ab- oder anzuschalten.

Das Hilfsnetzteil ist eine Standardschaltung mit einfachen Längsreglern aus der 78er und 79er Serie. Zu beachten ist lediglich, dass eine Minimallast (R15) für U13 benötigt wird und die „12 V“ für den Lüfter direkt vom Ladekondensator C35 für die digitale Betriebsspannung abgezweigt werden.

An X5 wird das USB-Modul angeschlossen. U200 ist der bekannte USB-UART-Konverter von FTDI und sorgt für einen einfachen Anschluss an alle gängigen Computersysteme. Da die Schaltung bis auf den Triggereingang nicht potentialfrei ist, wird U200 via USB gespeist und U201 sorgt für die Potentialtrennung  gegenüber der restlichen Schaltung. Zu beachten ist, dass mit RTS und CTS auch zwei Handshake-Signale potentialfrei zur Verfügung stehen, die aber hier nicht genutzt werden. Der Trigger-Stecker (X202) ist nur aus mechanischen Gründen mit auf dem USB-Board.

Aufbau

Der Großteil der Schaltung ist auf einer doppelseitigen Platine in der Mitte des Gehäuses untergebracht. Die blaue Lochrasterplatine über der linken unteren Ecke enthält den Bugfix-Teil.
Senkrecht an der Rückseite ist das USB-Modul untergebracht, das auch die Buchse für den externen Triggereingang enthält.
Die Taster und der Drehencoder sind rechts neben dem Display positioniert und benötigen nur eine einseitige Platine.

Transformator und 230 V Teil lassen sich mit gebührendem Abstand an der rechten Seite verbauen.

Als Kühlkörper verwende ich einen alten AMD Sockel 939 Prozessorkühler, der Lüfter ist ein 80 mm Gehäuselüfter. Die 108 W meines Schaltnetzteiles lassen sich damit problemlos abführen, der Lüfter hat dann sogar noch Reserven. Die vollen 150 W konnte ich mangels Netzteiles noch nicht testen, sollten aber auch machbar sein.

An den beiden isolierten(!) BNC-Buchsen liegen U_MEASURE und I_MEASURE an (X7 und X8 auf der Platine). Diese dienen zum Anschluss an mein Oszilloskop, sind nicht potentialfrei und zum Debugging gedacht.

Abgleich

Der Abgleich bei der Inbetriebnahme besteht aus folgenden Schritten:

Zum Offsetabgleich von U_MEASURE ist keine Quelle anzuschließen und R44 so einzustellen, dass die Spannung an X7 genau 0 mV beträgt.

Für den Endwertabgleich von U_MEASURE ist die Last im I-Modus (C. C. Mode) auf 0 A einzustellen und dann eine störungsfreie Eingangsspannung von 30 V anzulegen. Anschließend die Last aktivieren und R13 verändern, bis die Anzeige mit der angelegten Spannung übereinstimmt.

Für den Stromabgleich wird eine Spannungsquelle mit ca. 5 V bei min. 5 A mit dem Strommessbereich (>5 A) eines Multimeters in Reihe geschaltet und an die Eingänge der Last angeschlossen. Die Last wird im I-Modus auf 5 A eingestellt und aktiviert. Jetzt ist mit R14 der tatsächliche Strom auf 5 A einzustellen.

Software

Die momentane Firmware wird noch weiter entwickelt und ist als Beta-Version zu verstehen.
Die Grundfunktionen werden unterstützt und die Lüftersteuerung ist funktionstüchtig. Es fehlen momentan aber ein Menü, automatische Lastwechsel, Voreinstellungen, die Auswertung des Triggereinganges und eine vollständige Implementierung der seriellen Kommunikation zum PC.

Download

Download “EDL3005” rps-edl3005.zip – 84-mal heruntergeladen – 4 MB

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.