Peter Hofbauer’s private Homepage
Selbstbauprojekte
eigene Entwicklungen
Röhrenprüfgerät mit Akku (3/3)
Update / Erweiterug: Tiefentlade-Schutz
Wenn die Spannung des Akkus unter den zulässigen Wert fällt, erscheint im LCD eine
Warnung. Bisher konnte der Prozessor den Akku aber nicht ausschalten. Damit würde er
sich auch selber ausschalten. Das erledigt jetzt eine Zusatzschaltung RPG9300A.
Diese Schaltung verbindet mit einen VMOS (IRF9540) die beiden Pins am X3 des SNT #1.
P1 (Inp) kommt vom Schalter/Akku, P2 (Out) geht ins Testgerät. Nach einschalten ist der
VMOS für einige Millisekunden leitend bis C3=2u2 sich aufgeladen hat. Vor Ablauf dieser
Zeit muss der Kontroller den P4 (Trigger) nach GND schalten falls die Akkuspannung hoch
genug ist. Dazu wird ein Ausgang im Relaisfeld verwendet: X7, Pin 2.
Wenn die Akkuspannung 20V unterschreitet wird P4 getrennt und der VMOS schaltet nach
kurzer Zeit aus. Nochmals Aktiviert wird der VMOS wenn Aus- nach einiger Zeit wieder
Ein-geschaltet wird.
Die Belastung des Akkus nachdem der VMOS aus geschaltet hat beträgt nur etwa 0,5mA. Aus schalten muss man das Testgerät wegen
dieses Stroms trotzdem irgendwann.
Die Schaltung “RPG9300A” wird ans SNT#1 X3
und ans Relaisfeld X7 Pin 1 angeschlossen.
RPG9300A
Änderung im Gesamt-Schaltplan
2. Update / Erweiterung: RS232 und PC-Software
Für jede Röhre benötigt der Röhrenprüfer einen Datensatz. Die Daten werden am Gerät mit den kleinen Joystick eingegeben. Das geht zwar
recht gut, bei einen längeren Röhrentext aber doch etwas umständlich. Die PC-Software ist nur für die Daten-Erstellung und -Bearbeitung
gedacht. Eine Bedienung zum testen einer Röhre ist nicht vorgesehen, das geht direkt am Gerät besser.
Der Transfer der Daten
erfolgt immer komplett
mit allen vorhandenen
Datensätzen auf
einmal.
Der Komplette
Dateninhalt kann in
beide Richtungen
transferiert werden.
Der Röhrentyp bzw
Röhrentext wird in der
rechten Gridbox
aufgelistet.
Kann mit den 4 Buttons
darunter durch
geblättert
werden.
Nach Auswahl einer
Röhre erscheinen deren
Daten in der Pin-Liste
daneben. Die ist mit
den LCD-Inhalt des
Röhrentesters
identisch.
Nach Auswahl eines
Pins in der Pin-Liste
erscheinen deren Daten
im Editierfeld links. Dort
werden die Daten
editiert und nach Enter übernommen.
Die Taste “Irrtum” löscht die Röhre ohne die Daten in der Pin-List zu löschen. Fall diese Löschung ein Irrtum war: nochmal betätigen dann ist
die Röhre wieder da.
Die Röhren werden wie im RPG in alphabetischer Reihenfolge ansteigend sortiert. Alle 20 Zeichen im Röhrentext gelten als Index. Die
Nummer links (in der rechten Gridbox) zeigt nur deren Lage im Speicher, kann sich also ändern.
Die Auswahl einer Röhre zum Editieren geht auf 3 Arten:
1.
mit der Maus anklicken in der rechten Gridbox
2.
Eingabe der Datensatz-Nr und Enter-> (oben)
3.
Röhrentyp eingeben und Enter-> (oben)
Neue Röhre anlegen:
Alle Daten in der Pin-Liste und Röhrentyp eingeben. Nach Enter-> (oben) wird der neue Datensatz einsortiert falls noch nicht vorhanden.
Wenn die Röhre bereits im Speicher ist, werden deren Daten überschrieben. Sollen mehrere Datensätze für den selben Röhrentyp: einfach
durch längeren Röhrentext möglich.
Ein Datensatz besteht pro Röhre aus 80 Byte. In den FRAM des RPG passen 815 Datensätze.
Die Datensätze werden auf eine Festplatte im lesbaren Textformat gespeichert.
Das Windows wurde so klein gewählt das es in einen kleinen Notebook (EEE) komplett sichtbar ist. Ich hatte ein solches Gerät geerbt und
hatte bis jetzt keine richtige Verwendung dafür. Jetzt soll es für den Röhrentester dienen.
Das Protokoll der RS232-Übertragung
Das Protokoll ist ganz einfach aufgebaut. Das erste Byte ist ein Kommando, dahinter kommen 2 Bytes Datensatznummer, dann die 80 Byte
Datensatz und ans Ende eine Prüfsumme. Die Prüfsumme ist ein Byte das durch die Addition aller Bytes ohne die PS selber entsteht. Die
Daten werden so übertragen wie sie im FRAM des RPG stehen, also im Binärformat. Ob eine Übertragung fehlerfrei war, wird an 3
Eigenschaften erkannt:
1. das Kommando
2. die Anzahl der Bytes
3. die Prüfsumme
Wenn ein Fehler erkannt wurde, wird einfach 2 Sekunden lang nichts getan. Daran erkennt die Gegenseite den Fehler und setzt seine Zeiger
entsprechend neu.
Aktion: 1 Datensatz aus PRG/FRAM holen:
PC>RPG: F + DSnummer + PS (0x46 , 0x1234, 0x12)
RPG > PC: f + DSnummer + 80byte + PS (0x66 , 0x1234 x 40, 0x12)
Aktion: 1 Datensatz zum PRG/FRAM bringen:
PC>RPG: G + DSnummer 80 byte + PS (0x47 , 0x1234 x 40, 0x12)
RPG > PC: g + DSnummer + PS (0x67 , 0x1234, 0x12)
In der Software werden die Daten von der RS232 ins Textformat gebracht und dann nur noch in diesen bearbeitet.
Downloads
Programmiert wurde mit XPROFAN die exe und Sourcecode hier im Download falls jemand sich dafür interessiert. Und die erweiterte
Firmware.
Die XPROFAN-Dateien (560kB) RPG9300RS232.zip
Die neue Firmware (30kB) RPG93V20.zip
Der erweiterte KiCAD-Schaltplan(270kB) RPG9300KiCAD.zip
3. Update: Relaisplatine geändert
Es ist nach einer Serienprüfung einiger Röhren ein Fehler aufgetreten. Bei einem Relais waren die Kontakte verschweißt. Der Fehler machte
sich bemerkbar nachdem ich sehr schnell zwischen den Röhren umgeschaltet hatte.
Ursache?
Die Relaistreiber TPIC6B595 reagieren auf Störungen und können dadurch unkontrolliert Relais schalten. Die giftigen Nanosekunden-
Störimpulse entstehen durch schließen der Kontakte in einer 250VDC-Leitung. Die Fehlfunktionen entstehen durch Impusströme quer durch die
Platine. Solche Effekte hatte ich bei der alten Platine mit einer zusätzlichen GND-Fläche über der Platine und mit Klappferrite bekämpft. Das hat
offensichtlich nicht gereicht.
Abhilfe?
Eine neue Platine wurde entwickelt. Die Treiber und die 50 Relais sind
nicht mehr gemischt angeordnet. Die Treiber kommen alle auf die linke
Seite. GND ist für die Treiber besser von den Kontaktpins getrennt.
Leider gibt es ein Problem bei der Entflechtung des Layouts. Weil die
Platine mit der CNC gefertigt wird (Hersteller-Fertigung = zu teuer) sind
nur einseitige Leitungen möglich. Die 50 Leitungen von den Treibern zu
den Relaisspulen werden auf der Oberseite mit Drähten angeschlossen.
Dazu wurde ein Fädel-Kamm auf der Platine geklebt. Die Relaisspulen
sind mit Kupferlackdraht (der ist lötbar) vom Treiber durch den roten
Kamm geordnet zu den Treiber gelegt.
Eine kleine Änderung im Schaltplan:
Die Elkos der drei SNTs werden mit Widerständen R1, R2 und R3,
entlade sobald diese inaktiv aus sind. Damit soll verhindert werden, das
ein geladener Elko über einen Relaiskontakt nach GND entladen wird,
was zum Tot des Relais führen kann.
X13 ist eine Trennstelle mit einen Jumper, soll die Relais schützen wenn
die Firmware geladen wird.
X99 ist nachträglich angebaut worden, hatte ich vergessen. Ist zum
Triggern der Akku-Abschaltung.
Die empfindlichen Steuerleitungen zu den Treibern sind mit 22pF nach
GND belastet und mit R8 nach +5V gezogen.
Im Gesamt-Schaltplan hat sich der Anschluss X7 geändert und X99 ist dazu gekommen.
Sonst beleibt alles wie es war.
Die GND-Leitungen in dieser Konstruktion sind ungünstig verdrahtet.
Vom SNT#1 geht die GND zur CPU-Platine und zur Relaisplatine. Zusätzlich eine GND
von der CPU-Platine zur Relaisplatine. Im Ergebnis eine Schleife. Besser wäre eine
zentrale GND-Fläche gewesen.
Das Ergebnis der neuen Platine: funktioniert Fehlerfrei und Störsicher!
Die Firmware musste geändert werden, andere Pins an den Treiber verwendet.
Downloads
KiCAD-Dateien (48kB)
Firmware (32kB)