Beschreibung einer alternativen Stromversorgung für den KC85/2-5 mit Messmodul.
Eine alternative Stromversorgung für den KC85
Vorwort
Die folgende Beschreibung stellt keine Bauanleitung dar, sondern soll lediglich der Information und Inspiration dienen.
Inhalt
Motivation
Auf einem KC-Treffen bin ich günstig an die Platinen eines KC85/4 gekommen. Diese Platinen sollten die Basis für einen KC85/5 zum Messen, Testen und Experimentieren bilden.
Zum Betrieb benötigt der Mühlhausen-KC die Spannungen +12V, +5V und -5V. Ideal wäre ein Dreikanal-Labornetzteil, wie das HMP 2030, an dem der erste Funktionstest erfolgte. Brauchbare Mehrkanal-Labornetzteile haben leider ihren Preis. In der Hobbyecke mussten mehrere verschiedene Netzteile kombiniert werden, um die benötigten Spannungen bereitzustellen. Auf Dauer ist das umständlich und viel zu fehlerträchtig, es mußte eine Alternative geben.
1. Das Netzteil
Vorüberlegung
Daher bestand die Aufgabe ein passendes Netzteil zu entwerfen. Folgende Punkte sollten dabei berücksichtigt werden:
- aus Sicherheitsgründen keine offene Netzspannung,
- Rohspannungserzeugung möglichst mit einem günstigen Laptopnetzteil,
- Erzeugung der Nennspannung mit verlustarmen DC/DC-Wandlern
Wünschenswert wäre es, die ausgegebenen Spannungen und die aktuelle Stromaufnahme auf einer Anzeige ablesen zu können.
Die Leistungsgrenzen des Originalnetzteils wurden u.a. bei einer Diskussion im Forum [1] erörtert.
Spannung | max. Belastung |
---|---|
5P | 2,5 A |
12P | 1 A |
5N | 50 mA |
Mit den Werten aus Tabelle 1 ergibt sich eine Gesamtleistung von 25 W (sekundärseitig). Damit gibt es Richtwerte für die Auslegung.
Ich habe mich für DC/DC-Wandler von Traco entschieden. diese ließen sich günstig über eBay auftreiben. Bei diesen DC/DC-Wandlern sind die Ausgänge von den Eingängen galvanisch getrennt, daher kann man die Ausgänge der Wandler beliebig verschalten, um die gewünschten Spannungen von +5V, +12V und -5V zu erhalten. Für die Strom- und Spannungsanzeige sollten TK1210-Module aus dem Reich der Mitte eingesetzt werden.
Schaltung
Die Verschaltung der DC/DC-Wandler zeigt Bild 1. Die Auswahl der Rohspannungsversorgung ist durch den großen Eingangsspannungsbereich der Wandler relativ unkritisch. Das externe Netzteil sollte eine Mindestleistung von ca. 40 W haben. Die Rohspannung wird über eine Hohlbuchse vom Laptopnetzteil zugeführt.
Die Ausgangsspannungen sind auf 4 mm-Laborbuchsen zugänglich. Damit konnte das Kabel, welches für die Inbetriebnahme am Labornetzteil angefertigt wurde, weiter verwendet werden. Als Gegenstück auf der KC-Platine wird eine Buchsenleiste 5406-121 (03) nach TGL 37203 benötigt.
In Tabelle 2 sind die eingesetzten Wandler aufgeführt.
Spannung | Typ | Eingang | Ausgang | Ausgangsstrom | Bemerkung |
---|---|---|---|---|---|
5P | TEN 15-2411WI | 9-36V | 5,1V | 2950 mA | defekt |
5P | TMDC 20-2411 | 9-36V | 5,1V | 4000 mA | Ersatz für TEN 15-2411WI |
12P | TEN 20-2412WIN | 9-36V | 12V | 1670 mA | |
5N | TMR 2411 | 18-36V | 5V | 400 mA |
Keine Anzeige
Die TK1210-Module für die Strom-/Spannungsanzeige ließen sich ärgerlicherweise nicht verwenden, da bei den Modulen die Strommessung auf der Low-side erfolgt. Die Verbindung der GND-Potentiale führt dabei zu einer fehlerhaften Strommessung. Außerdem haben die Module den Schönheitsfehler in der Anzeige (Dezimalpunkt an falscher Stelle, Doppelpunkt bei Spannung).
Aufbau
Der Aufbau erfolgte auf einer Lochrasterplatine. Auf einen separaten Einschalter wurde verzichtet, da das Laptopnetzteil an einer schaltbaren Steckdosenleiste verwendet wird. Zur Fixierung wurden die KC-Platinen auf einem Holzbrett verschraubt. Dort fanden auch der Reset-Taster und die Netzteilplatine ihren Platz. Der DC/DC-Wandler für die 12V-Versorgung ist mit 20 W überdimensioniert, war aber leichter erhältlich.
Betrieb und Zwischenfazit
Im EMV-belastetem Umfeld geben die Schaltnetzteile HF-Störungen auf die Leitung, die z.T. als schwach ausgeprägte Muster im ausgegebenen Videobild sichtbar werden. Dies sollte sich mit HF-Drosseln beheben lassen, mich hat es nicht gestört.
Der Wandler für die 5P ist kaputtgegangen, als er mehr als 1,5 A liefern sollte. Er wurde anschließend im Betrieb sehr heiß und der Wandler hat sich periodisch abgeschaltet. Er wurde durch ein etwas leistungsfähigeres Modul ersetzt.
Bis auf den einen Ausfall arbeitet die Stromversorgung bisher zur vollsten Zufriedenheit.
2. Stromanzeige
Mit der Zeit wuchs der Wunsch, die Strom- und Spannungsmessung doch noch zu realisieren. Mir schwebte zusätzlich eine zeitliche Darstellung des Stromverlaufs vor. Außerdem sollten natürlich die Versorgungen einzeln erfasst werden und zusätzlich der Gesamleistungsverbrauch ermittelt werden.
Strom messen
Der übliche Weg, den Strom zu messen führt über einen Messwiderstand (Shunt). Fließt z.B. ein Strom von 1 Ampere durch einen Widerstand von 1 Ohm, fällt darüber eine Spannung von 1 Volt ab. Diese kann mit einem Digitalvoltmeter oder einem AD-Wandler erfasst werden.
Um den Spannungsabfall (und damit die Verlustleistung) am Messwiderstand möglichst gering zu halten, wird häufig ein Widerstand verwendet, dessen Wert deutlich unter 1 Ohm liegt.
Der Messwiderstand kann sich im Strompfad an zwei Stellen befinden: Vor oder hinter der zu messenden Last. Ist der Messwiderstand zwischen Betriebsspannung und Last, spricht man von einer High-side-Messung (Bild 3, rechts). Befindet sich der Widerstand zwischen Last und Bezugspotential, handelt es sich um eine Low-side-Messung (Bild 3, links). Der Vorteil an der Low-side-Messung ist, daß der Spannungsabfall auf Masse bezogen ist. Nachteilig ist u.U. daß die Last nicht mehr direkt mit Masse verbunden ist. Eine High-side-Messung erfordert i.d.R. einen Differenzverstärker.
Bauteilauswahl
Da aus anderen Projekten mit Bausteinen von TI (INA180, INA219) schon positive Erfahrungen vorlagen, sollte hier eine integrierte Lösung zum Einsatz kommen.
Bei der Bauteilrecherche stieß ich auf den INA3221. Dieser Schaltkreis realisiert eine digitale Strom- und Spannungserfassung (max. 26 V) für drei getrennte Kanäle, passt also ideal zu den Anforderungen. Erfreulicherweise gibt es fertige Breakout-Module, da die VQFN-Bauform mit 4 mm x 4 mm Grundfläche nur mit gutem Auge und ruhiger Hand zu löten ist. Leider hatten die Entwickler des Moduls einen anderen Einsatzzweck im Sinn: Die Messwiderstände sind auf der einen Seite alle miteinander verbunden. Der Nutzer Rendoh hat herausgefunden (und im Arduino-Forum beschrieben [2]) was geändert werden muß, um das Modul trotzdem nutzen zu können.
Ein weiteres Problem: Der INA3221 kann nur positive Spannungen messen. Um die 5N zu messen, muß das Bezugspotential der Messchaltung auf die 5N gelegt werden. Das eigentliche GND hat nun eine Spannung von +5V. Die Spannungen für 5P und 12P sind jetzt ebenfalls 5V größer. Die Prinzipskizze mit dem geänderten Bezugspotential ist in Bild 5 dargestellt. Die Potentialverschiebung wird in der Auswertesoftware korrigiert.
Der INA3221 hat einen Differenzeingangsspannungsbereich von ±163 mV. Mit einem Messwiderstand von 100 mOhm ergibt sich damit ein Messbereich von ±1,63 A.
Zwei der Messwiderstände wurden auf 40 mOhm getauscht. Der Messbereich erhöht sich damit auf ±4 A und der Spannungsabfall am Messwiderstand wird reduziert.
Messdatenerfassung
Das Auslesen des INA3221 wird von einem Arduino Uno-Clone übernommen. Zur Anzeige der Messwerte kommt ein 2,4"-TFT-Touch-Display-Shield zum Einsatz. Die Displayauflösung beträgt 320x240 Pixel mit 16 Bit Farbtiefe. Damit können Messkurven ansprechend dargestellt werden.
Auf dem TFT-Shield ist ein Grafikcontroller ILI9341 verbaut. Dieser läßt sich - ja nach Konfiguration - parallel oder per SPI-Schnittstelle ansteuern. Hier wurde vom Hersteller der schnelle 8-Bit-Parallel-Modus ausgewählt. Damit werden relativ viele Pins des Mikrocontrollers für die Ansteuerung benötigt.
Die Reset-Leitung des Displays blockiert die I2C-Schnittstelle des Controllers. Da der Reset auch per Software ausgelöst werden kann, wurde die Leitung durchtrennt und per Pullup-Widerstand auf high-Potential gelegt.
Der Schaltplan ist in Bild 6 abgebildet.
Software
Nun fehlte noch die Software für das Arduinosystem. Dabei konnte für das TFT-Display, die Touchscreenabfrage und den Stromsensor auf fertige Bibliotheken zurückgegriffen werden. Im Detail muß man dennoch verstehen, wie diese arbeiten, um zu einem lauffähigen System zu kommen. Beispielsweise belegen der Touchscreen und der Displaycontroller teilweise die selben Pins, so das die Pin-Konfiguration im laufenden Betrieb ständig angepasst werden muß.
Durch die Bibliotheken ist das Auslesen und die Textdarstellung relativ schnell zu bewerkstelligen. Die Strommesswerte müssen wegen dem geänderten Messwiderstand noch korrigiert werden. Beim Auslesen erfolgt auch die Korrektur des geänderten Bezugspotentials.
Die Messwerte werden - durch einen Timer gesteuert - alle 200 ms ermittelt. Für die Darstellung wurden verschiedene Varianten realisiert (Bild 7):
- Spannung, Strom und Leistung für jede Versorgung einzeln,
- grafische Darstellung der Ströme über einen Zeitraum von 30 Sekunden und
- die Gesamtleistungsaufnahme
Durch einen Druck auf den Touchbildschirm kann zur nächsten Darstellung gewechselt werden. Der Programmspeicher des Arduino ist zu ca. 85% gefüllt. Damit bleibt noch etwas Spielraum für mögliche Ereiterungen.
Der Quellcode ist auf Github [3] veröffentlicht.
Aufbau
Im Bild 8 ist der gesamte Aufbau in Aktion zu sehen. Vorn rechts befindet sich die Anzeige, die auf dem Arduino-Clone aufgesteckt ist. Die kleine Platine dahinter (mit den drei grünen Schraubklemmen) ist das Strommessmodul mit dem INA3221. Durch die Kabel relativ schlecht zu erkennen sind die verschiedenen DC/DC-Wandler. Links im Bild sind die Leiterplatten des KC-Systems. Die obere Platine mit den Modulsteckplätzen wurde ca. 15 cm nach hinten versetzt.
Die Stromaufnahme für die Kombination aus Arduino, TFT-Display und INA3221 beträgt ca. 240 mA bei 5 V (ca. 1,2 W). Dieser Strom muß in diesem Fall von der 5N-Versorgung bereitgestellt werden.
Noch ein Wort zur Messgenauigkeit: Die eingesetzten Widerstände sind mit 1 % Genauigkeit spezifiziert. Der INA3221 wird mit 0,25 % Genauigkeit und max. 80 µV Offsetfehler spezifiziert. Bei einem Nennstrom von z.B. 2 A darf der Fehler rechnerisch bis zu ±21 mA betragen. Durch den möglichen Offset ergibt sich im 5 V Bereich ein Offsetfehler von max. ±2 mA.
3. Messergebnisse
Nun waren alle Voraussetzungen geschaffen, um den Stromverbrauch des KC85 und seiner Module im laufenden Betrieb erfassen zu können. Zu beachten ist: Der KC85 wurde bereits zum KC85/5 umgerüstet und es ist eine CMOS-CPU (Toshiba TMPZ84C00AP) verbaut.
Tabelle 3 zeigt die Stromaufnahme verschiedener Komponenten des KC85-Systems. Die Module sind sortiert nach der Leistungsaufnahme. Im Wesentlichen stimmen die Ergebnisse mit den bisherigen Messungen von Enrico überein [4]. Größere Abweichungen ergeben sich nur beim M010.
Die Stromaufnahme kann durch die verschiedenen Betriebszustände deutlich schwanken (z.B. EPROM brennen beim M030). Auch zwischen gleichen Baugruppen gibt es eine gewisse Exemplarstreuung.
Gerät | Bezeichnung | 5P | 12P | 5N | Leistung | Bemerkung |
---|---|---|---|---|---|---|
D001 | KC85/5 | 1,2A | 0,06A | 0,01A | 6,77W | ohne Tastatur, CMOS-CPU |
Tastatur | 0,04A | - | - | 0,2W | mit U807 | |
D002 | Busdriver | 0,26A | - | 0,01A | 1,35W | ohne Module |
D004 | Floppy Disk Basis | 1,05A | 0,01A | 0,01A | 5,42W | ohne GIDE und DOM |
D005 | Keyboard | 0,2A | - | - | 1,0W | mit UB8830 und U2716 |
Modul | Bezeichnung | 5P | 12P | 5N | Leistung | Bemerkung |
M021 | Joystick + Centronics | 0,01A | - | - | 0,05W | |
M022 | 16 kB RAM | 0,08A | - | - | 0,4W | |
M011 | 64 kB RAM | 0,1A | - | - | 0,5W | |
M025 | 8 kB ROM | 0,1A | - | - | 0,5W | |
M032 | 256 kB RAM | 0,17A | - | - | 0,85W | |
M035x4 | 4 MB RAM | 0,24A | - | - | 1,2W | |
M052 | USB + Netzwerk | 0,27A | - | - | 1,4W | ohne Stick und Netzwerkkabel |
M003 | V.24 | 0,2A | 0,04A | - | 1,48W | |
M029 | DAU | 0,2A | 0,08A | - | 1,96W | |
M010 | ADU | 0,12A | 0,26A | - | 3,75W |
Die gesamte Leistungsaufnahme eines KC85/5 Grundgerätes mit Tastatur beträgt ca. 10 W. Im zeitlichen Verlauf zeigen sich nur leichte Schwankungen, die jeweils mit bestimmten Programmfunktionen korrelieren.
Fazit und Ausblick
Mit überschaubarem Aufwand wurde das Ziel erreicht, eine alternative Stromversorgung für den KC85 auf Basis moderner DC/DC-Wandler zu realisieren. Zusätzlich ist es möglich die Stromaufnahme der Versorgungsspannungen einzeln zu erfassen und ansprechend darzustellen.
Bert Lange
Mai 2019
Referenzen
[1] ↑ http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=16129
[2] ↑ https://forum.arduino.cc/index.php?topic=548347.0
[3] ↑ https://github.com/boert/KC85-Stromanzeige
[4] ↑ http://kc85.info/index.php/steckmodule-mxxx/225-strombedarf-kc85-module.html