www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR & DMX ??


Autor: Benjamin Gesemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe im Web schon einige projektze gefunden, bei denen ein DMX512 
sender/empfänger realisiert wurde.

Nun meine Frage. Kann auch die eingebaute serielle schnittstelle benutzt 
werden, um die DMX-signale zu versenden, oder geht es nur "manuell"?

Können die "kleineren" AVRs überhaupt eine baudrate von 250Kbit 
verkraften?

Falls es eh nicht manuell geht: In einem programm das ich im Web 
gefunden hab (rs232->dmx) wurde mit einem AT90S2313 betrieben.
(bei 9.125 Mhz) sodaß bei 37taktzyklen die gebraucht wurden um ein 
DMXBit zu senden damit die ca. 4mikrosekunden, die gefordert sind 
hinkommen (ich bin mir jetzt nicht sicher, ob es auch mit weniger zyklen 
geht)

Dei meisten controller haben jedoch max 8Mhz und der 2313 der bis 10Mhz 
läuft leider nur 2k Flash

Ist ein atmega mit 16khz also die einzige Lösung?
Und mal ganz nebenbei: Wo kann ich ihn kaufen?

Danke im Voraus....

Autor: Günter König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tag Benjamin,

wie wäre es mit dem SPI?
Müsste eigentlich gehen.

Günter

Autor: Benjamin Gesemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Günter

Was ist SPI?

und Wie kann man's danmit machen?

Gruss, Benny

Autor: Björn Jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der UART ist für DMX512 bestens geeignet. Das Protokoll von DMX512 
entspricht im wesentlichen dem RS232 Standard. Der eigentliche 
unterschied liegt im Pegel, da brauchst du einfach einen Pegelwandler. 
Probleme könntest du beim Generieren des BREAK-Signals (neuer Zyklus) 
bekommen, da das bei RS232 eigentlich ein Fehler ist und sich 
wahrscheinlich nicht generieren lässt. Das kann man aber im Notfall 
sicher mit externer HW lösen.

Hab mal ein DMX512 Empfänger gebaut mit einem 8051 mit 8MHz. Die 51 
haben eine 12er Teilung, d.h. 12/8MHz = 1.5us Zykluszeit. Das wurde 
zeitlich schon ziemlich eng, vor allem weil ich noch einen Servo u.a. 
angesteuert habe. Du must mal schauen ob es beim AVR einen speziellen 
Modus für den UART gibt, wie beim 8051. Wahrscheinlich mußt du einen 
bestimmten Quarz nehmen, wie bei mir (vielfaches von 8MHz). Der AVR 
müsste das aber packen, hab leider nicht ganz so viel Ahnung von AVR :( 
.

Gruß
Björn

Autor: Günter König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

mit SPI wird das "seriell peripherie interface" des AVR`s bezeichnet. 
Über die Pins MOSI, MISO, SCK und /SS kannst du entsprechende periphere 
Bausteine ansprechen. In der Wahl deines Protokolls bist du relativ frei 
so das auch DMX möglich sein sollte.

Nur die Hardware musst du dir selbst stricken.

Günter

Autor: hebel23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Dei meisten controller haben jedoch max 8Mhz und der 2313 der bis 10Mhz läuft 
leider nur 2k Flash

Hallo Benjamin,

also ich hab noch nie einen 8MHz-AVR gehabt, der nicht auch 9,216 MHz 
verkraftet hat. Ich weiß zwar nicht, ob sich das irgendwie negativ auf 
die Dinger auswirkt aber es funktioniert. Ich nehme fast immer 9,216 MHz 
statt 8 MHz wegen der geringeren Fehlerrate bei 115200 Baud des UART.

Gruß Andreas

Autor: Günter König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tag Andreas,
könnte aber Probleme geben, wenn das interne EEprom genutzt werden soll.

Gruß,
Günter

Autor: Wilfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benjamin,

man kann mit einem 2313 den DMX-Bus sicher empfangen und senden. Du 
brauchst nur einen 12MHz Quarz. der 2313 wir zwar etwas übertacktet, 
aber das macht ihm nichts.

Wenn man ein Break senden will, muß die Serielle abgeschaltet werden, 
das Portpin für 88us auf 0 gelegt werden (delay) und dann die Serielle 
wieder einschaltet werden.

Wenn du auf dieser Homepage unter Projekte nachsiehst, findest du meinen 
4-Kanal DMX-Dimmer.

MfG
Wilfried

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.