Spice-Modell eines Relais
Hier habe ich versucht, ein elektromechanisches Relais möglichst naturnah zu simulieren.
Anmerkung: dieses Modell wurde für LTSpice geschrieben und funktioniert wahrscheinlich auch nur unter LTSpice, da LTSpice-intrinsische Modelle wie SCHMITT, AND etc. evtl. in anderen Spice-Derivaten nicht oder nicht in dieser Form existieren.
Eine Anmerkung zum Schaltplan: er enthält keine Spannungsquelle und auch kein Simulationskommando und Sie können nicht einfach auf Run
klicken. Es ist der Schaltplan des Modells. Spannungsquelle und Simulationskommando müssen im übergeordneten Plan eingefügt werden.
Beachten Sie auch, dass das Relais polarisiert ist. Bei verpolter Versorgung wird es nicht anziehen! Es ist daher nicht direkt für Anregung mit Wechselstrom geeignet.
Modelliert wurden folgende Eigenschaften:
- Rcoil: Spulenwiderstand
- Lcoil: Induktivität der Spule
- Von: Anzugsspannung (must operate voltage)
- Voff: Abfallspannung (must release voltage)
- Ron: Kontaktwiderstand
- Roff: Isolationswiderstand
- Tdelay: Delay-Zeit (Zeit vom Anliegen der Spulenspannung bis zum Öffnen des Ruhekontakts)
- Tfly: Flugzeit des Kontakts (Zeit vom Öffnen des Ruhekontakts bis zum Schließen des Arbeitskontakts (
Break-before-Make
). Anmerkung: diese Zeit kann nicht einfach negativ gewählt werden, um einen Folgewechsler (Make-before-Break
) zu realisieren!
Nicht modelliert wurde bisher insbesondere das Prellen der Kontakte.
Um das zu erläutern: Sie legen also die Spulenspannung an.
<Tdelay> später öffnet der Ruhekontakt.
Von da an ist keiner der Kontakte geschlossen.
Nach einer weiteren Zeit <Tfly> schließt dann der Arbeitskontakt
und der Schaltvorgang ist beendet.
Beim Wegnehmen der Spulenspannung läuft das analog umgekehrt ab.
Nach <Tdelay> öffnet der Arbeitskontakt, und einer weiteren Zeit
<Tfly> schließt der Ruhekontakt wieder.
<Von> ist die benötigte Mindestspannung für das Relais um Anzuziehen. Die Spulenspannung muss danach wieder unter <Voff> sinken, damit das Relais wieder abfällt.
Die Vorgabewerte entsprechen (abgesehen von einigen Schätzwerten, die nicht im Datenblatt stehen) in etwa dem Schrack SR4D mit 24V-Spule, können aber problemlos durch andere Werte überschrieben werden (Rechtsklick auf das Symbol des Relais und sie sehen das Fenster im rechten Bild. Dort können Sie Ihre Parameter eingeben (blaue Zeile, beispielhaft)).
Natürlich sind die Werte auch hier zu einem gewissen Grad idealisiert. Das Relais kann in der Realität auch schon bei geringerer Spannung anziehen oder auch schon etwas früher abfallen.
Bei langsamer Änderung der Spulenspannung (was man ohnehin vermeiden sollte) kann das relevant werden, aber das Modell sollte für die meisten Fälle alle relevanten Eigenschaften abbilden.
Der Zweck dieser relativ ausgefeilten Simulation war in einer Schaltung mit funktionaler Sicherheit
, in welcher der Schaltzustand des Relais in Abhängigkeit von seiner Ansteuerung überwacht werden musste. Hilfskontakte des zwangsgeführten Relais koppelten wieder in die Elektronik ein.
Nur so kann der Einfluss der Mechanik mit seinen Schaltzeiten auf die Elektronik zuverlässig simuliert werden. Nur so kann man relativ leicht überprüfen, was passiert, wenn ein Kontakt oxidiert ist (also trotz geschlossenem Kontakt keine leitende Verbindung besteht) oder er einfach klebt (verschweißt ist), das Relais also nicht schalten kann.
Das Modell kann aber natürlich auch einfacheren Zwecken oder auch nur zur Veranschaulichung dienen.
Laden Sie sich die LTSpice-Schaltung oder laden Sie Modell und Symbol zur direkten Verwendung in eigenen Simulationen herunter.
Kopieren Sie das Modell in Ihr sub-Verzeichnis und das Symbol in Ihr sym-Verzeichnis und Sie können es direkt in eigenen Schaltungen verwenden.
In dieser Test-Simulation können Sie die Funktion der Kontakte beobachten. Diese erfordert natürlich ein korrekt installiertes sub und asy. Hier wird das Relais mit einer langsamen 1 Hz-Sinusspannung betrieben und Sie können sehen, wann es anzieht, abfällt und Sie sehen die nicht-überlappende Funktion der Kontakte (break-before-make).
Und jetzt noch mit Prellen...
Ich habe das Modell weiter entwickelt so dass auch das Prellen der Kontakte dargestellt werden kann.
Natürlich kann das Prellen nur behavioral
sein und nicht das Abbild eines konkreten Bauteils, da es neben zufälligen Komponenten auch von vielen anderen Parametern wie Temperatur, Alterung, Schaltspannung, Einbaulage etc. abhängig ist.
Ein warmes Relais prellt anders als ein kaltes, ein neues prellt anders als ein altes usw... Wenn Sie mit Prellen simulieren wollen, stellen Sie hier einfach die Worst Case-Werte ein. Wenn es in der Realität weniger prellt wird dies normalerweise eher unkritisch sein.
Ich habe diese Erweiterung in ein eigenständiges Projekt überführt da deren Modellierung erheblich aufwändiger und nur selten von Bedeutung ist. Meist kann man das Prellen durch theoretische Überlegungen ausreichend berücksichtigen.
Das Prellen tritt mit meinem Modell nur beim Schließen eines Kontakts auf. Tatsächlich ist das auch in der Realität so. Beim Öffnen prellt der Kontakt nicht oder kaum.
Die Öffnung der Kontakte erfolgt nach <Tdelay> ohne Prellen.
Ich habe hier zwei Rauschquellen eingesetzt, damit die Kontakte nicht synchron prellen, wie man es auch auf dem Oszillogramm sehen kann.
Hier die Schaltung als lauffähige Simulation, das Modell ist bereits in der aktuellen Modell-Datei enthalten, und die dazu passende Testschaltung, die im Übrigen identisch mit der vorhergehenden ist. Sie müssen nur das Spice-Modell des Relais durch
Relay_2A2B_Bounce
ersetzen.
Dieses Modell hat einen zusätzlichen Parameter, den Sie möglicherweise anpassen möchten:
- Tbounce: die Prellzeit
Bekannte Probleme
Bedingt durch die einfache Eingangsschaltung mit einem Schmitt-Trigger genügen auch sehr kurze Impulse, um das Relais anziehen zu lassen, sofern die Spannung danach nicht unter die Abfall-Schwelle fällt. Überprüfen Sie daher den Verlauf der Spulenspannung bzw. -leistung, ob sie wirklich zum Anzug ausreicht!
Um die Problematik kurzer Spikes (wie sie häufig in Simulationen auftreten) zu entschärfen, wurde im Modell C1 und R2 hinzugefügt, die aber trotzdem keine zuverlässig realistische Funktion ergeben.
Wir haben hier ein behavioral model, das im Prinzip die wichtigsten Eigenschaften wiedergibt, aber kein Modell eines konkreten Bauteils sein kann.
In den meisten Fällen wird dies kein Problem darstellen, da die Spule entweder die volle Spannung erhält oder gar keine.
2025-10-10: Bis zu diesem Tag erzeugte das Modell eine Warnung in neueren LTSpice-Versionen. Diese war jedoch unkritisch und verhinderte nicht die korrekte Funktion. Inzwischen habe ich das Modell entsprechend korrigiert, beim aktuellen Download sollte diese nicht mehr auftauchen.
Dies ist nur eine Simulation. Ich habe diese Schaltung nie in der Realität aufgebaut. Die Verwendung erfolgt auf eigenes Risiko und Verantwortung.