Copterbeleuchtung mit WS2811 RGB LED Stripe

Status
Nicht offen für weitere Antworten.

ApoC

Moderator
#1
Hallo Ihr

Vorwort


Dies soll ein Community Projekt werden. Ne Art Hackspace. Jeder, der was dazu beitragen kann, ist herzlich eingeladen, sich zu beteiligen.

Der Gedanke dabei ist: Wir schaffen gemeinsam eine Lichsteuerung, welche genau das kann, was wir wollen.
Das es schon kommerzielle Produkte gibt, sei uns bekannt, aber nicht gewollt. Wir wollen ja basteln und verstehen, was da passiert.

Wer nicht teilnehmen möchte, ist angehalten, sich ein kommerzielles Produkt zu kaufen und Werbung für dieses zu unterlassen. Denn hier gehts rein nur um das Gemeinschaftsprojekt. Ich bitte dies zu beachten, damit der Thread nicht wieder ausartet, weil sich jemand auf die Füsse getreten fühlt.


Also wir alle haben ja irgendwann, irgendwelche LEDs an unseren Coptern verbaut. Aber RGB ist schon was besonderes. Normal kann man ja bei RGB einem Stripe eine Farbe zuordnen - das reicht aber nicht - und wird langweilig. ;)

Also muss was besseres her.

WS2811 Stripes. ;)

Was ist das besondere daran?

Bei den WS2811 Stripes besitzt jede RGB LED ihren eigenen Controller, den wir über nur eine Leitung mit Daten versorgen können. Somit kann jede LED jeden Farbton in jeder gewünschten Helligkeit annehmen. Dabei wird dann später beim Copter, jeder Teilstripe für einen Arm, seriell an den nächsten gekoppelt.

led.jpg

Hier ist mal ein Abschnitt, aus 4 LEDs bestehend, zu sehen.

Und hier nochmal mein Video, welches die grundlegenden Möglichkeiten der Stripes zeigt.

http://youtu.be/pZfqILQEKik

Was haben wir vor?

Ich würde mich freuen, wenn ihr aktiv an dem Projekt teilnehmt und eurer Wissen / Ideen mit einbringt.
Was sollte so eine Beleuchtung können? Welche Features wären nützlich? Was könnt ihr beitragen? Wer kann Platinen layouten / fertigen lassen? Wer kann Arduino programmieren? Usw.

Dabei soll es immer ein freies, für jeden verfügbares Projekt sein. Wenn natürlich Kosten entstehen (Platinen herstellen zb), ist es natuerlich nicht unumgänglich, das sowas auch was kostet. Code / Ideen sind frei - aber Hardware kostet nunmal Geld. Ihr müsst euch die Hardware eben selber organisieren.

Was brauchen wir?

1. Arduino (Ich nutze n Leonardo - also einen Pro Micro - Ginge aber auch jeder andere uC, der sowas steuern kann - Teensy mit 32bit wäre auch möglich)
2. WS2811 RGB LED Stripes (http://stores.ebay.de/kt-elektronic...99772017&_sid=994913897&_trksid=p4634.c0.m322)

Aktuell kann ich ein 4m Stripe Modul (60 LED pro Meter) für 73€ pro Rolle zzgl. 2,50€ Versandkosten bekommen. Aus Deutschland und mit Garantie. Mehr als 15% Rabatt waren bisher nicht drin. Ich bin aber dran, noch günstigere Preise für euch rauszuholen.


3. Ein BEC mit 5V und soviel Strom wie nötig (3,6A pro Meter / 60 LEDs) Wobei ich bei 116 LEDs, bei weiss ca 4A gemessen habe. Das ist die einfachste Lösung, um die benötigten 5V für die Stripes zu bekommen. Spannungsregler aufm Controllerboard müssten exorbitant gross dimensioniert sein, was auch zu teuer wäre am Ende. Ein billiges China BEC reicht dafür vollkommen.

Man sollte aber bedenken, das man zb bei einem Quad etwa 40 LEDs um Durchschnitt hätte. (10 pro Arm). Dann ist die Stromaufnahme ja auch nicht so hoch - und das BEC könnte kleiner gewählt werden.

Diese Hardware war von mir gewählt, da sie einfach zu verstehen / zu beschaffen ist. Es geht natürlich auch jeder andere Controller, sofern wir dafür Code hinbekommen.

Soviel zur Hardware. Software brauchen wir auch, dazu habe ich mich bei einer Lösung von teldredge "bedient". Der Code ist als Anhang verfügbar.

Anhang anzeigen ws2811.rar

Wichtig dazu noch: Serial Command (https://github.com/scogswell/ArduinoSerialCommand) und Fast SPI (http://code.google.com/p/fastspi/).

Dazu brauchen wir Leute, die diese Teile, nach Wünschen der Community umgestalten können.

Es haben sich schon einige Leute bei mir per PN gemeldet, die sogar schon etwas programmiert haben. Sah sehr vielversprechend aus. Diese User werden, wenn die Zeit dafür reif ist, bestimmt ihre Fortschritte hier auch veröffentlichen.


Zuerst einmal müsste man die Rahmenbedingungen festlegen, also was die Featureliste ausmacht.
Das sind erstmal grundlegende Ideen, welche natürlich nicht bindend sein müssen.

1. 4 / 6 / 8 armige Ausführung / Nummer der LEDs pro Arm (Auswahl bei der Programmierung)
2. mindestens 2 RC Kanäle (Programmwechsel / Helligkeit / Programmierung)
3. Ne GUI zur Programmierung (Processing ?)
4. Welche Blinkmuster / Farbfolgen wären grundlegend gewollt?
5. Lipoalarm

6. Bluetooth Schnittstelle (Zur Einstellung über eine App zb oder drahtlose Einstellung per PC)

Werde natürlich eure Ideen diesbezüglich hier mit eintragen - und würde mich freuen, wenn ihr zu bestimmten Aufgaben, Lösungen finden / programmieren könntet und ob ihr euch, in welchem Umfang auch immer, an dem Projekt beteiligen wollt / könnt. Ideen dazu sind immer willkommen (Zum Beispiel: Rabatte bei Forumkauf von Stripes, grundlegende Programmstruktur erstellen, Code pflegen - Googlecode / Github usw)

Initial ist jetzt alles gesagt - ich bin gespannt, welche Ideen / Vorschläge ihr habt.
-------------------------------------------------------------------------------



EDIT 4. Juli 2013


Stephan (dlarts) hat ja schon gut vorgelegt in Sachen Code. Seinen Code könnt ihr hier finden: https://github.com/DLArts/MultiCopterLightControl

Er hat dabei schon richtig tolle Arbeit geleistet - Danke dafür!
 
Zuletzt bearbeitet:
Erhaltene "Gefällt mir": jayson
#2
Hallo zusammen,

ich bin relativ neu im Thema Multicopter. Ich habe um Weihnachten rum meinen ersten Quadro aufgebaut, allerdings konnte ich auf Grund des Wetters noch nicht allzuviele Flugstunden absolvieren. Das wird sich hoffentlich bald ändern :)

Nachdem ich ApoC's ersten Thread zum Thema Copterbeleuchtung mit WS2812-RGB-Strips gelesen hatte, war ich direkt von der Idee angetan. Ich hatte schon immer mal vor gehabt, mit RGB-LEDs rumzuspielen. Allerdings hat mich bisher der Aufwand mit Multiplexern, LED-Treibern, Verdrahtung etc. immer abgeschreckt, da ich auch nicht der Elektonik-Experte bin. Die Programmierung hat mich hingegen als Informatiker immer sehr interessiert. Und die notwendigen Elektronik-Anforderungen werden mit diesen RGB-Strips soweit reduziert, dass ich mich an das Thema gewagt habe.

Ich habe zunächst nur einen halben Meter RGB-Strips bestellt um damit zu experimentieren. Zusätzlich habe ich mir einen Arduino Nano V3 zugelegt. Ausserdem hatte ich noch einen 5V BEc, einen Bluetooth-Adapter und einen ungenutzen 2.5 GHz Empfänger zuhause rumfliegen. Mit dem Ausgangsmaterial und dem Beispielcode von ApoC habe ich mir daran gemacht, eine Multicopter-Beleuchtung zu testen.

Herausgekommen ist zunächst ein noch sehr einfacher Sketch, der aber zumindest schonmal ein paar Möglichkeiten bietet:
  • man kann im Sketch die Anzahl der Arme und die Anzahl der LEDs pro Arm angeben, also z.B. 4 Arme mit je 6 LEDs
  • die Farbe jeder einzelnen LED bzw. die Farbe aller LEDs eines Armes kann per Terminal eingestellt werden, hierbei wird der HSL-Farbraum genutzt
  • die jeweilige Farbeinstellung kann im EEPROM per Terminal-Befehl gespeichert werden. Die Einstellungen werden beim nächsten Start automatisch geladen
  • per Terminal-Befehl kann in verschiedene Modi umgeschaltet werden

Ich hatte auch schon mit einer Steuerung mit 2.4 GHz Funke rumgespielt, war damit aber nicht wirklich zufrieden. Da muss ich noch etwas mehr Zeit rein stecken.
Es sind noch nicht viele Effekte eingebaut. Die eingebauten Effekte können alle in der Geschwindigkeit beliebig eingestellt werden. Da ein paar Bilder die Effekte besser erklären als weitere Worte, könnt ihr euch diese einfach im folgendem kleinen Video ansehen.

http://www.youtube.com/watch?v=7zUB6uN000o

Wie gesagt, dass ganze steckt noch in den Kinderschuhen und ist noch weit davon entfernt, final zu sein. Aber es ist ein Anfang meinerseits.

MfG,
Stephan
 
#3
wenn das universell werden soll, sollte man auch ein universelles Protokoll aka mavlink unterstützen, oder?
 

ApoC

Moderator
#4
wenn das universell werden soll, sollte man auch ein universelles Protokoll aka mavlink unterstützen, oder?
Das schöne daran: Alles kann, nix muss. Also wenn jemand etwas dafür coden kann / will - warum nicht.
 
#5
Das schöne daran: Alles kann, nix muss. Also wenn jemand etwas dafür coden kann / will - warum nicht.
dann wünsche ich mir gleich noch ein, zwei universelle Ausgänge zur Ansteuerung der Landefüße - von MAVLink RTH oder LAND gesteuert.
und Ausgänge mit ge-schalt-regeltem LED-Ausgang zur direkten Ansteuerung von 3-Watt-LED-Landescheinwerfern.


wart' nur, mir fallen noch andere Sachen ein :p
 
Zuletzt bearbeitet:
#6
Schönes Projekt was ihr da vor habt. Ich habe auch seit n Paar Tagen nen Meter von dem Band rumliegen, aber noch keine Ahnung was ich damit machen werde - erstmal spielen.

Das ganze Konfig-Tool / GUI / Bluetooth wasweißich is zwar alles Nett, aber im Prinzip reicht auch ein Arduino Sketch in dem was ein/auskommentiert wird wie beim Multiwii. Ich kenne es von mir - und ich denke vielen Programmierern geht es nicht anders - das Programm ist dann fertig wenn es für mich alles tut was es soll.
Ob ich jetzt das Lichtmodul an den PC hänge und ein Konfig tool öffne oder die Arduino IDE is mir vom Aufwand her latte, auch kann ich per Konfig immer nur vorkonfigurierte Dinge machen, im Quellcode direkt Änderungen wie ich sie gerade brauche.

Also verschwendet nicht zu viel Zeit auf die config Geschichten, jeder der sich etwas damit befasst hat im Arduino schnell ein paar zeilen/schleifen geschrieben um seine eigenen Effekte zu bauen, ist alles sehr gut dokumentiert und das fastSPI Beispiel dient schon prima als Grundlage. Servosignal Einlesen ist auch schon in den Arduino Beispielen dabei.

Arduino ist ja genau dafür da, um auch nicht Informatikern etwas programmieren beizubringen.
 

ApoC

Moderator
#9
Wie ich schon im "alten" Thread sagte: Natürlich ist es bekannt, aber dabei werden andere Stripes verwendet, welche eine Clock Leitung haben - die WS2811 brauchen keine, da geht alles über eine Datenleitung.

Simple as possible. Und mit Fast SPI auch kein Problem vom Timing her.

Nur bei der Anzahl der LEDs ist man wohl, aufgrund der Rechenleistung / Architektur von der Fast SPI Libary, begrenzt. Meine es waren um die 600 LEDs, die man mit maximal 25Hz ansteuern kann.

Mit dem Teensy (32bit) und DMA, sowie FastSPI 2 soll noch mehr gehen.
 
#11
Nunja - und soviele werden wir am Copter eh nicht verbauen,also ist das kein Thema.

Wer mehr will, sollte sich nach anderen Stripes umsehen, bzw an eine Matrix denken.

Auch dafür gibts schon "fertigen" Code, von Adafruit zb.
 
#12
Sooooo, hat sich lange nix getan, da ich beruflich sehr eingespannt bin.

Aber wegen der Stripes

Aktuell kann ich ein 4m Stripe Modul (60 LED pro Meter) für 73€ pro Rolle zzgl. 2,50€ Versandkosten bekommen. Aus Deutschland und mit Garantie. Mehr als 15% Rabatt waren bisher nicht drin. Ich bin aber dran, noch günstigere Preise für euch rauszuholen.
Die Bestellungen bitte an shop[at]kt-elektronic.de senden.

Ganz wichtig ist, dass die Bestellungen vollständig bei uns ankommen.
Das heißt welcher Artikel, Anzahl und eine vollständige gültige Lieferadresse.
Hört sich erst mal lustig an, aber wir bekommen oft Bestellungen wo nicht mal ein vollständiger Name steht.

Nach Eingang einer Bestellung, erstellen wir einen Auftrag und
versenden diesen als PDF-Dokument an die Email Adresse über die die Bestellung gesendet wurde.
Unsere Bankverbindung und die PayPal Adresse sind im Auftragsformular angegeben.
Nach Zahlungseingang wird die Bestellung versendet.
Bitte noch als "Codewort": fpv-community angeben.
 
#13
Hi,
das hört sich doch schonmal gut an.

Ich bin ein wenig weiter gekommen. Ich habe das ganze auf die Bibliothek FastSPI_LED2 umgestellt, da diese wesentlich schlanker ist. An den Effekten hat sich noch nicht allzuviel getan, allerdings habe ich ein wenig mit Android und Bluetooth rumgespielt. Herausgekommen ist eine kleine App für Android, mit welcher man den Arduino und somit die LEDs steuern kann. Das ganze Bedarf aber noch etwas Arbeit. Wenn es soweit ist, werde ich das ganze im GitHub veröffentlichen, sodass es jeder benutzen kann. Das wird aber mit Sicherheit nicht vor dem nächsten WE soweit sein.
 
#14
Das klingt doch schonmal gut. Du hast es ja praktisch alleine entwickelt. ;)

Stripes haben wir, Code sieht auch toll aus. Jemand vielleicht ne Idee zum Thema Platine?
 
#15
Ja, einfach n Arduino pro mini ;_)

http://www.banggood.com/Wholesale-N...MHz-Arduino-Compatible-Nano-Size-p-68534.html

Ne, im Ernst, der hat alles drauf was du brauchst, 1-x Servokabel ran und an einen Pin die Ledleiste.

Anschluss für den FTDI (PC) oder alternativ BT liegt auch frei.

BT dazu kost auch nix: http://www.rctimer.com/index.php?gOo=goods_details.dwt&goodsid=764&productname=
Oder nur das pure Modul ohne KAbel: http://www.banggood.com/Wholesale-3...odule-RS232-TTL-Built-In-Antenna-p-47383.html


Mehr brauchts nicht, es sei denn du willst noch das 5V BEC drauf machen, aber das lohnt alles nicht vom Preis her.

3A BEC: http://www.rctimer.com/index.php?gOo=goodspic.dwt&goodsid=161
5A BEC: http://www.rctimer.com/index.php?gOo=goods_details.dwt&goodsid=160&productname=

Alternativ / Ähnlich auch alles bei HK zu beziehen:

http://www.hobbyking.com/hobbyking/...th_Module_Programmer_Android_compatible_.html
http://www.hobbyking.com/hobbyking/store/__25086__Arduino_Nano_V3_0_Microcontroller_Board.html
http://www.hobbyking.com/hobbyking/store/__15212__HobbyKing_Micro_UBEC_3A_5v.html
 
Zuletzt bearbeitet:

stars112

Fortgeschritten :-)
#16

meister

Erfahrener Benutzer
#18
Hi,
LED Leiste habe ich auch schon Zuhause liegen und auch mal mit em Arduino betrieben, finde die teile echt genial, leider komm ich im Moment zu nix.
Daher klinke ich mich einfach mal zum mitlesen hier ein.

Gruß,
Olli
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten