Forum: Mikrocontroller und Digitale Elektronik Arduino DMX Dimmer


von Jonas R. (jonas_r825)


Angehängte Dateien:

Lesenswert?

Hi,
ich hab ein relativ großes Problem und würde mich über eure Hilfe sehr 
freuen.
Also ich habe vor mir ein 8 Kanal Dimmer mit ein Arduino zu bauen. 
Angefangen habe ich damit mir ein Schaltplan zu erstellt und eine 
Platine in China zu bestellen wo alles drauf gelötet wurde (siehe 
Anhang). Ich habe natürlich gedacht das mit den Programmieren geht mit 
links und jetzt hab ich den Salt. Bis jetzt geht DMX empfangen mit der 
DMXSerial.h library super und auch das dimmen mit denn Cod im Anhang 
geht super. Aber beide Sketche zusammen machen mir Probleme, es scheint 
so als würde die DMX library den attachInterrupt(0, zero_cross_detect, 
CHANGE); des Dimmers stören denn wenn man die Zeile 
DMXSerial.init(DMXReceiver); ausklammer geht das dimmen auch wieder.
Könnt ihr mir ein bissel unter die Arme greifen und mir Helfen.

L.G. Jonas

von Falk B. (falk)


Lesenswert?

Jonas R. schrieb:
> Hi,
> ich hab ein relativ großes Problem und würde mich über eure Hilfe sehr
> freuen.
> Also ich habe vor mir ein 8 Kanal Dimmer mit ein Arduino zu bauen.
> Angefangen habe ich damit mir ein Schaltplan zu erstellt

AUA!

Schaltplan richtig zeichnen

> und eine
> Platine in China zu bestellen wo alles drauf gelötet wurde (siehe
> Anhang).

Erstaunlich aufgeräumt.

> Ich habe natürlich gedacht das mit den Programmieren geht mit
> links und jetzt hab ich den Salt.

Salat?

> Bis jetzt geht DMX empfangen mit der
> DMXSerial.h library super und auch das dimmen mit denn Cod im Anhang
> geht super. Aber beide Sketche zusammen machen mir Probleme, es scheint
> so als würde die DMX library den attachInterrupt(0, zero_cross_detect,
> CHANGE); des Dimmers stören denn wenn man die Zeile
> DMXSerial.init(DMXReceiver); ausklammer geht das dimmen auch wieder.
> Könnt ihr mir ein bissel unter die Arme greifen und mir Helfen.

Dein Dimmer taugt nicht viel. Der funktioniert, wie schon bemerkt, nur 
allein, denn er arbeitet blockierend (Delay-Funktionen). Wenn "nebenbei" 
noch andere Sachen laufen sollen, braucht man Multitasking. Das ist 
nicht so schwer wie es klingt, wenn man es mal verstanden hat.

Deinen Dimmer mußt du umbauen. Und zwar auf eine nicht blockierende 
Arbeitsweise. Das geht am einfachsten mittels Timer und dazu passendem 
Interrupt. Nimm Timer1, der ist 16 Bit und frei. In deinem zero-Cross 
Interrupt legst du fest, nach welcher Zeit der Timer1 einen anderen 
Interrupt (Output compare) auslösen soll. DORT wird dann der TRIAC mit 
einem kuzen Puls gezündet. Auch die 200us Pulsbreite kann man, wenn man 
es richtig macht, nochmals mittels Interrupt umsetzen. Das alles hat den 
Vorteil, das die CPU nahezu nix zu tun hat und sich voll um andere 
Dinge, hier das DMX, kümmern kann. Damit das alles funktioniert, musst 
du lernen, wie man das Thema Interrupt ganz allgmein benutzt, das 
geht auch beim Arduino. Das alles brauchst du GANZ SICHER, wenn du 
mehrere Kanäle gleichzeitig dimmen willst.

: Bearbeitet durch User
von Kritiker (Gast)


Lesenswert?

Falk B. schrieb:
> Erstaunlich aufgeräumt.

Solch eine Aussage über eine Platine, bei der ganz an einem Ende die 
Triacs sitzen und maximal weit entfernt dazu die zugehörigen 
Ausgangsklemmen.
Scheinbar bist du nicht der einzige der keine Ahnung von der Materie 
hat.

von Falk B. (falk)


Lesenswert?

Kritiker schrieb:
> Falk B. schrieb:
>> Erstaunlich aufgeräumt.
>
> Solch eine Aussage über eine Platine, bei der ganz an einem Ende die
> Triacs sitzen und maximal weit entfernt dazu die zugehörigen
> Ausgangsklemmen.
> Scheinbar bist du nicht der einzige der keine Ahnung von der Materie
> hat.

Bla. Erstens hab ich da nur 3s draufgeschaut und 2. meinte ich was ich 
sagte. Es ist alles gleichäßig (optisch) sauber angeordnet, im Gegensatz 
zum Schaltplan. Ob es funktional sinnvoll ist, hab ich nicht gesagt. Und 
auch nicht geprüft.

von Flole L. (Firma: Flole) (flole998)


Lesenswert?

Über die dünnen Bahnen bei den geringen Abständen soll 230V mit ein 
bisschen Strom geschickt werden? Da keine Sicherungen vorhanden sind 
dürfte spätestens im Fehlerfall die Leiterbahn komplett weg sein, je 
nach Last auch schon vorher.

von Falk B. (falk)


Lesenswert?

Flole L. schrieb:
> Über die dünnen Bahnen bei den geringen Abständen soll 230V mit ein
> bisschen Strom geschickt werden? Da keine Sicherungen vorhanden sind
> dürfte spätestens im Fehlerfall die Leiterbahn komplett weg sein, je
> nach Last auch schon vorher.

Hey, das ist schwarzer Lötstoplack! Das ist der Chuck Norris unter den 
Lötstoplacken! Der hält 380kV aus ;-)

von MaWin (Gast)


Lesenswert?

Jonas R. schrieb:
> Könnt ihr mir ein bissel unter die Arme greifen

Oje, also RARs öffne ich nicht.

Und "einem Arduino", wie schön, dass es nur einen gibt. Offenbar 
Atmega2560 an 5V, das teuerste was es gibt und gnadenlos 
überdimensioniert für die simple Aufgabe.

2 Sketche zusammenzukopieren nennt man übrigens nicht programmieren, 
sondern copy&paste.

Die Schaltung ist ja wohl eine Katastrophe. MOC3020, also für 117V~ 
gebaute Optokoppler, der will 30mA um sicher durchzuschalten, und du 
gibst ihm nur 25mA die der Arduino auch nicht unbedingt schafft. Muss es 
immer beim Optokoppler der billigste Ausschuss sein weil nach dem 
teuersten Prozessor kein Geld mehr da war ?

Ersetze gegen MOC3072 und 390 Ohm.

Dann dimmst du, aber es fehlt jede Beschaltung gehen Funkstörungen 
(TRIAC-Drossel in Leitung) und Überspannung (300V~ VDR am Eingang, 
geschützt mit 98 GradC Temperatursicherung) und einen Snubber spendierst 
du dem TRIAC auch nicht, ist wohl in Ordnung wenn beim Einstecken alle 
Lampen mal kurz aufblitzen. Apropos Lampen  vielleicht nur LED die den 
Haltestrom nicht erreichen ? Deine TRIACs schaffen ohne Kühlung 
jedenfalls nicht mal 1A. Apropos TRIAC, welchen BT139 schreibst du auch 
nicht, womöglich 600V die durch keinen VDR geschützt werden können statt 
800V. Bei Kurzschluss an der Ausgangsleitung erwartest du wohl die 
Haussicherung, aber dass TRIAC und Leiterbahn bis dahin verdampft ist 
ist dir egal. Eine Feinsicherung mit Schmelzintegral kleiner als dem 
Schmelzintegral des TRIAC wäre sinnvoll, bei passend breiten 
Leiterbahnen. Apropos Leiterbahnen, wie gross sind denn die Abstände zum 
Niedervoltteil ?

Der arme U11 bekommt mal eben 320V Sperrspannung aufgedrückt. Sag mal, 
LIEST du eigentlich irgendwas bevor du bastelst ? Man nimmt PC814 
AC-Optokoppler mit 2 antiparallelen LEDs.

Ob dein Kleinnetzteil nicht auch irgendeine Beschaltung an 230V braucht, 
um vor Spannungsspitzen geschützt zu sein und EMV verträglich ist auch 
unklar.

Abblockkondensator am RS485 Treiber sehe ich auch nicht.

Also zumindest die Platine kannst du mal komplett neu machen. Und vorher 
lesen, was zu Dimmern, VDR, Snubbern, Funkentstordrosseln und 
Geinsicherungen geschrieben steht.

http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.25

von Kritiker (Gast)


Lesenswert?

Falk B. schrieb:
> Bla. Erstens hab ich da nur 3s draufgeschaut und 2. meinte ich was ich
> sagte.

Genau das ist das traurige Problem deiner Antworten:

Nix denken und einfach drauf los tippen.

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


Lesenswert?

MaWin schrieb:
> Und vorher
> lesen, was zu Dimmern, VDR, Snubbern, Funkentstordrosseln und
> Geinsicherungen geschrieben steht.

Selbst der 4-Kanal Billigdimmer von Thomann hat mächtige 
Ringkerndrosseln, pro Kanal eine Sicherung und sogar noch ein Display. 
Die haben die Powerplatine als Grundplatte und setzen den Prozessor auf 
eine Subplatine hinter das Display.
Muss man sicher nicht genauso machen, trennt aber sicherer Netz und 
Niedervolt als deine Konstruktion:
https://www.thomann.de/de/stairville_dds405_dmx.htm

Für Selberbauen ist ein Besuch bei Henne immer lohnend:
http://www.hoelscher-hi.de/hendrik/light/dmxdimmer.htm

von Nils (Gast)


Lesenswert?

Also was du suchst habe ich vor ~15 Jahren mal gebaut. Ich bin damals 
über Ulrich Radig.de gestolpert. Da gab es eine Prima Anleitung und Code 
dazu.
Heute sieht die Seite ein wenig anders aus und auch das Layout des 
Dimmers wurde mal überarbeitet aber ich wette er funktioniert noch so 
gut wie früher.
Meine Version hatte noch einen At Mega 8535 (soweit ich mich richtig 
erinner)
Wie gesagt 15 Jahre ist es her aber das Gerät läuft noch immer manchmal. 
Mittlerweile aber nur noch der alten Zeiten willen.
https://www.ulrichradig.de/home/index.php/dmx/alias-3

von Nils (Gast)


Lesenswert?

Nils schrieb:
> Also was du suchst habe ich vor ~15 Jahren mal gebaut. Ich bin
> damals
> über Ulrich Radig.de gestolpert. Da gab es eine Prima Anleitung und Code
> dazu.
> Heute sieht die Seite ein wenig anders aus und auch das Layout des
> Dimmers wurde mal überarbeitet aber ich wette er funktioniert noch so
> gut wie früher.
> Meine Version hatte noch einen At Mega 8535 (soweit ich mich richtig
> erinner)
> Wie gesagt 15 Jahre ist es her aber das Gerät läuft noch immer manchmal.
> Mittlerweile aber nur noch der alten Zeiten willen.
> https://www.ulrichradig.de/home/index.php/dmx/alias-3


Oh mein Hirn wird auch langsam alt. Es war nicht Ulrich Radig. es war 
Hoelscher-hi. Das sieht auch einfach noch exakt so aus wie früher.

Radig war glaub Show Laser

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.