Forum: Mikrocontroller und Digitale Elektronik DMX Steuerung 24 Kanal


von THE B. (thebassbox)


Lesenswert?

Hallo Leutz!


Ich suche für ein Projekt eine 24 Kanal DMX Steuerung.
Was ich brauche:
24 Kanäle für die ansteuerung von 8 LED Segmenten je 3 Farben RGB.
DMX Adressierung bis 512 Kanäle, entweder Dip Schalter oder Digital über 
Display und Knöpfe
wenn möglich ansteuerung eines 16x2 Zeichen Displays.
wer hat schon mal so etwas gebaut und kann mir dabei etwas helfen?
oder wer kann mir für meine anwendung einen schaltplan + firmware 
schreiben (gegen bezahlung)


Beste Grüße!

von Sven (Gast)


Lesenswert?

24 kanäle oder 512?

was soll das können? nach einschalten ein programm ablaufen lassen ? 
oder per musik taktgenau scenen spielen welche über wlan eingespeichert 
werden?


Anfürsich kann jeder kleine avr 24 dmx kanäle abgeben und ein lcd 
ansteuern

von Basti M. (counterfeiter)


Lesenswert?

Wie teuer soll das denn für dich werden... hier nen heißer Tipp frisch 
aus China für solche Projekte wie deine:

http://www.led-studien.de/2012/10/13/breakout-boards-fur-dmx-ics-my9941-my9942-my9943/

Entweder gleich die Breakouts ordern oder bloß die ICs bestellen...

von THE B. (thebassbox)


Lesenswert?

sorry ich hab mich glaub ich hab etwas ungenbau beschrieben was ich 
machen will.

und zwar ich hab eine led leiste mit gesamt 648x5mm leds
aufgeteil in 8 segmente und die dann immer in rgb
die teile haben zwar schon eine dmx steuerung drin, ABER die sind sehr 
problematisch wenn es um temperatur schwankungen geht, bei +10 grad 
laufen die meinsten aber nicht immer.
somit soll eine neue controller platine rein.

was die jetztige steuerung macht:
- digitale adressierung der dmx startadresse über ein 16x2 zeichen 
display + jogwheel zum drehen und drücken
- steuerung der gesamt 24 einzel kanäle der leds
- die steuerung kann auch interne programme laufen lassen aber das 
brauch icht nicht
- versorgung über 12v netzteil
- led leistungsteile sind uln2803apg davor sind noch 74hc573n geschaltet
die ich dann auch wieder verwenden möchte auf der neuen platine

was ich mir nun vorstelle:
-dmx startadresse entweder wie jetzt digital um einstellen oder nur über 
dipschalter aber startadresse bis 488 (488+24=512) einstellbar
-24 kanäle für die led steuerung über die uln2803apg und 74hc573n

für mich ist es kein problem aus einem schaltplan eine platine 
herzustellen, löten und auch microcontroller zu beschreiben.


was kann mir da weiterhelfen?

von Sven (Gast)


Lesenswert?

Klaartext du möchtest einen Controller welcher dir aus dmx 24 Pwm Led 
Kanäle macht ?

Grund weil der Controller den du hast bei Temperaturen von unter 10°c 
abschaltet?

Ok soweit alles Klaar. Ich versteh nur nicht warum in soeiner Schaltung 
ein Latch 74hc573n eingebaut ist. Kannst du mal bilder von der Steuerung 
machen?
Eventuell währe es sinvoll rauszufinden warum das teil bei 10°c 
abschaltet und einfach nur den Fehler zu beseitigen.

von THE B. (thebassbox)


Lesenswert?

so hier ein bild des controllers:
http://s14.directupload.net/images/130317/sredwwnx.jpg

aber den will ich nicht mehr verwenden da es nicht nur das temperatur 
problem gibt sondern auch viele anderen probleme z.b. immer wieder 
blinken kurz leds auf die gar nicht angesteuert werden nur es leuchtet 
die falsche farbe.... die internen programme mischen sich auch immer 
wieder in die dmx steuerung ein.....

somit muss ein neuer controller her.
ich würde eigentlich nur einen schaltplan + firmware brauchen, den rest 
kann ich selber machen, wenn mir da jemand helfen könnte wäre das super 
(gegen bezahlung)

von Steffen H. (avrsteffen)


Lesenswert?

Sven schrieb:
> Ich versteh nur nicht warum in soeiner Schaltung
> ein Latch 74hc573n eingebaut ist.

Na das ist ne klassische Porterweiterung. Mal die PWM-Kanäle und alle 
restlichen Anschlüsse durchgezählt? Könnte knapp werden

24x PWM
7x  LCD (4-Bit Modus) hier warscheinlich im 8-Bit Modus
1x  DMX in
3x  Jog-Weel
3x  Steuerleitung RAM oder was das da noch ist
2x  Xtal
1x  Reset
2x  Spannungsversorgung

von THE B. (thebassbox)


Lesenswert?

kann mir keiner weiterhelfen?

von Steffen H. (avrsteffen)


Lesenswert?

Hallo Bassbox,

Ich denke mit einem 8Bit-AVR wirst du keine 24 PWM Kanäle + DMX 
hinbekommen ohne dass dir die LED's im unterem Helligkeits-Niveau 
rumflackern. Gerade weil LED's eine höhere Auflösung im unteren 
PWM-Durty-Cycle brauchen um gute Helligkeitsstufen zu erreichen. Das 
heißt: Du solltest minimum mit 10-12Bit PWM ins rennen gehen. Das sind 
also bei 10Bit 1023 Schritte und bei 12Bit sogar 4096.

So, jetzt sehe ich schon wie dein Counter gerade von 0 anfängt hoch zu 
zählen. Um bei 10Bit Auflösung eine Frequenz von mindestens 50Hz zu 
erreichen hast du ca. 20µs Zeit zwischen den Counter-Steps. Bei 12Bit 
Auflösung sind es sogar nur noch ca. 5µs. In dieser Zeit musst du nun 24 
Vergleiche auf den Counter zu deinem jeweiligen PWM-Kanal machen. 
Zusätzlich noch die DMX-Receive Routine abarbeiten und noch ein wenig in 
der Main machen können.

Da seh ich halt SCHWARZ

Die Pins eines AVRmega reichen ja auch nicht. Also muss noch eine 
Routine für die Latches bedient werden...


Gruß Steffen

von Falk B. (falk)


Lesenswert?

@  Steffen H. (avrsteffen)

>Ich denke mit einem 8Bit-AVR wirst du keine 24 PWM Kanäle + DMX
>hinbekommen ohne dass dir die LED's im unterem Helligkeits-Niveau
>rumflackern.

Doch. Been there, done that.

>heißt: Du solltest minimum mit 10-12Bit PWM ins rennen gehen. Das sind
>also bei 10Bit 1023 Schritte und bei 12Bit sogar 4096.

Naja

>Die Pins eines AVRmega reichen ja auch nicht. Also muss noch eine
>Routine für die Latches bedient werden...

Man muss nicht immer alles in den AVR stopfen, LED-Treiber ala TLC5940 
etc. gibt es genügend.

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Hier mal ein Projekt aus alten Tagen, 20 PWM Kanäle mit 100Hz und 8 Bit 
Auflösung, Ansteuerung per DMX512, Adresse mittels DIP-Schalter frei 
wählbar. Mit etwas Auswand kann man das auf 24 Kanäle aufbohren, dann 
muss man aber mit dem DIP-Schalter etwas tricksen. Die MOSFETs 
verkraften locker 1A, auch ohne Kühlkörper.

Have fun

von Martin K. (maart)


Lesenswert?

@Falk:
Deine PWM hat aber nur eine 8-bit Auflösung. Sind da die 
Helligkeitsstufen nicht zu grob? So empfand ich es bei meiner RGB-Lampe. 
Ich bin dann auf 10bit hochgegangen.

von Falk B. (falk)


Lesenswert?

@  Martin Kreiner (maart)

>Deine PWM hat aber nur eine 8-bit Auflösung. Sind da die
>Helligkeitsstufen nicht zu grob?

Für meinen Geschmack nicht. Siehe LED-Fading

>So empfand ich es bei meiner RGB-Lampe.
>Ich bin dann auf 10bit hochgegangen.

Kann man machen, dann braucht man aber 16 MHz Takt. Ist aber auch kein 
Problem. Allerdings muss man dann die 8 Bit DMX-Werte in 10 Bit 
nichtlinear abbilden, wie oben im Artikel.

von Basti M. (counterfeiter)


Lesenswert?

Naja, 8 auf 8 Bit macht sich nur bei langsamen Faden im unterstem 
Bereich bemerkbar. Aber ist schon brauchbar.

Die DMX ICs die ich oben gepostet habe, sind aber absolut brauchbar. Die 
haben ne 8 auf 14 Bit Gammakorrektur... da ist wirklich alles schön 
smooth, auch untenrum... :D

Für DMX gibts ja schon gefühlte Millionen Projekte im Netz, wenn die 
BASSBOX bis jetzt noch keine Lösung gefunden hat, dann sollte man lieber 
was fertiges nehmen...

von Falk B. (falk)


Lesenswert?

http://www.youtube.com/watch?v=wI--B_dD_T0

Das Ergbnis unserer Koproduktion.

Links der Endzstand, ATmega644 @20 MHz mit 24 PWM Kanälen, 10 Bit, 
100Hz, per Soft-PWM und nichtlinearer Kennlinie gemäß 
LED-Fading.

Mitte die Version mit 8 Bit und linearer Kennline.

Rechts das chinesische Original.

Das Flimmern ist eine Interferenz zwischen der PWM und der 
Kameraaufnahmefrequenz.

von THE B. (thebassbox)


Lesenswert?

Falk Brunner schrieb:
> Youtube-Video "00018"
>
> Das Ergbnis unserer Koproduktion.
>
> Links der Endzstand, ATmega644 @20 MHz mit 24 PWM Kanälen, 10 Bit,
> 100Hz, per Soft-PWM und nichtlinearer Kennlinie gemäß
> LED-Fading.
>
> Mitte die Version mit 8 Bit und linearer Kennline.
>
> Rechts das chinesische Original.
>
> Das Flimmern ist eine Interferenz zwischen der PWM und der
> Kameraaufnahmefrequenz.

Vielen Dank Falk für deine Hilfe bei diesem Projekt.
Es ist alles super geworden, sogar mit Display und Jogwheel zum 
einstellen der DMX Adresse wie es bei original China Teil auch war.
Am Schluss beim Video sieht man wieviele Fehler die China Platine beim 
Strobo Effekt macht.

von Falk B. (falk)


Lesenswert?

Läuft denn nun V42?

von THE B. (thebassbox)


Lesenswert?

Falk Brunner schrieb:
> Läuft denn nun V42?

ja, ich hab dir doch vorhin ein mail geschrieben.

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Ok, auf Wunsch hier der Schaltplan und die Software.
Achtung. Im Schaltplan sind an IC2 und IC3 einige Pins nicht an GND 
angeschlossen, das lag an der Pinbegrenzung vom Target ;-)
Ausserdem nutzt die endgültige Version einen ATmega164A mit 20 MHz 
anstatt ATmega16 mit 16 MHz. Fuses nicht vergessen.

Njoy

von THE B. (thebassbox)


Lesenswert?

Ich poste morgen den richtigen Schaltplan.
Vielen Dank nochmal an Falk der mir hier sehr geholfen hat.

von THE B. (thebassbox)


Lesenswert?

Ach ja der atmega164a lässt sich nicht mif jedem avr progger 
beschreiben.
Mit hennes parallel schaltung und avrdude gehts.

von Tobias D. (tobi-88)


Lesenswert?

Super... danke Falk für die Antwort und den Schaltplan.
Und auch dir BASSBOX schon mal ein danke. Wenn du morgen den
aktuellen Schaltplan hochlädst, ist da vielleicht auch ein Layout
mit dabei, würde mir Arbeit ersparen....

Werde mich dann demnächst mal mit dem Nachbau beschäftigen. Möchte damit 
gerne 8 RGB-Stipe Segmente per PC steuern.

von THE B. (thebassbox)


Angehängte Dateien:

Lesenswert?

so hier der aktuelle schaltplan + target 3001 datei mit platine
ich habe die platine so gemacht damit ich diese cnc trennfräsen kann.

ich hätte auch noch eine oder 2 prototypen platinen da.

von Martin (Gast)


Lesenswert?

Hi BASSBOX,

danke für dieses schöne Projekt.

Kann ich auch den ATmega16 mit 10Bit verwenden
( nach Änderung auf '#define TARGETXX4 0' in dmx-pwm24.h )
oder MUSS es der 164 sein?

Ich bin nicht der Profi bei den Mikrocontrollern ;-(

von Falk B. (falk)


Lesenswert?

@ Martin (Gast)

>Kann ich auch den ATmega16 mit 10Bit verwenden

Jain. Für 10 Bit PWM braucht man 20 MHz Takt, das schafft der ATmega16 
offiziell nicht, er kann nur 16 MHz.
Praktisch sollte es funktionieren.

>( nach Änderung auf '#define TARGETXX4 0' in dmx-pwm24.h )
>oder MUSS es der 164 sein?

Dafür muss man aber ein anderes define nutzen, nämlich PWM10BIT (wer 
hätte das gedacht. Und es reicht nicht, das define auf 0 zuändern, man 
muss es auskommentieren.

Also so
1
// ATmega16 @ 20 MHz, 10 Bit PWM
2
//#define DEBUG 1
3
//#define TARGETXX4 1                     // compile for ATmega164P/324P/664(P)
4
#define PWM10BIT 1                      // use 10 bit PWM

von Martin (Gast)


Lesenswert?

Ups, 10bit machen das Ganze ja erst richtig Interessant.
Aber den 16er auf 20MHz ist mir doch zu heftig.

Dann muß ich den 324PA nehmen, den 164 hat Reichelt natürlich nicht ;-(

Danke für die frühe, schnelle Antwort!

Martin

von thebassbox (Gast)


Lesenswert?

Der atmega644 geht auch mit 20mhz, den hatte ich immer zu testen

von Martin (Gast)


Lesenswert?

Danke für den Tip.
Da hätte ich nur den 664PA hier.
Der hat eine zweites UART aber sollte auch gehen, ist nur noch teurer.
Ich brauch ca. 96 PWM Kanäle, da ist ein und da sind 1-2€ schon was ;-)

@ flak & thebassbox:  Danke für eure schnelle und kompetente Hilfe!

von Falk B. (falk)


Lesenswert?

@ Martin (Gast)

>Da hätte ich nur den 664PA hier.

Geht auch.

>Der hat eine zweites UART aber sollte auch gehen, ist nur noch teurer.

Eben.

>Ich brauch ca. 96 PWM Kanäle, da ist ein und da sind 1-2€ schon was ;-)

Dann nimm TLC5940 & Co.

>@ flak & thebassbox:  Danke für eure schnelle und kompetente Hilfe!

Flak?

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

Wobei, machmal komm ich mir so vor . . . 8-0

von Falk B. (falk)


Lesenswert?


von Martin (Gast)


Lesenswert?

Bin eben erst wieder zur Tür rein ..

FALK FALK FALK FALK

Sorry war eine Fehlleistung meinerseits !!!!
Ich hoffe du kannst mir verzeihen.
Da will man nett, höflich und dankbar sein und dann sowas.
Der berühmte Unterschied zwischen gut gemeint und gut gemacht ;-((

Zum TLC5940: den hat Reichelt natürlich auch nicht und ich wollte nicht 
bei verschiedenen Läden bestellen.
Die Kanäle werden von vier Ecken aus versorgt, da ich die Leitungen mit 
PWM nicht zu lang machen wollte. Da past das mit den Einzel-Controllern 
schon ganz gut. ( Ist für meinem Flur, einmal rund rum ;-)

Nochmals Dank !!!

von Thomas (Gast)


Lesenswert?

Hi Bassbox, Hi Falk,

Klasse Projekt. Genau, wonach ich gesucht habe.
Ich hab dazu folgende Frage(n)...

-kann man ein ein anderes LCD-Display verwenden?
-Wenn ja, welche kommen in Frage?
-Oder wo kann ich das Display aus dem Schaltplan bestellen?

Ich habe zuvor noch nie mit Displays gearbeitet und kenne mich damit 
garnicht aus.

Mir würde ja auch ein Mäuseklavier genügen, aber dann müsste sicherlich 
der Schaltplan und die Programmierung geändert werden - ich weder das 
eine, noch das andere :-(

LG Thomas

von Falk B. (falk)


Lesenswert?

@ Thomas (Gast)

>-kann man ein ein anderes LCD-Display verwenden?

Kommt drauf an, welchen Aufwand du für die Anpassung treiben willst.
Wenn es HD44780 kompatibel ist, geht jede beliebige Bauform, incl. DOGM 
etc.

>-Wenn ja, welche kommen in Frage?
>-Oder wo kann ich das Display aus dem Schaltplan bestellen?

Praktisch überall, auch bei Pollin.

http://www.pollin.de/shop/dt/NTYwOTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_PVC160203PGL01_16x2.html

http://www.pollin.de/shop/dt/ODUwOTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_SMC1602X_01_16x2.html

http://www.pollin.de/shop/dt/OTc1OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_TC1602E_01.html

http://www.reichelt.de/Hintergrund-gruen/LCD-162C-LED/3/index.html?&ACTION=3&LA=2&ARTICLE=31653&GROUPID=3005&artnr=LCD+162C+LED


>Mir würde ja auch ein Mäuseklavier genügen, aber dann müsste sicherlich
>der Schaltplan und die Programmierung geändert werden

Ja.

von THE B. (thebassbox)


Lesenswert?

hier mal ei kurzes video meiner LED Module:
http://youtu.be/nvK0gXtcbTs

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Leider ist dieses Video, das Musik von SME beinhaltet, in Deutschland 
nicht verfügbar, da die GEMA die Verlagsrechte hieran nicht eingeräumt 
hat.

:-(

von Thomas (Gast)


Lesenswert?

@ Falk

Vielen Dank für die schnelle und ausführliche Antwort.
Das hilft mir sehr weiter.

LG Thomas

von Falk B. (falk)


Lesenswert?

@ THE BASSBOX (thebassbox)

>Youtube-Video "10 led Module 4"

Na das läuft doch wie geschmiert, ähhh, programmiert!

AVR POWER! Cool!

;-)

Schöne Grüße nach Östereich.

von Thomas (Gast)


Lesenswert?

Hallo - ich nochmal,

ich hab für das Projekt den ATmega 324PA bestellt, da es den bei R. gab.
Nun hat sich herausgestellt, dass ich den nicht programmiert bekomme.

Ich hab bisher immer mit PonyProg und nem Parallel-Adapter beschrieben.
PonyProg erkennt aber wohl den 342PA nicht. Nach etwas Suche im Netz hab 
ich gelesen, dass die Version 2.08c um einige PAs erweitert wurde (auch 
324PA). Allerdings funktioniert das mit der Version bei mir auch nicht.

Schaltungsmässig hab ich das ganz minimalistisch auf nem Steckbrett mit 
einer 5V Stromversorgung und dem 16Mhz Quarz mit den beiden Kerkos 
aufgebaut. Und natürlich den ISP-Kontakten

Ich hab auch nen blligen USBasp Programmer. Den hab ich aber bisher 
nicht zum laufen gebracht. Das liegt wohl aber an meiner Unfähigkeit im 
Umgang mit AVR-Studio und AVRDUDE. Da haben mich die bislang gefundenen 
Anleitungen nicht zum Ziel gebracht.

Hat jemand nen heißen Tipp für mich, wie und womit ich den AVR 
beschrieben kriege? Oder mach ich was anderes falsch?
Falls ich das nicht hinbekomme, werde ich wohl bei der nächsten 
Bestellung einen 644 mitordern, das sollte dann hoffentlich 
funktionieren.


LG Thomas

von Falk B. (falk)


Lesenswert?

@ Thomas (Gast)

>Hat jemand nen heißen Tipp für mich, wie und womit ich den AVR
>beschrieben kriege? Oder mach ich was anderes falsch?

Ja, du murkst rum und sparst am falschen Ende. Kauf die ein AVR ISP MK 
II, kostet weniger als 40 Euro und FUNKTIONIERT SOFORT! Oder einen 
anderen, FERTIGEN Programmieradapter, wo man nicht noch konfigurieren, 
flashen oder sonstwas muss.

von Denis K. (denis_tbg)


Lesenswert?

Hallo. Erstmal danke für das Projekt. Ich habe den atmega 644 verwendet 
und programmiert mit dem usbasp. Hierbei kann ich nur avr Dude und die 
gui von yuki lab empfehlen.
Nun habe ich ein anderes Projekt hiermit vor. Auch nach einiger suche 
habe ich leider nichts zum Thema "schalter mit dmx " gefunden.
Als konkreter Ansatz ist eine Lichtsteuerung für den Arbeitsbereich 
gedacht. Hierbei sind 4 verschiedene rgb stripes für eine Art Ambiente 
Beleuchtung angedacht und weitere 15 led Spots zur Beleuchtung. Die led 
Spots sollen mit einem Schalter (nur bestimmte)   ganz an/aus geschaltet 
werden.
Ist der Code des dmx pwm24v12 frei zur Verfügung?
Dann könnte ich die Funktion direkt implementieren ohne dmx.
Aber feiner fände ich die Lösung mit dem avr als Sender. Hat jemand eine 
Idee oder vll sogar ein fertiges Projekt? Dabei meine ich eher den Part 
der Software.
Aktuell verwende ich den Art net node von Ulrich radig.

Grüße und danke
(send via mobile)

von Denis K. (denis_tbg)


Lesenswert?

Hallo nochmal...
Ich habe gerade gesehen, daß in einem der Ordner die c Files stecken.
Dann versuche ich morgen wohl mal mein Glück mit der Anpassung.
Grüße

von Blueloop (Gast)


Lesenswert?

24x PWM geht ganz gut wenn man die Bits nach Wertigkeit sortiert in 
fertigen Ausgabebytes speichert.

Da kann man dann die 3 Bytes mit den 0er Bits an den Port anlegen, 20us 
warten, dann die 3 Bytes mit den 1er Bits an den Port anlegen, 40us 
warten, dann die 3 Bytes mit den 2er Bits an den Port anlegen...

Die ersten Stufen mache ich immer mit Busywait im Interrupt, die höheren 
Stufen dann ganz normal im Interrupt.

Dadurch bleibt 80% Rechenzeit übrig weil bei den großen Stufen die 
Zeitabstände sehr groß werden.

von MrAtlantis646 (Gast)


Lesenswert?

Hallo,

wo bekommt man das im Schaltplan genannte "Jogwheel" her?

Grüße MrAtlantis646

von Falk B. (falk)


Lesenswert?

@ MrAtlantis646 (Gast)

>wo bekommt man das im Schaltplan genannte "Jogwheel" her?

Überall, Pollin, Reichelt, whatever

http://www.reichelt.de/index.html?ACTION=2;GROUPID=3714;SEARCH=Drehimpulsgeber

von MrAtlantis646 (Gast)


Lesenswert?

@Falk

Danke für die Hilfe. :D

von MrAtlantis646 (Gast)


Lesenswert?

Geht dies auch mit ganz normalen Tastern?

von Falk B. (falk)


Lesenswert?

Nein, dazu müsste man die Software ändern.

von MrAtlantis646 (Gast)


Lesenswert?

Schade :-/

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.