Forum: Mikrocontroller und Digitale Elektronik DMX - PIC - LED


von Marcel (Gast)


Lesenswert?

Hallo Forumgemeinschaft!

Ich bin mechatronik Schüler aus Wien und arbeite im moment an einem 
Projekt für Veranstaltungstechnik.

Vereinfacht habe ich ein Feld mit 100 RGB Pixel die alle daisy chained 
sind.
Diese werden via PIC16F88 angesteuert.
An diesem PIC hängt noch ein Funkempfänger.
Die Sendebox Hängt via DMX an einem PC bzw Lichtpult.

Ich muss vom PC jede einzelne LED ansteuern können und trotzdem genug 
fps zusammenbekommen.

Am liebsten wäre es mir wenn der PC via DMX genau das ausspuckt was ich 
später bei den Pixel auch brauch.. Und zwar ist das ein 16 bit Parket, 
jeweils 4 bits für Adresse der LED, R, G und B..

Kann ein DMX controller soetwas ausgeben oder wird der 4 kanäle zu je 8 
bit brauchen?

Ich befürchte das wenn vom controller 4 mal 8 bit pro Pixel gesendet 
werden das man für 100 pixel zu lange braucht um zB eine flüssige 
bewegung wiedergeben zu können..

Kennt sich jemand mit DMX aus und könnte mir ein wenig helfen?

Mit freundlichen Grüßen,
Marcel

von Hell (Gast)


Lesenswert?

Marcel schrieb:
> Ich befürchte das wenn vom controller 4 mal 8 bit pro Pixel gesendet
> werden das man für 100 pixel zu lange braucht um zB eine flüssige
> bewegung wiedergeben zu können..

Du möchtest als 400 Byte Übertragen.
Das kannst Du locker mit DMX bei 25 fps übertragen:
http://de.wikipedia.org/wiki/DMX_(Lichttechnik)

von usuru (Gast)


Lesenswert?

nimm einen 16F1847, der ist pinkompatibel zum 16F88, doppelt so schnell 
(und ausserdem für C optimiert, hat mehr features etc ...) und kostet 
die Hälfte

von Marco S. (sharkman)


Lesenswert?

Hi Marcel.

Ich musste mich in letzter Zeit auch mit dem DMX Protokoll 
auseinandersetzen.

Theoretisch kannst du mehrere Daten auf einen Kanalmodelieren, wenn du 
das entsprechend auf dem PC codierst und auf entsprechend auf dem PIC 
interpretierst.

Das Protokoll sieht vor das eh alle 512 Kaäle gesendet werden, egal auf 
wie vielen du interpretierst.
Da du also 400 Kanäle benötigst, wenn du 4 Werte pro LED senden willst, 
sollte das funktionieren.

Ich möchte nur fast bezweifeln, dass du das auf dem PIC alles in der 
Zeit interpretiert bekommst. Du musst die Daten ja einlesen und trotzdem 
parallel verarbeiten.

Von daher würde ich Versuchen die Daten so zu senden, dass du nur 4 Byte 
pro Farbe brauchst und entsprechend die LEDs in einer Matrix 
anzusprechen (Multiplexed). Natürlich nur falls dies vom 
Schaltungsdesign möglich ist. Ich werde aus dem daisy chained nämlich 
nicht so ganz schlau. Ich kann mir kaum vorstellen dass du 100 LEDs in 
Reihe schaltest.

Schöne Grüße
Marco

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
Noch kein Account? Hier anmelden.