Hallo ich bin neu hier und habe gleich eine Frage.
Ich suche eine Ansteuerung für die WS2812 oder WS2811 für Flugzeugmodelle.
Die Modelle sind sogenannte EPP Hallenflieger uns sollten so leicht wie möglich sein.
Deswegen suche ich einen Controller der so klein und leicht wie möglich ist aber folgende Funktionen haben:
LED´s sind alle in Reihe aber gestückelt (mal 10 mal 30 LED´s) und ein kleiner Teil parallel.
Lauflicht in verschiedenen abläufen, Blinklicht, Farbänderung etc.
Von der Fernbedienung aus die Lichteffekte steuern, bis zu 100 LED´s ansteuerbar.
Ich habe noch sehr wenig Erfahrung in der Programmiergeschichte will es aber lernen.
Gespeist wird das System von dem Empfänger mit 5V und sowie von einem BEC 5V/6A
Könnt Ihr mir Tipps geben welcher Controller dafür geeignet ist?
Mir wurde schon folgender empfohlen:
Adafruit Trinket - Mini Microcontroller - 5V Logic
Vieviele LEDs sollen konkret mit einem Controller angesteuert werden? 300?
LED´s sind alle in Reihe aber gestückelt (mal 10 mal 30 LED´s) und ein kleiner Teil parallel.
Unklar.
Wie gross ist so ein Flugzeug und welche Traglast kann es mitnehmen?
Ein Trinket ist ein ATtiny85 + USB auf einem Board, man koennte auch einen nackten nehmen und den anderweitig programmieren. Allerdings hat der nur 512 Byte RAM, d.h. bei +-100 LEDs ist Schluss, weil Speicher voll.
Rschl:
Deswegen suche ich einen Controller der so klein und leicht wie möglich ist aber folgende Funktionen haben:
LED´s sind alle in Reihe aber gestückelt (mal 10 mal 30 LED´s) und ein kleiner Teil parallel.
Alle über einen Pin angesteuerten WS2812 LEDs müssen "in Reihe" angeschlossen sein. Also im Zweifelsfall alle LEDs, die insgesamt angesteuert werden sollen. Oder alle LEDs, die mit einem Steuer-Pin angesteuert werden sollen.
Rschl:
Könnt Ihr mir Tipps geben welcher Controller dafür geeignet ist?
Für WS2812 LEDs brauchst Du einen 5V Controller.
Als Arduino-kompatibles Board ist das "Pro Mini" mit 16 MHz / 5V geeignet:
Die Platine wiegt unter 2 Gramm und hat keinen USB-Anschluss auf dem Board.
Zum Programmieren müßtest Du einen USB-TTL-Serielladapter anschließen, der allerdings nur zum Programmieren benötigt wird und daher nach dem Programmieren der Programmlogik/Lichteffekte kein Gewicht wegfrisst.
Ein "Pro Mini" Board kann standardmäßig mit der Arduino IDE programmiert werden. Die "Trinket" Controller sind Controller, die nur mit gewissen Klimmzügen unter der Arduino-Software nutzbar gemacht werden können, wie Nachinstallation von Dateien, herumpflriemeln an Konfigurationsdateien, und Verzicht auf bestimmte Libraries beim Programmieren. Eher was für Fortgeschrittene als für Anfänger.
Alle über einen Pin angesteuerten WS2812 LEDs müssen "in Reihe" angeschlossen sein. Also im Zweifelsfall alle LEDs, die insgesamt angesteuert werden sollen.
Nicht zwingend. Wie ich neulich lernte, kann man die auch parallel an einem Pin betreiben. Oder "aufspalten".
Ok es können 2 Strips paralell amgesteuert werden (zB wenn am Fügel die Lichteffekte von innen nach außen verlaufen. Ich würde aber eine serielle verdratung vorziehen und die Lichteffekt über SW paralell laufen läßt. So bist Du frei später mal ander Effekte zu programmieren.
Eines ist noch nicht zur Sprache gekommen: Spannungsversorgung.
100 WS2812 LED brauchen 5V bei max 6A (sind 30W). Du brauchst einen oder mehrere DC/DC Wandler, die aus der Batterie die 5V erzeugen. Ds geht ins Gewicht. 30W verkürzen auch sehr stark die Batteriestandzeit. Würde mal annehmen, daß der Motor auch nicht viel mehr Leistung hat.
Stromversorgung sind 3S Lipos mit 11,4V und 800mAh.
Der Controller wird vom Empfänger versorgt und die LED´s über einen BEC mit 5V 6A.
Kenne mehrere die das so verbaut haben.
Es geht nicht darum 10 min in der Luft zu bleiben sondern ein paar minuten eine schöne Lichtershow zu machen.
Ich will später das gleiche in einem größeren Flieger mit 3200 mAh und 14,8V verbauen.
Geplant ist es so:
Empfänger 5V > Controller > Mit BEC > LED´s.
Somit soll auch der Empfänger verschont werden die Last aufzunehmen
Rschl:
Jetzt muss ich nur noch schauen wie ich das dann Programmieren muss um mit einem Schalter andere Lichteffekte laufen zu lassen.
Schalter?
Wird das Flugobjekt nicht von einer RC-Anlage gesteuert?
Dann bräuchtest Du doch nur einen freien Servokanal, wo Du anstelle eines Servos Dein Arduino-Board anschließt und das RC-Signal auswertest.
Und dann kannst Du doch mit einem proportionalen Servokanal oder einem Servo-Schaltkanal Deine Effekte umschalten. Wenn Du nicht das komplette Lichtprogramm per Zeitsteuerung durchlaufen lassen möchtest.
Rschl:
Hallo Jurs genau so möchte ich es machen per schaltkanal an der Fernbedienung die Sequenzen schalten. Gibt es dafür schon was vorgefertigt?
Da kenne ich mich nicht so aus, aber gerade im Zusammenhang mit WS2812 LEDs wirst Du viele schnelle Schaltaktionen speziell für Deine Firmware selbst programmieren müssen. Denn während der LED-Strang durchgesteuert wird, werden die Interrupts auf dem Controller gesperrt, so dass Du selbst für eine Synchronisation zwischen LED-Ansteuerung und sonstigen Funktionen der Firmware realisieren müssen, damit es geschmeidig abläuft.
Bei der Ansteuerung von 100 LEDs sind die Interrupts ja jeweils für (50+100241,25)µs = 3050µs = 3,05ms gesperrt. Und Servoimpulse kommen alle 20,0 ms.
Da kommt es schon drauf an, was Du mit welcher Frequenz an Lichtmustern abspielen möchtest und wann Du Dir Zeit nimmst für die Auswertung eines Servo-Impulses.
Falls Dir eine Effektfrequenz von maximal 50 Hertz reicht, kannst Du die Effektwiedergabe ja auf die Servoimpulse synchronisieren. Also immer im Wechsel
einen Servo-Impuls auswerten
einmal den LED-Streifen ansteuern
Wenn sich die LED-Effekte mehr als 50 mal pro Sekunde ändern sollen, z.B. bei schnellen Dimming-Aktionen, funktioniert es so natürlich nicht mehr und Du mußt Dir etwas anderes einfallen lassen.
und jeden Effekt will ich über die Fernbedienung per Schalter abrufen können nacheinander.
Um Geschwingikeit geht es mir da nicht, eher um die Effekte.
Rschl:
und jeden Effekt will ich über die Fernbedienung per Schalter abrufen können nacheinander.
Um Geschwingikeit geht es mir da nicht, eher um die Effekte.
Also umschalten zwischen den Effekten eher langsam und selten?
Etwa manuelles Umschalten auf einen anderen Effekt höchstens einmal pro Sekunde?
Und als kürzeste Effektzeit (z.B. "Blitzen") reicht 1/50 s bei den Lichteffekten?
In dem Fall würde ich es vermutlich so machen:
Die automatischen Lichteffekte auf eine Wiedergabefreqenz von 50 Hertz berechnen
50 mal pro Sekunde: 1 Lichtphase wiedergeben, 1 Servoimpuls auswerten
Und als Servoimpuls einfach nur auswerten, ob der Kanal ungefähr in Mittellage (Servolage=0) ist, im oberen Drittel (Servolage=1) oder im unteren Drittel (Servolage=-1). Und die Werte addieren. Bei Erreichen von 50 dann um einen Effekt vorwärts schalten, bei -50 um einen Effekt rückwärts schalten. So kannst Du dann über einen RC-Kanal entweder denselben Lichteffekt immer weiter laufen lassen (Knüppel Mittellage), oder Du kannst durch Bewegen des Steuerknüppels einmal pro Sekunde um einen Effekt hoch oder runter schalten. Mit optischer Kontrolle anhand des veränderten Lichteffekts.
Guten Morgen, genauso so wie du es geschrieben hast, nur das mir das reichen würde wenn ich die Effekte vorschalten könnte.
was noch interessant wäre die effekte auszuschalten über die funke.
sobald ja vom Empfänger kein Signal gesendet wird wird ja der Controller nicht gestartet.
Rschl:
Guten Morgen, genauso so wie du es geschrieben hast, nur das mir das reichen würde wenn ich die Effekte vorschalten könnte.
was noch interessant wäre die effekte auszuschalten über die funke.
sobald ja vom Empfänger kein Signal gesendet wird wird ja der Controller nicht gestartet.
"Aus" ist im Prinzip nichts weiter als ein anderer Lichteffekt: Den Lichteffekt "Aus" kannst Du zum Beispiel so realisieren, dass Du 50x pro Sekunde alle LEDs ausschaltest.
Und in einer Schaltfolge kannst Du es durchaus so machen, dass Effekte mehrfach in der Schaltreihe vorkommen, also zum Beispiel:
Aus - Lauflicht vorwärts - Aus - Lauflicht rückwärts - Aus - Regenbogen - Aus - Knight Rider - Aus - Blitzen - Aus
So dass Du immer mit einmal Vorwärtsschalten auf "Aus" kommst und zweimal Vorwärtsschalten den nächsten Effekt aktiviert.
Rückwärts dann genau so. Wobei man bei Verzicht auf eine Rückwärtsschaltung der Effekte natürlich auch "Aus" statt "Rückwärts" schalten könnte.
Wenn Du für Deine RC-Anlage einen echten "Multischalter" hättest und nicht nur einen einfachen Proportionalkanal mit Steuerknüppel, wären die realisierbaren Schaltmöglichkeiten natürlich noch vielfältiger.
ich habe eine 16 Kanal Fernsteuerung, und habe mehrere 2 oder 3 Kanal Schalter sowie einen Taster.
Ich dachte eher an schalter ein aus, und mit dem Taster die Effekte schalten.