www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmel Controller Probleme mit Slot 1 und 2 bei DMX-512


Autor: Christof Rieger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Bin dabei ein DMX-512 zu RS232 Dongel zu basteln. Läuft lt. Oszi schon
gans gut, Nur irgended was schreibt mir ab und zu Mist in den DMX-Slot
1 oder 2 un ich finde nicht was.

Autor: Christof Rieger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Kurzbeschreibung

Autor: Christof Rieger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Quellcode 2131

Autor: Christof Rieger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Quellcode mega8

Autor: Christof Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, eineige haben sich den Code wenigstens schon mal angeschaut,
ich hoffe ihr blickt einigermasen durch. Ist teilweise etwas
Spagettimäsig programmiert um Zeiten für call und ret Befehle
einzusparen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich würde für eine UART-Anwendung immer einen Quarz nehmen, ein
RC-Oszillator ist einfach zu instabil.

Ich weiß jetzt auch nicht, warum das 2 Chips sein müssen, man kann doch
eine UART in Software machen.


Peter

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Software-UART bei so hohen Baudraten geht nur beim Senden.

Ich dachte, daß ein DMX-Steuergerät nur senden muß.

Deins scheint aber auch was zu empfangen, wozu ist das denn nötig ?


Peter

Autor: Christof Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

Danke das du dir Mühe gemacht hast.
Ich denke, das ich das Problem mit dem RC-Oscilator im Griff habe.
Der Oscilator ist nicht statisch Clibriert sondern wird in Abständen
mit dem Quarzoszilator des 2131 verglichen und ggf. automatisch
nachcalibriert. Die Abweichung beträgt durchschnittlich nur 0,25%

Mit einem Software-Urat komm ich auch beim alleinigen senden nicht hin,
da ich der Schnittstelle etwas Inteligenz verpasst habe um die geringere
Bitrate zu PC besser ausnutzen zu können. Z.B. kann ich mit 4 Byts vom
PC zum Dongel bis zu 256 nacheinander folgenden Slots mit einem Wert
versehen.

Der DMX-IN wird benötigt um Paralell ein DMX-Mischpult betreiben zu
können und es auch als Eingabeeinheit für den PC nutzen zu können.

Z.B. Die Hintergrundbeleuchtung oder Scanner als Spot werden über das
Mischpult geregelt, die Efekte kommen vom PC.

Autor: Christof Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch eine Info:

Ist der Slot eins oder zwei mit einem Anderen Wert als 0 gefüllt
scheint das Problem nicht aufzutreten. Nur wenn beide Slots mit 0
beschrieben sind ädert sich meistens der Wert von Slot 1 nach 1 oder
zwei richtigen Ausgaben in 64

Autor: Christof Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat jemand ne Idee

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Code ist wirklich sehr schwer zu durchschauen.
Du solltest ihn doch etwas strukturieren, d.h. in einzelne
Unterfunktionen aufteilen.
Teilweise werden da Zyklen mitgezählt, ich sehe da aber nichts
zeitkritisches.
Ich würde auch mit Interrupts arbeiten zumindest für den UART-Empfang,
damit nicht Daten verloren gehen.

Wie nun die Datenübergabe zwischen beiden erfolgt, ist mir überhaupt
nicht klar.
Da muß ja irgendein Protokoll, Signalisierung und Handshake erfolgen
und das auch noch in beide Richtungen gleichzeitig.

Auf jeden Fall würde ich den ganzen Kalibrations-Schrunz raushauhen,
ein 4, 8 oder 12MHz Quarz kost ja nicht die Welt und Pins sind auch
nicht zu wenig.


Peter

Autor: Christof Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tausend Dank Peter,
Ich hab den Bock gefunden den ich geschossen habe.
Eine Dicke Ohrfeige für den Dipl. Ing. der Elektrotechnik.
Ich habe die Schaltung genau so betrieben wie im Schaltbild
dargestellt. MIT OFFENEM DMX-512 EINGANG. Das Ergebnis war eine
unfreiwilige und unsaubere Rückkoplung des Ausgangssignals auf den
Eingang und das hat natürlich durcheinander gegeben.

Der Code war in Ordnung mit Ausnahme eines kleinen Timingfehlers.

Peter, wenn ich das Ding sauber zum laufen kriege, kannst du gerne den
Code haben um die auch eins aufzubauen.

Ich habe mittlerweile sogar 6 Podieingänge und 2 zusätzliche Flasher
Programmiert.

P.S. Die Sache ist schon zeitkritisch wenn man annehernd die Maximale
Framerate erreichen will.

Autor: Sven Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sowas ähnliches schwebt mir auch vor, einen DMX -> PMX Umsetzer zu bauen
(PMX ist RS232 mit 9600 Baud)
Ist es wirklich nötig hier zwei µC zu nutzen?

Danke schonmal.

Autor: Christof Rieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
9600 Baud ist zimlich lahm. Das dürfte auch mit einem Mega8 gehen.

Autor: Sven Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du meinst es müsste klappen DMX zu empfangen und gleichzeitig per Soft
Uart 9600kB zu senden?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde sagen ein µC mit 2 x UART wäre ideal. Für ein Projekt, wo es
darum ging, einige 100 m mit DMX zu überbrücken, habe ich eine UART auf
250KBaud gestellt und die andere auf ~4800. Da ich nur 60 Kanäle
gesendet habe, hat man immer noch 7 Updates/Sekunde.
Michael

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.