Hallo MCU-Freunde, ich habe eine Aufgabe mit Atmel 89C51RB2. Aufgabe: Farbtemperatur von vier Leuchtstofflampe würde durch DMX Bus mit MCU 89c51RB2 geregelt. Ich möchte die Lampen zu MCU koppeln. An MCU wird LCD -Anzeiger mit I2C gesteuert. Meine Fragen sind folgende: Wie kann ich diese Kupplung (I2C - DMX) realisieren? (im Internet dazu Schaltungen gefunden, aber vielleicht einfacher?) Wie kann ich im Softwearbereich programieren? (im C) Kann ich vielleicht das auch durch RS485 anfertigen? (im MCU gibt es Möglichkeit DMX durch diesen Port zu steuern) Mit freundlichen Grüßen Student aus Hannover an der FHH
Weiß ich, das ist eine komplexe Fragereihe. Dann kann jemand Infomationen in diesem Thema geben? Oder kennt jemand Michael Dworkin? Das wäre dringend! Danke
Hallo, hängt von 2 Sachen ab, a) wie zeitkritisch das Ganze sein soll und b) ob du alle 512 kanäle brauchst. Ansonsten ist das ja recht einfach von der Vorgehensweise: - alle auszugebenden Bytes über I2C lesen - dann komplett als DMX-Block ausgeben Wenn du nur 4 DMX Kanäle brauchst kommst du bei der Vorgehensweise sogar auf ein akzeptable Refreshrate. Thomas
Also wenn ich das richtig sehe (korrigier mich wenn ich falsch liege) hat der 89C51RB2 kein TWI bzw. I2C Interface "on board" du müßtest da also selber noch die I2C Signale dekodieren. Meine Empfehlung: nehm einen AVR mit TWI (z.B. Mega16) und schließe noch einen MAX485 an den USART an. Dann beschränkt sich der Code auf ein Minimum, die meiste Arbeit wird dir der AVR dann abnehmen :-) Thomas
Hallo, Die Anwendung ist nicht Zeitkritisch, und ich brauche nur 4 DMX Kanäle zu steuern. Mein Problem besteht dadrin, wie ich überhaupt die DMX Daten rauskriege. Da ich eine I2C Bus schon vorhanden habe, dachte ich das der I2C-DMX konverter die einfachste Lösung wäre. Ich bin für jeden möglichen Lösungen interesiert, was wegen Zeitmangel schnell fertig ist. Danke im Voraus: Attila
Dann würde ich es so machen wie von mir vorgeschlagen - also einen AVR mit TWI Interface (Mega 8, Mega 16 etc...) , den TWI als Eingang geschaltet. Dazu einen 75176 an einen Portpin hängen und dort das DMX Signal ausgeben. Wie schon gesagt, der Code gestaltet sich dann recht einfach: Die 4 Bytes über das TWI einlesen, zwischenspeichern und als 4 DMX Werte über den 75176 ausgeben. Das geht bei 4 DMX Werten wirklich schnell. Für die entsprechenden Register des TWI zieh das Datenblatt des AVR zu Rate, den Aufbau des DMX-Signals findest du unter www.soundlight.de Thomas
Noch ne Ergänzung: Wenn es wirklich schnell gehen soll und du auch die Lötarbeiten auf ein Minimum reduzieren willst - bei www.embedit.de gibts ein "Mega8 Modul mit RS485 Schnittstelle". Das sollte genau das richtige für dich sein :-) Thomas
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.