Forum: Mikrocontroller und Digitale Elektronik Raspberry und Triac - wie ansteuern


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Ran09 (Gast)


Lesenswert?

hey,

Meine Elektronik-Kenntnisse sind leider etwas eingerostet. Ich habe mir 
eine Raspberry Pi und eine Dimmer Controller gekauft 
(Ebay-Artikel Nr. 121752461158) nur stehe ich jetzt vor dem 
großen Problem, wie ich diesen Controller mit dem Rasperry ansteuern 
kann und letztlich mein Licht dimmen kann. Kann mir jemand weiterhelfen? 
Vom Verkäufer habe ich folgende Antwort erhalten, kann aber als 
unerfahrener Bastler eher wenig damit anfangen.


You can connect this module to Arduino or Raspberry board. I working 
with Atmel MCU and Arduino Boards. The difference is that used different 
microcontrollers. Arduino use ATMEL microcontroller and Rapberry use ARM 
microcontrollers.

How to connect to MCU board ->

+5V to +5V
GND to GND
SYNC to external interrupt on your board (Arduino have 2,3 pin as 
external interrupt)
CH1, CH2, CH3, CH4 to output pin on your board.

Now you must write software to controll dimming levels for each channel.

1. Waiting when there "1" on SYNC pin (zero-cross detector)
2. Start timer for delay (1/2 period have 10ms. 10ms/100 = 0.1ms for 
each 1%. Example -> if you want 50% AC power, delay must be 50 x 0.1 = 
5ms)
3. Open triac with 10us impuls

Remember !!!
When voltage cross "0", triac automatically closes.

Wäre super, wenn mir jemand auf die Sprünge helfen kann.

von Thomas H. (thoern)


Lesenswert?

Ran09 schrieb:
> Now you must write software to controll dimming levels for each channel.

Hast du denn überhaupt eine Software zum Dimmen bzw. bist du in der 
Lage, diese selbst zu schreiben?

von Ran09 (Gast)


Lesenswert?

genau das ist gerade nicht mein Problem. Ich komme eigentlich aus der 
software Ecke. GPIOs ansteuern und auslesen und das ganze in openHAB 
einbinden sollte ich hinbekommen. Nur fehlt mir jeglicher Ansatz, wie 
die Verbindung zwischen raspberry und Controller aussehen muss. 
Letztlich will ich nicht einfach irgendwas ausgedachtes probieren und 
mit defekten Bauelementen enden. Wäre über Hilfe wirklich sehr dankbar.

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


Lesenswert?

Steht ja eigentlich schon alles da. Du brauchst einen Handler für einen 
der externen Interrupts, der den Nulldurchgang detektiert und dann Timer 
startet. Wenn die Timer einen bestimmten Wert erreicht haben, soll ein 
10µs Puls den Triac zünden. Nach 10ms wiederholt sich das alles.
Das Problem ist dabei, das du vermutlich einen Treiber schreiben musst, 
denn m.W. können Interrupts nicht im Userland verarbeitet werden ( so 
isses zumindest bei uCLinux).

Ich würde vermutlich einen kleinen extra MC für die Verarbeitung 
programmieren und den vom Pi über DMX oder so ansteuern. Das ist dann 
eine universelle Lösung.

: Bearbeitet durch User
von Thomas H. (thoern)


Lesenswert?

Ran09 schrieb:
> GPIOs ansteuern und auslesen und das ganze in openHAB
> einbinden sollte ich hinbekommen.

Aha. Willst du das mit dem GPIO-Binding in OpenHAB realisieren? Da 
kannst du aber nicht mit dimmen, oder?

von Ran09 (Gast)


Lesenswert?

Ich wollte mich bzgl. openHAB an diesem Beispiel entlanghangeln: 
https://github.com/pepsifan92/ds18b20

Aber ich frage mch gerade, ob ich die GPIOs mittels Java so genau auf ms 
steuern kann. Fragen über Fragen. Ist es vll einfacher, den Controller 
über einen Adriuno anzusteuern?

von hp-freund (Gast)


Lesenswert?

Ran09 schrieb:
> Ist es vll einfacher, den Controller über einen Adriuno anzusteuern?

Vermutlich. Oder auch einen blanken µC.

Es könnte auch mit dem RasPi und Python gehen.

Erklärung des Interrupt gibts hier:
http://raspi.tv/2013/how-to-use-interrupts-with-python-on-the-raspberry-pi-and-rpi-gpio

Musst nur schaffen einen 10µs/100µs Timer zu bauen.

von Thomas H. (thoern)


Lesenswert?

Was genau ist dein Problem? Auf deinem Dimmermodul steht ja drauf, was 
wo anzuschliessen ist:

GND   ground of low voltage side
VCC   device power, DC 5 volts
SYNC   zero-cross detector output positive impulse (pulse length 200us)
CH1   triac gate input pin for 1 channel
CH2   triac gate input pin for 2 channel
CH3   triac gate input pin for 3 channel
CH4   triac gate input pin for 4 channel

Und beim PI findest du hier die Anschlussßbelegung:
http://raspberrypiguide.de/

VCC und GND sollte klar sein. Sync und CHx musst du halt mit den entspr. 
GPIO's verwenden.

Gruß!

: Bearbeitet durch User
von Patrick B. (p51d)


Lesenswert?

Ran09 schrieb:
> Aber ich frage mch gerade, ob ich die GPIOs mittels Java so genau auf ms
> steuern kann. Fragen über Fragen. Ist es vll einfacher, den Controller
> über einen Adriuno anzusteuern?

Java ist wohl die schlechteste aller Varianten für 
"Echt-Zeit"-Anwendungen. Und bei einem OS ist das sowieso sehr 
schwierig, da du genau die Abläufe kennen musst und auch wissen musst, 
wie das OS die Tasks handhabt (Echtzeit-OS sind voraussagbare OS).

Hier würde ich wirklich auf einen einzelnen Controller (z.B. 8-Bit 
reicht hier föllig) wechseln und diesen dann in ASM oder C 
Programmieren. Das ist wohl einen Aufwand von knapp 4h (für dich).

von hp-freund (Gast)


Lesenswert?

http://www.gtkdb.de/index_36_2272.html

Scheint zu funktionieren in Python. Beispiel:
[c]
  # set trigger to high
  GPIO.output(GPIOTrigger, True)

  # set trigger after 10µs to low
  time.sleep(0.00001)
  GPIO.output(GPIOTrigger, False)
[/p]

Ist also nur eine Kombi aus Interrupt, Timer und Wertübergabe.

von hp-freund (Gast)


Lesenswert?

sollte ein /c am Ende des codes werden
wie komme ich nur immer auf /p ???

von Ran09 (Gast)


Lesenswert?

Danke, das Beispiel hilft mir (glaube ich :-) weiter.

Kann ich die Anschlüsse des Controllers direkt mit den GPIOs verbinden 
oder muss ich noch zusätzliche Bauelemente in meiner Schaltung bedenken? 
Ich würde dann wahrscheinlich doch versuchen, das ganze in C zu 
schreiben.

von hp-freund (Gast)


Lesenswert?

Hat der RasPi 5V Ausgänge?
Braucht wohl einen Pegelwandler.

von hp-freund (Gast)


Lesenswert?

Ran09 schrieb:
> Ich würde dann wahrscheinlich doch versuchen, das ganze in C zu
> schreiben.

Geht auch:

http://www.forum-raspberrypi.de/Thread-sensor-signal-per-interrupt-abfragen

von Ran09 (Gast)


Lesenswert?

hp-freund schrieb:
> Hat der RasPi 5V Ausgänge?
> Braucht wohl einen Pegelwandler.

Meinst du für CH1-CH4 und SYNC? Daran habe ich gar nicht gedacht. GPIOs 
sind nur für 3.3V gemacht. Das heißt, was genau müsste ich vor die 
Kanäle schalten, um auf 5V zu kommen?

von Michael B. (laberkopp)


Lesenswert?

Ran09 schrieb:
> (Ebay-Artikel Nr. 121752461158)

Autsch.

Diese (teuer verkaufte Billigschaltung) ist weder zur Ansteuerung von 
Glühlampen (Dimmen) noch zur Ansteuerung von Motoren (Bohrmaschine etc.) 
geeignet.

Für Glühlampen fehlt ihr die Drossel zur Begrenzung der Funkstörungen 
und der Snubber zur Verhinderung von aufblitzen beim Einschalten und die 
Feinsicherung der Verhinderung der Zerstörung des TRIACs bei 
Durchbrennen mit nachfolgendem Plasmakurzschluss der Lampe.

Für Elektromotoren fehlt ihr der Snubber und die Schaltung zur 
Kompensation der Strom/Spannungs-Phasenverschiebung zur 
Aufrechterhaltung der TRIAC-Gate-Spannung im Nulldurchgang der Spannung.

Bei beiden fehlt der eingangsseitige VDR zur Begrenzung der Spannung von 
Netzstörungen damit die Optokoppler und TRIACs nicht durchbrennen und 
dauerleitend werden.

Ran09 schrieb:
> Wäre super, wenn mir jemand auf die Sprünge helfen kann.

Erst bilden, dann kaufen.
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.25

: Bearbeitet durch User
von hp-freund (Gast)


Lesenswert?

Ran09 schrieb:
> Meinst du für CH1-CH4 und SYNC?
1
SYNC    :  Platine -> RasPi 
2
CH1-CH4 :  RasPi   -> Platine

Die CHx Optokoppler sollen mit 5V angesteuert werden. Müsste man im 
deren Datenblatt schauen ob auch 3,3V reichen, evtl. die 330Ohm R 
verkleinern.

SYNC legt 5V an den RasPi Eingang. Vielleicht kommt der OK aber auch mit 
VCC 3,3V aus. -> Datenblatt

von Ran09 (Gast)


Lesenswert?

> Diese (teuer verkaufte Billigschaltung) ist weder zur Ansteuerung von
> Glühlampen (Dimmen) noch zur Ansteuerung von Motoren (Bohrmaschine etc.)
> geeignet.

Jetzt bin ich verwirrt. Ich habe dem Verkäufer geglaubt, der meinte, 
dass alles kein Problem sei. Nun sitze ich auf dem Ding und kann nichts 
damit anfangen, wie es ausschaut, da ich nicht über die geeigneten 
Elektronikkenntnisse verfüge :-(

Ich bin davon ausgegangen, dass anschließen und Treiber schreiben reicht 
:-/

Wenn es schon mit diesem Controller nicht funktioniert, kann mir jemand 
ein "einfaches" Modul zum dimmen empfehlen, was ohne viel Bastelei mit 
meinem Raspberry funktioniert?

von Stefan K. (stefan64)


Lesenswert?

Schreib einfach mal, was Du genau dimmen willst.

So wie  Michael Bertrandt sehe ich das auch: auf der Platine ist ja 
wirklich nur der nackte Triac drauf. Glühlampen wirst Du damit zwar 
dimmen können. Musik hören wird daneben aber sicher kein Spaß mehr sein.

Gruß, Stefan

von Michael B. (laberkopp)


Lesenswert?

Ran09 schrieb:
> Ich habe dem Verkäufer geglaubt, der meinte, dass alles kein Problem sei.

Du glaubst dem Bankster auch, daß der geschlossene Schiffsfonds eine 
gute Anlagemöglichkeit sei.

von Ran09 (Gast)


Lesenswert?

Ich möchte damit eine Heizmatte (194 Watt) regeln.

von Stefan K. (stefan64)


Lesenswert?

Dafür musst Du nicht dimmen, sondern nur ein/ausschalten. Am besten 
synchron zum Nulldurchgang, dann minimierst Du Störungen. Das könnte mit 
der Platine sogar leidlich klappen, wenn Du noch extern Sicherungen 
vorsiehst.

Gruß, Stefan

von Michael B. (laberkopp)


Lesenswert?

Ran09 schrieb:
> Ich möchte damit eine Heizmatte (194 Watt) regeln.

Warum dann 4 Kanäle ?

Du hast übrigens Glück: Heizmatten dimmt man nicht per Phasenanschnitt, 
also muss keine Funkentstörung dazu. Heizmatten brennen auch nicht mit 
Plasmafunken durch, also muss keine Feinsicherung dazu (wenn die 
Zuleitung kurzschlussicher ist, also kurz). Und den 275V VDR kann man in 
die 230V~ Eingangsklemmen mitreinklemmen.

von hp-freund (Gast)


Lesenswert?

Das geht.
Auch mit dem Board.

https://de.wikipedia.org/wiki/Schwingungspaketsteuerung

Musst nur die SYNC auswerten dann schalten und welche freilassen, je 
mehr desto kälter ;-)
Bei der Leistung sollte die 3,3V Ansteuerung auch reichen.
Wenn der benutzte RasPi Eingang 5V tolerant ist brauchst Du 
Schaltungstechnisch nichts ändern.

von Ran09 (Gast)


Lesenswert?

YAY :-)

4 Kanäle, weil es um 2 Matten geht und ich dachte, man könnte die beiden 
anderen Kanäle in Zukunft für etwas anderes nutzen.

Also zusammenfassend:

- ich muss im Datenblatt schauen, ob CH1-CH4 und SYNC mit 3,3V 
funktionieren?
- 2 mal einen 275V VDR bestellen, welche jeweils and die AC 
Ausgangskanäle zwischengeschaltet werden

Benötige ich sonst noch weitere Bauelemente wie Widerstände usw.?

SW dann entlang von diesem Beispiel: 
http://www.gtkdb.de/index_36_2272.html

(und sorry, wenn diese ganzen Fragen irrsinnig oder naiv klin

von hp-freund (Gast)


Lesenswert?

Du wolltest doch C oder?
Siehe 11:42

Das Andere sollte so passen.

von Ran09 (Gast)


Lesenswert?

Yep, ich propiere is in C und würde dann wahrscheinlich einen Wrapper 
schreiben, sodass ich den Sensor mittels Java (für openHAB) asynchron 
ansteuern kann.

In manchen Schaltungen habe ich gesehen, dass zwsichen einem GPIO und 
VCC manchmal ein Schutzwiderstand geschaltet wird. Benötige ich das hier 
auch? Wenn nicht, dann versuche ich das ganze mal so umzusetzen und 
melde mich mit der fertigen Schaltung nochmal.

von Ran09 (Gast)


Lesenswert?

*nicht Sensor, sondern Controller

von hp-freund (Gast)


Lesenswert?

Ran09 schrieb:
> dass zwsichen einem GPIO und
> VCC manchmal ein Schutzwiderstand geschaltet

Das wäre dann ein Pullup Widerstand.

von Ran09 (Gast)


Lesenswert?

Noch ein kleiner Nachtrag: Ich habe den Verkäufer damit konfrontiert, 
dass ich den Controller nicht zum Dimmen nutzen kann. Er hat mir 
folgendes geantwortet:

Each device is tested for 12 hours. In my home, these devices are 
already working in light dimming for 2 years.

Snubber chain need only in case when controlled inductive load.

Ich kann damit leider nicht so viel anfangen.

von hp-freund (Gast)


Lesenswert?

Wie wir schon festgestellt hatten:
Bohrmaschine oder Motoren -> no
Heizmatte -> ok

von hp-freund (Gast)


Lesenswert?

Noch ein paar fiese Fragen:

Wie willst Du regeln?
Einen Temperatursensor auswerten oder nach Gefühl?

von hp-freund (Gast)


Lesenswert?

hp-freund schrieb:
> Bohrmaschine oder Motoren -> no

Natürlich auch nichts mit Trafo drin.

Bin erst mal weg, schaue abends noch mal rein...

von Ran09 (Gast)


Lesenswert?

Ich will mittels Temperatursensor regeln. Habe mir dazu folgendes 
überlegt:

https://github.com/pepsifan92/ds18b20

Der DS18B20 sollte ja funktionieren, da schon vielfach verwendet.

ERSTMAL AUCH VIELEN VIELEN DANK FÜR EURE HILFE :)

von Jürgen D. (poster)


Lesenswert?

Ran09 schrieb:
> Ich habe den Verkäufer damit konfrontiert,
> dass ich den Controller nicht zum Dimmen nutzen kann. Er hat mir
> folgendes geantwortet

Da hat der Verkäufer ja auch recht.
Mit der Schaltung kann man Lampen dimmen, nur ob man das wirklich machen 
sollte ist die Frage?

Das ist genau das gleiche wie ein Tuning einer Mofa auf 100km/h.
Natürlich kann man damit fahren, was Polizei und Tüv dazu sagt ist aber 
was ganz anderes.

von Michael B. (laberkopp)


Lesenswert?

Ran09 schrieb:
> - 2 mal einen 275V VDR bestellen, welche jeweils and die AC
> Ausgangskanäle zwischengeschaltet werden

Bisher redeten wir von einem:

  o------+---- deine Schaltung
         |
230V~   VDR ETFV20K250E2
         |
  o------+----

Ran09 schrieb:
> Each device is tested for 12 hours. In my home, these devices are
> already working in light dimming for 2 years.

Natürlich, noch keine Lampe durchgebrannt und kein Funkstörmesswagen in 
der Nähe, ausserdem von Überspannungen verschont geblieben.

Es macht halt einen Unterschied, ob man etwas konstruiert was manchmal 
funktioniert, oder etwas das immer funktioniert.

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


Lesenswert?

Wenn man statt der MOC3051, die lt. Beschriftung da verbaut sind, 
MOC3063 einbaut, hätte man 2 Fliegen mit einer Klappe erwischt :-)

Zum einen hat der MOC3063 einen Zündstrom von nur 5mA im Gegensatz zu 
den 15mA, die ein 3051 sehen will - zum anderen besitzt der 3063 einen 
integrierten Nulldurchgangsdetektor, damit entfällt die ganze SYNC 
Problematik.
Dimmen geht dann aber nicht mehr, sondern nur schalten.
Das I-Tüpfelchen wäre der Einbau von Snubberless Triacs, aber dann 
bleibt vom Original nix übrig :-P

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.