Forum: Analoge Elektronik und Schaltungstechnik Ausschaltverzögerung für ein Relais


von Yves G. (ygoe)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte einen Rolloaktor bauen, der über mein eigenes Busprotokoll 
angesteuert wird und die Position der Rollläden sowie auch den Winkel 
der Raffstores intern verwalten kann, also nicht auf (unmögliche) exakte 
Timings der Ansteuerung über einen Bus (ohne Kollisionsverhinderung) und 
von einem Linux-Controller angewiesen ist. Meines Wissens nach gibt es 
sowas noch nicht. Das wird aber nur ein privates Projekt, der ganze 
Zertifizierungskram für CE und WEEE ist mir zu viel.

Die grundsätzliche Schaltung mit einem Schließer- und einem dahinter 
geschalteten Wechsler-Relais ist mir bekannt. Den Rest macht dann die 
Firmware. Soweit funktioniert das also im Sunshine-Case. Damit wird 
zumindest verhindert, dass beide Leitungen des Motors gleichzeitig 
bestromt werden.

Daneben möchte ich folgende Fälle aus der Kategorie „Safety“ 
berücksichtigen:

1. Die minimale Umschaltzeit der Richtungen soll eingehalten werden. Das 
macht die Firmware.
2. Beim Ausfall des Mikrocontrollers (alle GPIOs sofort auf Low) soll 
verhindert werden, dass das Wechsel-Relais vor dem Freigabe-Relais 
ausschaltet, was zu einer Unterschreitung der Umschaltzeit führen würde, 
und danach gleich wieder zur Abschaltung. Relais haben Toleranzen, das 
kann also passieren.
3. Beim Ausfall der Versorgungsspannung des Geräts soll das ebenfalls 
verhindert werden.

Zur Abschaltverzögerung findet man regelmäßig Schaltungen mit einem 
Kondensator, oft vor dem Schalttransistor. Das wäre aber nur für 
Bedingung 2 ausreichend. Um auch Bedingung 3 zu erfüllen, müsste der 
Kondensator wohl hinter dem Transistor hängen, also direkt am Relais.

Die Verzögerung soll mindestens so lang sein, wie die beiden Relais sich 
in ihrer Abschaltverzögerung und -dauer unterscheiden (Toleranzen), aber 
höchstens 100 ms, damit ein zügiger Richtungswechsel ab 200 ms möglich 
bleibt.

Anbei ein Bild meiner bisherigen Testschaltung, ohne diese 
Safety-Anforderungen. Relais K1 schaltet an oder ab, Relais K2 stellt 
die Richtung ein und darf nur bei ausgeschaltetem K1 umgeschaltet 
werden. Relais K2 soll in Hardware sicher ausschaltverzögert werden, 
ohne Relais K1 zu beeinflussen. Ein Kondensator parallel zu K2 würde 
aber wohl auch K1 mitversorgen, wäre so also nutzlos.

Jetzt stellt sich mir die Frage, wie man das umsetzen müsste. Dioden 
irgendwo rein? Widerstände? (Spannungsabfall in beiden Fällen?) Aus 
anderen Threads hier entnehme ich, dass das erstens nicht so einfach ist 
und es zweitens verschiedene Meinungen (oder Kenntnisstände) darüber 
gibt. Ich hoffe, da etwas schlauer zu werden.

Weitere Eckdaten: Ein Gerät soll 8 Rollos steuern können, in ein 
REG-Gehäuse mit 6 TE passen und wird mit 12 V betrieben. Ich werde zwei 
davon verbauen. Später soll alles als OSHW veröffentlicht werden.

von Nemopuk (nemopuk)


Lesenswert?

Mit 1 nF wirst du nichts spürbares bewirken. Da werden eher einige 
hundert uF nötig sein. Allerdings wird es den Transistoren wohl nicht 
gut tun, so viel Ladung kurz zu schließen.

Bei deinen Punkten 2 und 3 übertreibst du meiner Meinung nach. Halbwegs 
vernünftige Antriebe sollten solche seltene und kurze Ereignisse 
vertragen.

: Bearbeitet durch User
von Yves G. (ygoe)


Lesenswert?

Nemopuk schrieb:
> Mit 1 nF wirst du nichts spürbares bewirken.

Der C1 und C2 dient einem anderen Zweck, siehe Kommentar im Schema. Habe 
ich an anderer Stelle von jemandem gelernt, der sich scheinbar sehr gut 
mit Transistoransteuerung von Relais auskennt. Dürfte wohl eine 
Detailoptimierung sein. Aber wenn ich einen Fehler leicht ausschließen 
kann, dann mache ich das.

Die gewünschte Verzögerung ist in dieser Schaltung wie gesagt noch gar 
nicht enthalten. Dass ich eine Kapazität im Bereich von 10 bis 100 µF 
brauche, habe ich schon erwartet. Den genauen Wert kann ich 
ausprobieren. Aber wie muss die da genau eingebaut werden, damit sie wie 
gewünscht wirkt?

von Nemopuk (nemopuk)


Lesenswert?

Yves G. schrieb:
> Aber wie muss die da genau eingebaut werden, damit sie wie gewünscht
> wirkt?

Ich würde das gar nicht in Hardware implementieren, weil ein simpler 
Tiefpass vor dem Transistor alle Schaltvorgänge verzögert. Du willst 
aber nicht verzögern, sonder zu schnelle Wechsel unterbinden. Das macht 
man besser in der Software.

von Yves G. (ygoe)


Lesenswert?

Nemopuk schrieb:
> Bei deinen Punkten 2 und 3 übertreibst du meiner Meinung nach. Halbwegs
> vernünftige Antriebe sollten solche seltene und kurze Ereignisse
> vertragen.

Das nehme ich auch mal als Antwort, bin jedoch auf weitere Meinungen 
gespannt. In der Anleitung eines der Motoren steht, dass zumindest die 
Bestromung beider Leiter „auch im Millisekunden-Bereich“ den Motor 
zerstören kann. Zu zu schnellen Richtungswechseln habe ich nirgends eine 
Aussage gefunden. Falls es nur ein mechanisches und kein elektrisches 
Problem ist, dürfte die kurze Zeit tatsächlich nicht viel ausmachen, da 
sich da nicht mehr viel Masse in Bewegung setzt.

Kann schon sein, dass ich diese Sicherheitsfunktion nicht brauche. Falls 
sie mit geringem Aufwand umzusetzen wäre, würde ich es mir trotzdem 
überlegen.

von Yves G. (ygoe)


Lesenswert?

Nemopuk schrieb:
> Ich würde das gar nicht in Hardware implementieren, (...). Das macht
> man besser in der Software.

Ja, Software kümmert sich um die Sunshine-Fälle, in denen die Software 
die volle Kontrolle behält.

Es geht mir um den Fall, dass die Software während einer Motorfahrt 
abstürzt oder die Versorgungsspannung wegfällt. In diesen Fällen macht 
man mit Software vermutlich nichts mehr. Deshalb in Hardware.

von Heinz R. (heijz)


Lesenswert?

warum macht man das heutzutage noch wenn es fertige günstige und sichere 
Lösungen wie Shelly gibt?

Eigenes Protokoll?  Evtl. mal generell auf MQTT wechseln?

von Yves G. (ygoe)


Lesenswert?

Heinz R. schrieb:
> Eigenes Protokoll?  Evtl. mal generell auf MQTT wechseln?

Und wie bekomme ich den Raffstore damit zuverlässig auf eine bestimmte 
Höhe gefahren und danach den ursprünglichen Lamellenwinkel wieder exakt 
eingestellt? Oder allgemein bei mehreren kurzen Fahrten die aktuelle 
Position noch getrackt? Deshalb soll das der µC in Echtzeit machen und 
das bietet so niemand an. MQTT läuft über TCP/IP, bei Shelly zudem noch 
über WLAN. Immer mehr Jitter. Shelly macht auch nur einen Rollo pro 
Gerät, das wird teuer.

von Manfred P. (pruckelfred)


Lesenswert?

Nemopuk schrieb:
> Das macht man besser in der Software.

Heinz R. schrieb:
> warum macht man das heutzutage noch wenn es fertige günstige und sichere
> Lösungen wie Shelly gibt?

Er möchte funktionale Sicherheit und keinen smarten Spielekram!

Oder, für Euch vereinfacht: Es soll kein Schaden entstehen, wenn sich 
die Software falsch verhält.

von Werner H. (werner45)


Lesenswert?

Die klassische Relaisschaltung dazu:
Elko parallel zur Relaiswicklung, Diode in die Kollektorleitung.

von Jörg R. (solar77)


Lesenswert?

Yves G. schrieb:
> (..)
> Ein Kondensator parallel zu K2 würde
> aber wohl auch K1 mitversorgen, wäre so also nutzlos.

Ein Kondensator parallel zur Relaiswicklung sorgt für eine Anzugs- und 
Abfallverzögerung. Das Relais schaltet langsam ein und langsam aus, was 
für schnelleren Kontaktabbrand sorgen kann. Zudem bilden der C und L vom 
Relais einen Schwingkreis.

Das Problem musst du in der Ansteuerung der Relais lösen, also vor dem 
Transistor.

von Yves G. (ygoe)


Lesenswert?

Werner H. schrieb:
> Elko parallel zur Relaiswicklung, Diode in die Kollektorleitung.

Elko ist klar. Wo die Diode hinsoll, habe ich nicht verstanden. Meinst 
du eine Diode zwischen Relais und Transistor? An welchem der 3 
Abschnitte?

von Yves G. (ygoe)


Lesenswert?

Jörg R. schrieb:
> Ein Kondensator parallel zur Relaiswicklung sorgt für eine Anzugs- und
> Abfallverzögerung.

Ich hätte erwartet, dass der C (ohne R) unabhängig und schnell auflädt, 
ohne das Relais aufzuhalten. Beim Abschalten kann er das Relais aber 
noch einen Moment versorgen. Das ergäbe nur eine Abschalt-, aber keine 
Einschaltverzögerung. Mit R kann man andere Effekte erzielen.

> Das Relais schaltet langsam ein und langsam aus, was
> für schnelleren Kontaktabbrand sorgen kann.

Hab ich auch schon von gelesen. Dieses Wechselrelais darf sowieso nicht 
unter Last geschaltet werden, weil das einen zu schnellen 
Richtungswechsel des Motors zur Folge hätte. Ist hier also unkritisch.

> Zudem bilden der C und L vom Relais einen Schwingkreis.

Und was sind die unerwünschten Folgen hier?

> Das Problem musst du in der Ansteuerung der Relais lösen, also vor dem
> Transistor.

Damit kann aber der Wegfall der Versorgungsspanung nicht gepuffert 
werden, weil eine längere Ansteuerung ohne längere Versorgung des Relais 
keinen Effekt hat. (Oder?)

von Jörg R. (solar77)


Lesenswert?

Yves G. schrieb:
> Jörg R. schrieb:
>> Ein Kondensator parallel zur Relaiswicklung sorgt für eine Anzugs- und
>> Abfallverzögerung.

> Ich hätte erwartet, dass der C (ohne R) unabhängig und schnell auflädt,
> ohne das Relais aufzuhalten.

Der C müsste schon so groß sein dass er das Relais für deine gewünschte 
Verzögerung versorgt. Selbst wenn er nicht besonders groß sein muss 
braucht er seine Zeit. Er bildet beim Zuschalten der Versorgungsspannung 
übrigens einen erstmal einen Kurzschluss der Versorgungsspannung da er 
nicht über einen Widerstand aufgeladen wird. Einzig CE vom Transistor 
liegt dazwischen.

> Beim Abschalten kann er das Relais aber noch einen Moment versorgen.
> Das ergäbe nur eine Abschalt-, aber keine Einschaltverzögerung.

K1 hätte auch eine Einschaltverzögerung. Und da über den Kontakt von K1 
der Motor versorgt wird, egal ob auf oder ab, ist das von Nachteil für 
K1.


>> Das Relais schaltet langsam ein und langsam aus, was
>> für schnelleren Kontaktabbrand sorgen kann.

> Hab ich auch schon von gelesen. Dieses Wechselrelais darf sowieso nicht
> unter Last geschaltet werden, weil das einen zu schnellen
> Richtungswechsel des Motors zur Folge hätte. Ist hier also unkritisch.

Nein, siehe oben.


Yves G. schrieb:
> Die Verzögerung soll mindestens so lang sein, wie die beiden Relais sich
> in ihrer Abschaltverzögerung und -dauer unterscheiden (Toleranzen), aber
> höchstens 100 ms, damit ein zügiger Richtungswechsel ab 200 ms möglich
> bleibt.

Ich würde die Zeit für den Richtungswechsel >>200ms auslegen. So eine 
kurze Zeit macht für ein Rollo keinen Sinn.

Werden die Motoren über DC versorgt? Dann könnte man überlegen K1/Q1 
durch einen schnellen Mosfet zu ersetzen.

: Bearbeitet durch User
von Helmut H. (helmuth)


Lesenswert?

Relais 1 verbindet wenn angezogen Motor_In mit Motor_Up.
Relais 2 verbindet wenn angezogen Motor_In mit Motor_Down.
Falls gewünscht könnte man über weitere Kontakte beide Relais 
gegenseitig verriegeln so dass garantiert nie beide gleichzeitig an 
sind.

: Bearbeitet durch User
von Harald A. (embedded)


Lesenswert?

Yves G. schrieb:
> Der C1 und C2 dient einem anderen Zweck, siehe Kommentar im Schema.

Du schreibst „smoothens the coil pulse“. Welcher „Pulse“ soll da kommen, 
Du hast doch die Freilaufdioden. Ein Pulse kommt nur, wenn diese nicht 
vorhanden sind. Zumindest in Durchlassrichtung ist die Diode sehr 
schnell.

: Bearbeitet durch User
von Roland D. (roland_d284)


Lesenswert?

Moin,

Harald A. schrieb:
> Yves G. schrieb:
>> Der C1 und C2 dient einem anderen Zweck, siehe Kommentar im Schema.
>
> Du schreibst „smoothens the coil pulse“. Welcher „Pulse“ soll da kommen,
> Du hast doch die Freilaufdioden. Ein Pulse kommt nur, wenn diese nicht
> vorhanden sind. Zumindest in Durchlassrichtung ist die Diode sehr
> schnell.

Wenn man abschaltet, springt die Spannung am Transistor auf 
Versorgungsspannung plus Diodenflussspannung. Und das in der 
Abschaltphase, in der der Transistor noch ein bisschen leitfähig ist. 
Also viel Abschaltverlust. Den kann der Kondensator verringern, ein 
Snubber quasi.

Aber ob das nötig ist, ist wohl fraglich, schließlich wird ja eher 
selten geschaltet und ein Schaltvorgang macht den Transistor nicht 
kaputt.

Gruß, Roland

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Roland D. schrieb:
> springt die Spannung am Transistor auf Versorgungsspannung plus
> Diodenflussspannung. Und das in der Abschaltphase, in der der Transistor
> noch ein bisschen leitfähig ist. Also viel Abschaltverlust.
Solange das nicht 1000 mal pro Sekunde passiert, würde ich mir da keinen 
Kopf machen.

> Den kann der Kondensator verringern, ein Snubber quasi.
Dann sollte man aber keinen "Quasi-Snubber" einbauen, sondern einen 
richtigen. Denn so wie der Kondensator grade eingebaut ist, sorgt der 
für genau diese hohen Schaltverluste dann eben beim Einschalten.

Fazit: den 10k Basiswiderstand vernünftig niederohmig machen und den 
Kondensator raus. Funktioniert zigmilliardenmal in vielerlei Geräten.

Yves G. schrieb:
> Habe ich an anderer Stelle von jemandem gelernt, der sich scheinbar
> sehr gut mit Transistoransteuerung von Relais auskennt.
Und scheinbar in einem Graubereich auch Angst hat und deshalb "zu viel 
des Guten" macht. Mich wundert, dass der keinen BE-Widerstand vorsieht, 
damit auch bei irgendwelchen Leckströmen die Transistoren z.B. im 
Resetfall sicher abgeschaltet sind.

Yves G. schrieb:
> In der Anleitung eines der Motoren steht, dass zumindest die Bestromung
> beider Leiter „auch im Millisekunden-Bereich“ den Motor zerstören kann.
Zeig doch mal. Welcher "ms-Bereich" da gemeint ist. Einstellig, 
zweistellig oder dreistellig?

Yves G. schrieb:
> Wechsel-Relais ... Freigabe-Relais
Warum nimmst du nicht statt dieser Wechsel-Freigabe-Kombination einfach 
einen Rauf-Runter-Kombination. Die beiden Relais kann man dann recht 
einfach mit einem Doppelwechsler gegenseitig verriegeln (und zwar so 
richtig hardwaremäßig, dass das eine Relais sicher erst dann einschalten 
kann, wenn das andere samt aller Toleranzen sicher abgefallen ist) und 
so dafür sorgen, dass nie beide Wicklungen bestromt sind.
1
+ ----------------o--------------------------o--
2
                  |_                         |_
3
                   / K2                       / K1   
4
                  |                          |       
5
              K1 [/]                     K2 [/]      
6
                  |                          |       
7
                |/                         |/        
8
rauf ---1k--o---|        runter ---1k--o---|         
9
            |   |>                     |   |>        
10
           10k    |                   10k    |       
11
            |     |                    |     |       
12
GND --------o-----o--------------------o-----o---
13
14
15
                                  .------ MOTOR_UP
16
                                  |
17
                              K1 \
18
                                  |
19
                                  o------ MOTOR_IN
20
                                  | 
21
                              K2 \
22
                                  |
23
                                  '------ MOTOR_DOWN

Yves G. schrieb:
> im Schema
Das ist kein "Schema", sondern ein "Schaltplan". Aber bei französischem 
Vornamen drücke ich da mal ein Auge zu... ;-)

: Bearbeitet durch Moderator
von Yves G. (ygoe)



Lesenswert?

Jörg R. schrieb:
>>> Das Relais schaltet langsam ein und langsam aus, was
>>> für schnelleren Kontaktabbrand sorgen kann.
>
>> Hab ich auch schon von gelesen. Dieses Wechselrelais darf sowieso nicht
>> unter Last geschaltet werden, weil das einen zu schnellen
>> Richtungswechsel des Motors zur Folge hätte. Ist hier also unkritisch.
>
> Nein, siehe oben.

Habe ich leider nicht verstanden. Für mich ist das Schalten eines 
Relais, über das kein Strom fließt, harmlos.

> Ich würde die Zeit für den Richtungswechsel >>200ms auslegen. So eine
> kurze Zeit macht für ein Rollo keinen Sinn.

Der Raffstore-Motor erlaubt 200 ms Umschaltzeit. Der für die Rollos 500 
ms.

> Werden die Motoren über DC versorgt? Dann könnte man überlegen K1/Q1
> durch einen schnellen Mosfet zu ersetzen.

Nein, 230 V AC.

Lothar M. schrieb:
> Zeig doch mal. Welcher "ms-Bereich" da gemeint ist. Einstellig,
> zweistellig oder dreistellig?

Steht da nicht. Da steht genau das. Das ist eine Anleitung von Warema, 
habe sie angehängt, da ich sie online nicht gefunden habe. Kommt aber 
von online.

> Yves G. schrieb:
>> Wechsel-Relais ... Freigabe-Relais
> Warum nimmst du nicht statt dieser Wechsel-Freigabe-Kombination einfach
> einen Rauf-Runter-Kombination. Die beiden Relais kann man dann recht
> einfach mit einem Doppelwechsler gegenseitig verriegeln (und zwar so
> richtig hardwaremäßig, dass das eine Relais sicher erst dann einschalten
> kann, wenn das andere samt aller Toleranzen sicher abgefallen ist) und
> so dafür sorgen, dass nie beide Wicklungen bestromt sind.

Das sind dann wieder aufwändigere, vermutlich auch teurere und größere 
Relais. Außerdem würde ich mal schauen, ob man Klein- und Niederspannung 
an beiden Kontakten gemeinsam betreiben darf. Das Relais wird mit 12 V 
angesteuert, das kann ich bestenfalls noch auf 24 V ändern, die Motoren 
aber mit 230 V AC. Da möchte ich schon einen Abstand zwischen haben. Mit 
PCB-Schlitz zwischen beiden Spannungen. Das geht mit dieser Schaltung 
nicht mehr.

> Yves G. schrieb:
>> im Schema
> Das ist kein "Schema", sondern ein "Schaltplan". Aber bei französischem
> Vornamen drücke ich da mal ein Auge zu... ;-)

KiCad nennt es Schema, zumindest intern oder auf englisch. Kann ich aber 
in Zukunft vermeiden. ;-)

von Heinz R. (heijz)


Lesenswert?

Manfred P. schrieb:
> Er möchte funktionale Sicherheit und keinen smarten Spielekram!
>
> Oder, für Euch vereinfacht: Es soll kein Schaden entstehen, wenn sich
> die Software falsch verhält.

so was halst Du für Spielkram?

https://shellyparts.de/products/shelly-pro-dual-cover-shutter-pm?variant=44446109729035

von Stefan N. (stefan-n)


Angehängte Dateien:

Lesenswert?

Hi,

ich stand vor einer ähnlichen Thematik: ich wollte die Relaisansteuerung 
ohne Microcontroller lösen (falls "SW-Problem" im allgemeinen) und habe 
es mit Logik-ICs gelöst. Dazu gab es hier auch mal einen Thread dazu 
(Beitrag "Rolladensteuerung mit 74xx").

Als Anregung ein Schaltplanausschnitt. Beim Einschalten wird zuerst das 
Relais für die Richtung geschaltet (sofern nötig), dann das Relais für 
die Versorgung; beim Abschalten zuerst die Versorgung abgeschaltet, dann 
das Relais für die Richtung.

Ich habe das dann noch mit Logik erweitert, so dass ich entweder per 
externem Schalter/Taster oder mit einem EPS8266 die Rolladenfahrt 
auslösen kann.

Grüße

von Rolf (rolf22)


Lesenswert?

Yves G. schrieb:
> Ich hätte erwartet, dass der C (ohne R) unabhängig und schnell auflädt,
> ohne das Relais aufzuhalten

Da gibt es doch die Grundregel: An C kann sich die Spannung nicht 
sprunghaft ändern, an L kann sich der Strom nicht sprunghaft ändern. In 
beiden Fällen spielt sich das gemäß einer e-Funktion ein.

Ohne R wird der Strom beim Einschalten durch C so hoch, dass der 
Spannungsabfall an den Drähten und am Innenwiderstand der Quelle 
deutlich spürbar wird. Also bekommt das Relais zunächst weniger Spannung 
und zieht verzögert an.

von Rainer W. (rawi)


Lesenswert?

Stefan N. schrieb:
> Als Anregung ein Schaltplanausschnitt. Beim Einschalten wird zuerst das
> Relais für die Richtung geschaltet (sofern nötig), dann das Relais für
> die Versorgung; beim Abschalten zuerst die Versorgung abgeschaltet, dann
> das Relais für die Richtung.

Um solche Anforderungen für die Schaltlogik zu vermeiden, gibt es die 
bekannte Rolladensteuerung, wie sie für Handbedienung über zwei 
Tastschalter verwendet wird, ein Taster 1xUm fürs Hochfahren und einer 
fürs Runterfahren. Versehentliches direktes Umschalten der 
Fahrtrichtung, wie es bei Verwendung eines dedizierten 
Richtungsschalters passieren kann, ist damit ausgeschlossen, 
versehentliche gleichzeitige Aktivierung beider Richtung ebenfalls.

: Bearbeitet durch User
von Jörg R. (solar77)


Lesenswert?

Rainer W. schrieb:
> Stefan N. schrieb:
>> Als Anregung ein Schaltplanausschnitt. Beim Einschalten wird zuerst das
>> Relais für die Richtung geschaltet (sofern nötig), dann das Relais für
>> die Versorgung; beim Abschalten zuerst die Versorgung abgeschaltet, dann
>> das Relais für die Richtung.
>
> Um solche Anforderungen für die Schaltlogik zu vermeiden, gibt es die
> bekannte Rolladensteuerung, wie sie für Handbedienung über zwei
> Tastschalter verwendet wird, ein Taster 1xUm fürs Hochfahren und einer
> fürs Runterfahren. Versehentliches direktes Umschalten der
> Fahrtrichtung, wie es bei Verwendung eines dedizierten
> Richtungsschalters passieren kann, ist damit ausgeschlossen,
> versehentliche gleichzeitige Aktivierung beider Richtung ebenfalls.

Dem TO geht es nicht um die Schaltlogik. Es geht darum in welcher 
Reihenfolge die Relais bei einem Stromausfall abfallen.

von Jürgen C. (cjr)


Angehängte Dateien:

Lesenswert?

Hallo,
ich würde die Schaltung wie im Bild ändern.
Dann wäre es egal wie die Relais abfallen oder angesteuert werden.
Der Rest in Software.

Gruß Jürgen

ist wohl das was rawi meint.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Jörg R. schrieb:
> Dem TO geht es nicht um die Schaltlogik. Es geht darum in welcher
> Reihenfolge die Relais bei einem Stromausfall abfallen.

Doch, der genannten Schaltung ist die Abfallverzögerung der Relais bei 
einem Stromausfall völlig egal, weil sowieso nur eins gleichzeitig aktiv 
ist.

Jürgen C. schrieb:
> ist wohl das was rawi meint.

Genau das ...

: Bearbeitet durch User
von Yves G. (ygoe)


Lesenswert?

Jürgen C. schrieb:
> ich würde die Schaltung wie im Bild ändern.
> Dann wäre es egal wie die Relais abfallen oder angesteuert werden.
> Der Rest in Software.

Huh, das sieht interessant aus, sowas habe ich noch nicht gesehen. 
Dürfte aber alle Probleme lösen, schätze ich.

Gleichzeitig kann ich den Punkt 2 von oben (Ausfall des 
Mikrocontrollers, alle GPIOs sofort auf Low) von der Liste streichen. 
Die Relais werden (wegen der Anzahl) über einen IO-Expander angesteuert, 
der über I²C angebunden ist. Bei einem Softwarefehler habe ich heute 
beobachtet, dass der µC abstürzt, die Relais aber unverändert bleiben, 
bis der µC sie beim Booten wieder (kontrolliert) initialisiert. Hier 
kann also nichts passieren, ich müsste nur die Initialisierung nach 
einem Fehler in der richtigen Reihenfolge durchführen statt blind der 
Reihe nach.

Ich würde meine Schaltung etwa so beschreiben:
1
if (on)
2
{
3
    if (up)
4
    {
5
        UP();
6
    }
7
    else   // Kann jederzeit wechseln
8
    {
9
        DOWN();
10
    }
11
}
12
else
13
{
14
    // Nichts
15
}

Die andere Verschaltung von Jürgen ist eher das hier:
1
if (up)
2
{
3
    UP();
4
}
5
else if (down)   // (1)
6
{
7
    DOWN();   // Geht nur, wenn nicht auch up ist
8
}
9
else
10
{
11
    // Nichts
12
}

(1) An dieser Stelle könnte theoretisch auch jederzeit ein 
Richtungswechsel stattfinden, aber nur, wenn up und down beide per 
Software aktiviert wurden, was bei korrekter Programmierung mit 
Umschaltpause normalerweise nicht passieren soll. Falls es doch 
passiert, verhindert die Hardware die gleichzeitige Dauerbestromung 
beider Richtungen und ist in dem Zustand nur für den Ausfall der 
Spannungsversorgung anfällig (sonst nicht). Diese Einzelfehlersicherheit 
erscheint mir ausreichend.

Die primitive Schaltung ohne gegenseitige Verriegelung wäre das hier:
1
if (up)
2
{
3
    UP();
4
}
5
if (down)   // Beides gleichzeitig möglich
6
{
7
    DOWN();
8
}

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.