Forum: Mikrocontroller und Digitale Elektronik Real-Time-Steuerung


von Paulchen (Gast)


Lesenswert?

Hallo,

ich habe eine Frage:

wie kann ich eine LED-Matrix am besten in Real-Time Steuern? Also an PC 
anschließen und die Frames direkt senden. Ich dachte ich hole mir ein 
ATMEGA 16 und dann alles Fetiglöten und schon kann ich in Animationen 
Programmieren. Doch wie macht man das mit Real-Time? Ab besten sollte es 
über USB gehen ...

MfG

von Falk B. (falk)


Lesenswert?

@  Paulchen (Gast)

>wie kann ich eine LED-Matrix am besten in Real-Time Steuern? Also an PC

Na man muss sich halt echt Zeit nehmen, das Ganze zu bauen. Real time 
;-)

>anschließen und die Frames direkt senden. Ich dachte ich hole mir ein
>ATMEGA 16 und dann alles Fetiglöten und schon kann ich in Animationen
>Programmieren.

Na dann mach mal. Klingt doch einfach.

> Doch wie macht man das mit Real-Time?

Schönes Wort, gell?

> Ab besten sollte es über USB gehen ...

FTDI232

MFG
Falk

von Frank L. (hermastersvoice)


Lesenswert?

und auf jeden Fall auf Windows verzichten!!!!! Ganz wichtig! Dein 
Lieblingswort und Windows schliessen sich gegenseitig aus!

bye

Frank

von Kai F. (kai-) Benutzerseite


Lesenswert?

ich würde erstmal vorschlagen, dass du deine Matrix ohne Schnittstelle 
aufbaust und sobald sie funktioniert, und das wird wohl einige Zeit 
dauern, implementierst du eine UART Schnittstelle und baust das ganze 
auf USB um. Das geht dann relativ einfach mit dem Treiber, den Falk 
vorgeschlagen hat.

Wünsche Viel Spaß und Erfolg


Grüße von einem neuen Linux Fan

Kai

von Peter (Gast)


Lesenswert?

nicht ganz, für NT gibt es eine RealTime erweiterung - aber RealTime und 
USB dürfte schwer werden?
Die Frage ist mehr wieviel RealTime muss es den Sein? Bei der Heutigen 
Rechenleistung ist so viel Reserve da, das es für ein paar LEDs reichen 
sollte - RealTime hat auch nicht mit Geschwindigkeit zu tun. Es ist auch 
RealTime wenn etwas immer noch 10min reagiert

von Christian (Gast)


Lesenswert?

>Bei der Heutigen Rechenleistung ist so viel
>Reserve da, das es für ein paar LEDs reichen
>sollte

Ich hab da mal nen Vortrag vom Projekt Blinkenlights gesehen. Die hatte 
echt Probleme mit dem Timing - da war nix mit Reserve... allerdings 
verwenden die auch gerne mal "massenhaft" LEDs - oder anders 
Leuchtendes.

von Paulchen (Gast)


Lesenswert?

hallo,

danke für die antworten. Also mit RealTime meinte ich eigentlich, dass 
ich direkt über den PC die Matrix ansteuern kann, möglichst mit kleinen 
Latenzzeiten. Wie wird sowas am besten realisiert?

von Peter (Gast)


Lesenswert?

@Christian
Ich denke das Hauptproblem ist dabei die Software, wenn man sieht was 
man heute für eine CPU für einige dinge braucht. (Z.b. das Spiel "So 
Blonde", oder das neuste Adventure von MS (Vista) ) dann sollte jedem 
der sich schon mal eine Weile mit Rechentechnik Beschäftigt klar sein 
das da noch viel Optimierungsmöglichkeiten vorhanden sind.
Ist doch wie die Videoanimation auf einem TV generiert von einem 
Atmel-Mega, da muss man sich gedanken bei der Softwareentwicklung 
machen.
Ich bin der Meinung das heute viel zu viel Rechenleistung durch 
schlechte Software verschwendet wird.

von Peter (Gast)


Lesenswert?

@Paulchen
wie klein soll denn die Latenz werden? Wenn es wirklich richtig schnell 
sein soll ist wohl eine PCI-Karte das richtige, wenn es nicht viele 
Daten sind dann auch eventuell die Parrallele Schnittstelle. Bei USB ist 
zu viel Overhead vorhanden - sobald man ein Gerät ansteckt ist auf dem 
Bus eine weile ruhe.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Du solltest dir erstmal eine Übersicht zum erforderlichen Timing 
verschaffen.

- Welche Bildwechselfrequenz soll deine Matrix haben?
- Welche Abmessungen hat deine Matrix (X, Y)
- wieveiele Farben mit welcher Bittiefe?

Nehmen wir mal an, 100 x 100, 16 Bilder pro Sekunde mit RGB?

Das sind also 100 x 100 x 16 x 3 = 480.000 Byte pro Sekunde

480.000 Byte * 8 (1 Byte=8 Bit)= 3.840.000 Bit, also fast 4 Megabit

... ist 'ne Menge Holz. Mit einer PC-seitigen Programmierung auf 
Hochsprachen-Ebene (Delphi oder Basic) wirds da ein wenig eng.

Zieht man noch in Betracht, dass Windows auch gerne mal ein par 
Systemthreads zwischenschiebt, braucht man noch einen zusätzlichen 
Buffer für mindestens eine halbe Sekunde. Ich weiss nicht, ob das ein 
Bastelprojekt ist.
Ein wenig anders sieht es aus, wenn du die Bilder vorher in einen 
Speicher der Matrixsteuerung laden würdest und der "Film" dann aus dem 
Speicher abgespielt wird. Aber Realtime ... wird hart.

Eventuell kann man sich ein wenig Inspiration von sog. USB-Grafikkarten 
holen, wenn man an die verwendeten Chips und den zughörigen Dokus 
rankommt.

Frank

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.