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....
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
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
>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
Tag Andreas, könnte aber Probleme geben, wenn das interne EEprom genutzt werden soll. Gruß, Günter
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.