Umrüstung einer DDR-Punktschweißzange „TZ5.0“ mit Mikrocontroller
Ausgangssituation

Die Punktschweißzange
Eine defekte Punktschweißzange war Stein des Anstoßes:
Die Thyristorsteuerung arbeitete auf Dauerzündung,
aber es war kein defektes Bauteil zu finden.
Den Schaltplan habe ich wie folgt ausgelesen:

Schaltplan, auch als Eagle-Quelle verfügbar
Bei der Punktschweißzange gibt es keine Stromvorgabe.
Nur eine Zeitvorgabe.
Der linke Teil des Schaltplans bis zum Optokoppler ist das entsprechende Monoflop.
Der rechte Teil ist die trickreiche Schaltung zur Ansteuerung zweier
antiparalleler Thyristoren im Nulldurchgang.
Wie der rechte Thyristor schließlich angesteuert wird, erschließt sich mir nicht.
Für DDR-Bauelemente gibt es
diese Übersicht.
Gespeist wird die Zange mit zwei Phasen aus dem Drehstromnetz,
also mit 400 Volt einphasiger Wechselspannung.
Daher genügt auch eine dünnere (als im Foto), dreipolige Anschlussleitung mit
1,5 mm² Adernquerschnitt.
Ich hätte mich auch gewundert, wie die Zange mit echtem Drehstrom funktioniert.
Nach langer, erfolgloser Fehlersuche wurde entschieden, die Schaltung neu,
mit modernen Bauelementen und mit Triac aufzubauen.
Und wenn man schon Bauelemente ersetzt, warum nicht einen Mikrocontroller
zur Nulldurchgangssteuerung einsetzen?
Umbau
Der Einsatz eines Mikrocontrollers vereinfacht die Hardware
für die Zündung am Nulldurchgang enorm, weil fast alles in Software läuft.
Und wenn man schon einen Mikrocontroller verwendet, warum nicht gleich
per Phasenanschnitt eine Möglichkeit der Stromvorgabe nachrüsten?
So wurde ein zweites Potenziometer zur Stromvorgabe dazu gesetzt,
sowie eine Leuchtdiode zur Anzeige, ob Netzspannung anliegt.

Bedienteil
Der Schaltplan mit Mikrocontroller ist geradezu lächerlich;
der meiste Aufwand steckt in der Bereitstellung seiner Versorgungsspannung.
Wie für Triacschaltungen üblich wird der Steuerschaltkreis mit einer
negativen Betriebsspannung versorgt, um den Triac mit herausfließendem
Strom zünden zu können („günstige“ Steuerquadranten).

Neuer Schaltplan, natürlich auch als Eagle-Quelle
Die Stromversorgung erfolgt mittels kapazitivem Blindwiderstand
C1 und C2,
unverändert aus der alten Schaltung,
sowie Einweggleichrichtung mittels D2 und D3.
Der Rest ist Siebung und Stabilisierung.
Die Versorgung ist für den Betrieb an 230 V oder 400 V Wechselspannung
dimensioniert.
Alle Bedienelemente sowie der Triac sind weitestgehend direkt an den
Mikrocontroller angeschlossen.
Es genügt ein 8-beiniger ATtiny13, der mit seinen drei A/D-Wandlern
die Lage der beiden Potenziometer sowie die Spannung über dem Triac misst.
Neu ist die Piezokapsel, mit der eine akustisches Signal im Fehlerfall
abgegeben wird.
Ihre Kapazität sorgt unter anderem dafür, dass der Start-Taster
S1 entprellt ist und diese Leitung keine Störimpulse
einfängt (also Doppelfunktion).
Leider fällt der Summton im Muster zu leise aus.
Von rauen Betriebsumgebungen ganz zu schweigen.
Der Aufbau erfolgte kurzerhand auf der alten Platine,
durch Entfernung aller nicht mehr benötigten Bauelemente (also fast alles)
und geschicktes Platzieren der neuen Bauteile.

Neue Bestückung auf alter Leiterplatte.
Der Mikrocontroller steckt in einem Sockel.
Weil gerade kein Durchstecktyp vorrätig war, wurde ein SMD-Typ auf eine
Adapterplatine gebaut und diese gesteckt
Das Bedienteil wurde neu verdrahtet.
Änderungen ergeben sich insbesondere durch die ratiometrische Arbeitsweise
der Potenziometer, die nun als Spannungsteiler arbeiten.
Im wesentlichen wurde die Anschlussbelegung am 14-poligen Steckverbinder beibehalten.

Verdrahtung der Bedienelemente
Die Firmware
Auf dem ATtiny13 kann man mittels WinAVR in C programmieren.
Also warum nicht? Das Programm ist relativ einfach gestrickt.
Dennoch ist der Kodespeicher (Flash) des ATtiny13 fast voll geworden.
Die Firmware
benutzt 3 A/D-Wandler-Kanäle sowie Timer und EEPROM und hat folgende Eigenschaften:
- Läuft mit 50 Hz oder auch 60 Hz
- Läuft mit 230 V („Lichtstrom“, mit reduzierter (⅓) Leistung natürlich)
oder auch 400 V („Kraftstrom“)
- Kommt ohne Interrupts aus; allerdings auf Kosten des fehlenden Schlafmodus'
(der Querregler bestehend aus D4 verheizt ohnehin
überflüssigen Strom, also kein wirkliches Problem)
- Detektiert den Nulldurchgang mittels A/D-Wandler (im 8-Bit-Modus betrieben)
und gleicht Ungenauigkeiten des Spannungsteilers R6 und R7 aus
- Startet den Schweißtrafo stets mit wechselnden Halbwellen und merkt sich die
Magnetisierungsrichtung des Eisenkerns beim Ausschalten im EEPROM
- Startet den Schweißtrafo bei einem EEPROM-einstellbaren Start-Phasenwinkel,
um den In-Rush (Einschaltknall) idealerweise auf Null zu bringen
- Erfasst die Stellung des Dauer-Potenziometers R5
(Widerstandswert ohne Belang) beim Tastendruck; die Maximalzeit ist EEPROM-programmierbar
- Erfasst die Stellung des Strom-Potenziometers R1
permanent; während des Schweißens kann man also eine Stromkurve vorgeben
- Misst permanent die Netz-Periodendauer und bricht ab bei Unregelmäßigkeiten,
hervorgerufen bspw. durch einen leer laufenden Transformator
- Steuert bei Fehler den Piezo mit verschiedenen Frequenzen (Tonhöhen) und Längen an
- Kann sogar während der Piezo-Tonausgabe den Taster abfragen
(obwohl am gleichen Pin angeschlossen)
- Speichert den letzten Fehler im EEPROM zwecks Diagnose
- Zündet den Triac mit einer schnellen Pulsfolge negativen Stroms
- Gibt Marker am Pin 2 aus, wenn ein Nulldurchgang detektiert wird (LOW)
oder ein Zündimpuls ausgegeben wird (HIGH),
zur einfachen Kontrolle der Software-Funktion mit einem Einstrahl-Oszilloskop
- Überwacht den Zündvorgang und meldet sich akustisch beim Fehlschlagen
der Triac-Zündung (meist weil der Hauptschalter S2 ausgeschaltet ist)
- Überwacht den Abkühlvorgang (Festhalten des Tasters nach der Schweißzeit)
und piepst bei Fehler (diese Zeitspanne ist mit 0,5 s voreingestellt
und EEPROM-programmierbar)
- Zählt die Anzahl der Tastenbetätigungen und der erfolgreichen
Schweißvorgänge im EEPROM
- Bietet Platz für ein elektronisches Verfallsdatum
(bspw. Dauerpieps nach 10.000 Schweißvorgängen,
Punktschweißzange zur „kostenpflichtigen Reparatur“ einschicken)
— wer sowas macht, wird erschossen!
Gebrannt wurde die Firmware auf einem einfachen Programmiergerät
(paar Drähte vom Druckerport auf ein Breadboard).
Aber auch In-System-Programmierung ist möglich,
wenn man die Potenziometer in Mittelstellung bringt
und die Schaltung mit einem Trenntrafo speist.
Das Arbeiten mit dem EEPROM des ATtiny13 geht am einfachsten mittels
PonyProg2000.
Die Position der Speicherzellen ergibt sich aus dem Programm-Quelltext,
Struktur persistent_t.
Richtiges Open-Source geht bis hin zur Quelle der
Beschriftungsetiketten!
Diese wurden mit Tesafilm laminiert und mit Pritt-Alleskleber (Flasche)
auf das Gerät geklebt.
Henrik Haftmann, 081010