Forum: Mikrocontroller und Digitale Elektronik Steuerung Heizelement mit SSR


von Paul H. (pauleheisster)


Lesenswert?

Hallo Zusammen,

für die Steuerung dieses Heizelements mittels Arduino:
https://www.massinger-ulm.de/epages/61366570.sf/de_DE/?ObjectPath=/Shops/61366570/Products/4055105961
nutze ich folgendes SSR:
https://www.reichelt.de/solid-state-relais-ust-2-32vdc-ulast-24-280v-ra-2425-d06-p22691.html?GROUPID=7626&SEARCH=D2425&trstct=pos_0&&r=1


Anfangs war ich etwas skeptisch ob der SSR nicht zuviel Strom zieht, 
allerdings zeigt das Messgerät nur 0,2 µA an.
Somit betreibe ich das ganze direkt vom Arduino aus. Denkt ihr das 
stellt ein Problem dar?
Das ein PWM Signal zu schnell schaltet für den SSR, habe ich mir fast 
gedacht. Setze ich die PWM-Frequenz allerdings auf die niedrigste 
mögliche Frequenz von 61 Hz, so kann ich beim Test mit einer Lampe 
zwischen 0 - 255 ein Blinken bis Leuchten (bei 255) der Lampe erreichen. 
Höhere PWM-Frequenzen sind wohl zu schnell für das SSR.

Das SSR besitzt eine Nulldurchgangerkennung und schaltet somit immer 
erst beim Nulldurchgang der Wechselspannung. Dementsprechend passiert es 
bei sehr geringer Blinkfrequenz, dass ab und an ein Blinken verloren 
geht.

Nun zu meinen Fragen: Das Heizelement selbst ist ja recht träge. Würdet 
ihr also ein perfides Ein- und Ausschalten über Timer realisieren? Also 
z.B. für 50 % der Leistung 4 sec. anschalten und 4 sec. ausschalten. Wie 
könnte ich dies realisieren wenn ich im Hauptprogramm auch noch 
zeitintensive Tätigkeiten wie DS18B20 Sensor auslesen habe? Eine 
einfache If-Abfrage der Zeit würde da teilweise zu längeren An- und 
Ausschaltzeiten führen, weil der Mikrocontroller ja noch mit Auslesen 
des Sensors beschäftigt ist? Vielleicht über Interrupt?

In einer Anleitung klemmt ein User des Weiteren ein Widerstand zwischen 
die zwei Eingänge des SSR:
https://www.microcontroller-project.com/uploads/2/2/1/5/22159166/ssr-with-arduino-and-dht22-sensor_orig.png

Was genau ist denn der Zweck dahinter?

Viele Grüße

Pauleheisster

von MaWin (Gast)


Lesenswert?

Paul H. schrieb:
> Würdet
> ihr also ein perfides Ein- und Ausschalten über Timer realisieren? Also
> z.B. für 50 % der Leistung 4 sec. anschalten und 4 sec. ausschalten.

Ja, Wellenpaketsteuerung ist für Heizungen sowieso vorgeschrieben.

> Wie
> könnte ich dies realisieren wenn ich im Hauptprogramm auch noch
> zeitintensive Tätigkeiten wie DS18B20 Sensor auslesen habe?

Einfach programmieren ? Musst du das erst lernen ? Kaufe fertigen 
thermostaten.

Paul H. schrieb:
> für die Steuerung dieses Heizelements

Hat immerhin eine Übertemperatursicherung (im Silikonschlauch), aber 
zusätzlich einen Thermostaten (Klixon), letztern willst du dann wohl 
ausbauen (überbrücken).

Ausserdem trennen SSR nicht perfekt, man sollte noch einen allpolig 
abschaltenden Hauptschalter haben.

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


Lesenswert?

Paul H. schrieb:
> Anfangs war ich etwas skeptisch ob der SSR nicht zuviel Strom zieht,
> allerdings zeigt das Messgerät nur 0,2 µA an.
Das dort verlinkte Datenblatt spricht aber andere Worte mit 900 Ohm 
Innenwiderstand und max. 34mA Steuerstrom. Du dürftest da also noch 
irgendwie einen Mess- oder Schaltungsfehler drin haben...

von Äxl (geloescht) (Gast)


Lesenswert?

Lothar M. schrieb:
> 900 Ohm
> Innenwiderstand und max. 34mA Steuerstrom.

ich lese 1.5Kohm
macht an 5V (oder 3V3) Steuerspannung kanapp zweinhalb Milliampere (bei 
ca.1V Flussspannung der IR-LED [4V/1500R]).Aber bin scherlich wieder in 
der falschen Zeile der Tabelle im Datenblatt ;)

von Paul H. (pauleheisster)


Lesenswert?

MaWin schrieb:
> Einfach programmieren ? Musst du das erst lernen ? Kaufe fertigen
> thermostaten.

Hatte ich natürlich ganz vergessen, dass man im Umgang mit Arduino 
Programmierkenntnisse haben muss. Werde dies natürlich umgehend 
nachholen.

Spaß beiseite. Wie beschrieben habe ich im Hauptprogramm zeitintensive 
Aufgaben (Sensor auslesen) mit denen der Arduino länger beschäftigt ist.
Hat jemand eine Idee wie ich das Programmiertechnisch realisieren 
könnte, dass der Arduino kurz das auslesen unterbricht und den Pin auf 
ein bzw. aus stellt und anschließend weitarbeitet?

Lothar M. schrieb:
> Das dort verlinkte Datenblatt spricht aber andere Worte mit 900 Ohm
> Innenwiderstand und max. 34mA Steuerstrom. Du dürftest da also noch
> irgendwie einen Mess- oder Schaltungsfehler drin haben...

Gut, dass ich nochmal nachgemessen habe. Hatte wohl gestern ein Mess- 
oder Schaltungsfehler.

Äxl (geloescht) schrieb:
> ich lese 1.5Kohm
> macht an 5V (oder 3V3) Steuerspannung kanapp zweinhalb Milliampere (bei
> ca.1V Flussspannung der IR-LED [4V/1500R]).Aber bin scherlich wieder in
> der falschen Zeile der Tabelle im Datenblatt ;)

Absolut richtig. Das habe ich auch aus dem Datenblatt gezogen. Und 2,5 
mA messe ich jetzt auch!

von Äxl (geloescht) (Gast)


Lesenswert?

Dann setz dein PWM-Vorteiler  soweit herunter, wie es geht, stell den 
einmalig ein und lass den im Hintergrund ackern. Deine Zeitintensiven 
berechnungen ( welche das wohl sein können?) machst Du in der 
Hauptschleife und übergibts, wenn Du fertig bist, den aktualisierten 
Wert fürs OCR1n Register. Um die Ausgabe kümmert sich der µC im 
Hintergrund...

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


Lesenswert?

Äxl (geloescht) schrieb:
> ich lese 1.5Kohm
Ja  putzig: zwei Datenblätter, die sich nicht nur in der Sprache, 
sondern auch in den Daten unterscheiden...  :-/

von Amateur (Gast)


Lesenswert?

Einen Nullspannungsschalter mit PWM ansteuern ist Unsinn!

Ein langsamer 2-Punkt-Regler oder gleich eine Schwingungspaketsteuerung 
sind hier sinnvoll.

Ich weiß, die Erbsenzähler werden gleich sagen: "Ich benutze eine aber 
PWM mit einer Schaltfrequenz im Sekundenbereich…".

von Karl K. (karl2go)


Lesenswert?

Amateur schrieb:
> Ich weiß, die Erbsenzähler werden gleich sagen: "Ich benutze eine aber
> PWM mit einer Schaltfrequenz im Sekundenbereich…".

Was dennoch dazu führen kann...
... dass bei bestimmten PWM-Werten eine Schwebung auftritt, was unschöne 
Geräusche erzeugt.
... dass regelmäßig mehr positive als negative Halbwellen am Gerät 
landen, was einer Heizung nix ausmacht, ein Motor oder Trafo nimmt das 
übel.

von Paul H. (pauleheisster)


Lesenswert?

Lothar M. schrieb:
> Äxl (geloescht) schrieb:
>> ich lese 1.5Kohm
> Ja  putzig: zwei Datenblätter, die sich nicht nur in der Sprache,
> sondern auch in den Daten unterscheiden...  :-/

Ja sehr vertrauenswürdig das ganze :D

Äxl (geloescht) schrieb:
> Dann setz dein PWM-Vorteiler  soweit herunter, wie es geht, stell den
> einmalig ein und lass den im Hintergrund ackern. Deine Zeitintensiven
> berechnungen ( welche das wohl sein können?) machst Du in der
> Hauptschleife und übergibts, wenn Du fertig bist, den aktualisierten
> Wert fürs OCR1n Register. Um die Ausgabe kümmert sich der µC im
> Hintergrund...

War mein Plan, bin damit aber irgendwie nicht so ganz zufrieden, da bei 
sehr geringen analogeWrite-Werten ab und zu wohl Wellen übersprungen 
werden. Sollte der "Fehler" bei sehr langen Periodendauern bzw. bei 
Schaltfrequenzen im Sekundenbereich (z.B. 8 sec) nicht mehr vorhanden 
sein oder habe ich ein Denkfehler?

Amateur schrieb:
> Ein langsamer 2-Punkt-Regler oder gleich eine Schwingungspaketsteuerung
> sind hier sinnvoll.

Kann ich doch mit dem SSR mit Nulldurchgangserkennung realisieren oder?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Du kanst z.B. auch einen Timer/Counter mit den 50Hz takten und dann eine 
8-bit PWM aufsetzen, die 255/50, also etwa 5 Sekunden Periode hat. Der 
Wert im OCR bestimmt die 'An' Zeit.

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


Lesenswert?

Amateur schrieb:
> Einen Nullspannungsschalter mit PWM ansteuern ist Unsinn!
Wenn nicht diese "PWM" eine Zykluszeit von ein paar Sekunden hat...

Edit: nur Zweiter... ?

: Bearbeitet durch Moderator
von Paul H. (pauleheisster)


Lesenswert?

Matthias S. schrieb:
> Du kanst z.B. auch einen Timer/Counter mit den 50Hz takten und
> dann eine
> 8-bit PWM aufsetzen, die 255/50, also etwa 5 Sekunden Periode hat. Der
> Wert im OCR bestimmt die 'An' Zeit.

Na das klingt doch super! Werde ich mich mal drin versuchen.


Kann mir noch jemand sagen für was der Widerstand zwischen Pin 3 und 4 
des SSR gut sein soll?
https://www.microcontroller-project.com/uploads/2/2/1/5/22159166/ssr-with-arduino-and-dht22-sensor_orig.png

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Paul H. schrieb:
> Kann mir noch jemand sagen für was der Widerstand zwischen Pin 3 und 4
> des SSR gut sein soll?

Ich leider nicht. Soll vllt. ein bisschen Strom verbrauchen? Ansonsten 
sieht er mir sinnlos aus, denn die LED im SSR wird sicher nicht an einem 
uninitialisiertem Port leuchten.
Noch ein Tipp zu den 50Hz. Wenn du den Arduino aus einem Eisenkerntrafo 
speist, bist du praktisch schon fertig, denn ein 15k - 33k Widerstand am 
T0 oder T1 Eingang zur Sekundärwicklung des Trafo sollte reichen. Wenn 
du sowas nicht benutzt, käme ein Optokoppler in Frage, dessen LED aus 
den 230V~ (natürlich per Vorwiderstand und evtl. Kondensator) gespeist 
wird. Antiparallel zur LED im Optokoppler dann eine normale Diode.

: Bearbeitet durch User
von georg (Gast)


Lesenswert?

Paul H. schrieb:
> Hat jemand eine Idee wie ich das Programmiertechnisch realisieren
> könnte, dass der Arduino kurz das auslesen unterbricht und den Pin auf
> ein bzw. aus stellt und anschließend weitarbeitet?

Da solltest du dich mal mit dem Konzept Interrupt befassen.

Georg

von Cora (Gast)


Lesenswert?

Amateur schrieb:
> Einen Nullspannungsschalter mit PWM ansteuern ist Unsinn!
>
> Ein langsamer 2-Punkt-Regler oder gleich eine Schwingungspaketsteuerung
> sind hier sinnvoll.
>
> Ich weiß, die Erbsenzähler werden gleich sagen: "Ich benutze eine aber
> PWM mit einer Schaltfrequenz im Sekundenbereich…".

Eben. Eine langsame PWM mit ZeroDetect im SSR ist eine 
Schwingungspaketsteuerung, nichts anderes.

Warum ist das Erbsenzählerei?

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.