www.mikrocontroller.net

Forum: Platinen DMX Platine (Mehrere Kanäle)

Autor: Christoph Schweppe (emptynick)
Datum: 13.05.2008 11:55

Hallo,

ich habe vor einiger Zeit ein selbstbau Projekt gestartet,
in dem ich einen Moving Head bastle.
Alles schön und gut.
Die Optik etc. passen schonmal sehr gut,
funktioniert sehr gut und von der 250 Watt MSD Lampe kommt auch der
größte Teil aus dem Kopf wieder heraus.
Nur leider hackt es an der Platine, die das DMX Eingangssignal an die
Steppermotoren weitergibt.
Ich bin ein absoluter Anfänger in der Sache und kenne auch schon die
Website über die 2 Kanal Stepper Steuerung, doch mein Problem liegt
darin, dass ich 12(!) Kanäle brauch.
Ist dies realisierbar, auch für einen Anfänger?
Wäre auch bereit für eine fertige Platine einiges auszugeben!

LG emptynick
Autor: Gustav (Gast)
Datum: 13.05.2008 11:59

Vielleicht findest Du hier etwas:

http://www.soundlight.de/
Autor: Christoph Schweppe (emptynick)
Datum: 13.05.2008 12:08

Meinst du, sowas wäre richtig für mich?
http://www.webshop.soundlight.de/pd-756600185.htm?...
Entschuldigt biite, dass ich so doof frage, aber irgendwie muss man ja
in die Materie rein kommen ;)
Autor: Gustav (Gast)
Datum: 13.05.2008 12:34

Es gab von Soundlight bis vor kurzem sogar eine
Steppermotoren-DMX-Karte.

Vielleicht solltest Du dort einfach mal anrufen.
Autor: Christoph Schweppe (emptynick)
Datum: 13.05.2008 12:55

Glaubst du, dass die bis zu 12 Motoren unterstützen kann?
Ich werde da gleich einmal anrufen!
Danke für die Antwort
Autor: Max Kalinski (Firma ameise) (ameisevinyl)
Datum: 13.05.2008 20:09

Hallo,

also auf alle Fälle kannst Du mit
einem atmega168 (damit hab ichs gemacht) oder vergleichbaren controllern
genügend DMX-Kanäle empfangen und deren Werte Speichern.
Das Programm durchläuft quasi alle empfangenen Kanalwerte
(eine Kette von Bytes) und "pickt" sich nur die heraus auf die
das DMX-Gerät hören soll (max 512).
das ist nicht sehr aufwendig und kann in der ISR geschehen,
beim Empfang von einem Zeichen an der seriellen Schnittstelle
(mit entsprechendem Treiber Bausten z.B. 75176)
Ich bezweifle aber, dass Du dann noch 12 Schrittmotoren
gleichzeitig mit einem Controller gesteuert kriegst,
ich hab zwar keine Ahnung von Schrittmotoren,
aber man braucht angeblich 5-6 digital Ausgänge pro Motor.
(http://www.roboternetz.de/schrittmotoren.html)
D.h. du müsstest also evtl. mehrere identische Boards
basteln (z.B. für je 2 Motoren), und das DMX-Signal
durchschleifen...
Oder einen Controller zum Empfang von DMX nehmen,
und von diesem aus die Werte gezielt an Controller
zur Steuerung der Motoren weiterleiten...
(z.B. einen atmega169 der hat zwei UARTS)
äh ja ich glaube so ists hier gemacht:
http://www.mikrocontroller.net/articles/Schrittmot...
(32 motoren, 6-strang)

peace
max
Autor: Gustav (Gast)
Datum: 14.05.2008 10:54

> Ich bezweifle aber, dass Du dann noch 12 Schrittmotoren
> gleichzeitig mit einem Controller gesteuert kriegst

Warum nicht?

Zum Beispiel mit einem PIC18F4525 kann sich das ganze Projekt als
"Entspannungsübung" darstellen:

Lese über die UART das DMX-Signal ein. Berechne anschließend die
nächsten Schritte der Motoren und gebe sie an die Motortreiber mittels
Seriell-zu-Parallel-Wandler aus.
Die erste DMX-Adresse wird über einen Codierschalter direkt eingelesen.
Nebenbei steht Dir noch sehr viel Speicher für alle möglichen Funktionen
im Mikrocontroller zur Verfügung.

Da Dein DMX-Signal meist deutlich weniger als 50 mal pro Sekunde
gesendet wird, hast Du nach jeder Sendung viel Zeit, um den ganzen
Prozess durchlaufen zu lassen. Vermutlich hängt Dein Contoller etwa 90%
der Zeit in einer Warteschleife herum.

> D.h. du müsstest also evtl. mehrere identische Boards
> basteln (z.B. für je 2 Motoren), und das DMX-Signal
> durchschleifen...

Quatsch!

> Oder einen Controller zum Empfang von DMX nehmen,
> und von diesem aus die Werte gezielt an Controller
> zur Steuerung der Motoren weiterleiten...
> (z.B. einen atmega169 der hat zwei UARTS)

Ebenfalls quatsch!
Autor: Master Snowman (snowman)
Datum: 14.05.2008 11:04

ich bevorzuge zwar auch PICs aber eigentlich ist das wurst, welchen uC
du nimmst.

ich weiss nicht, wo der vorteil von 2 UARTs sein soll?! wenn du's über
UART und interrupt lösst, hast du wirklich 90% freie kapazität. wieviel
ressourcen deine motoransteuerung braucht, kann man nicht abschätzen,
solange man nicht weiss, wie sie anzusteuern sind... (ich will damit
sagen, falls wir das für dich abschätzen sollten, müsstest du infos
rüber wandern lassen). aber ich denke mit einem uC sollte man
durchkommen; unabhängig ob PIC18xxx oder Atmel XY
Autor: Gustav (Gast)
Datum: 14.05.2008 11:18

@ Master Snowman:

Ich stimme Dir voll zu, der Mikrocontrollertyp ist wirklich egal. Er
sollte nur genügend Kapazität haben. Da ich ebenfalls PICs bevorzuge
habe ich einen Beispieltyp aus dieser Welt gewählt, mit dem das Projekt
realisierbar ist.
Autor: Falk Brunner (falk)
Datum: 14.05.2008 19:10

Autor: Christoph Schweppe (emptynick)
Datum: 18.05.2008 14:01

Naja gut, Relais und Steppermotoren anzusteuern sind ja eigentlich 2
Welten.

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
  • Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net