Beleuchtung, Bascom und andere Spielereien
Was wäre der Modellbauer,
wenn er nicht ständig irgendwelche Gimmicks in oder an seine Modelle bauen
würde?
Auf dieser Seite sind einige meiner Spielereien zusammengefasst.
Programmierung von Micro Controllern
Mit den kleinen Micro
Controllern lässt sich nahezu alles steuern, was man als ambitionierter
Modellflieger so braucht (Beleuchtungseffekte, Flatterflügel,
Fahrwerkssteuerung, usw). Voraussetzung ist allerdings, dass man die kleinen
Dinger mit dem richtigen Code programmiert. Hierfür sind zum einen
Programmierkenntnisse nötig, sowie die Hardware, um den Code vom PC auf den
Micro Controller zu übertragen.
Obwohl ich einige
Programmcodes hier veröffentliche, habe ich praktisch kaum Ahnung vom
Programmieren. Es gibt für die hier benötigten Zwecke bestimmt auch andere
Möglichkeiten der Codegestaltung. Die Codes auf meinen Seiten funktionieren
für meine Anwendungen ausreichend gut. Sie sind auskommentiert,
sodass sie bei Bedarf auch von Anfängern leicht verändert und angepasst werden
können.
Die Programmiersprache ist Bascom. Warum? Weil Bascom meiner Meinung nach die Programmiersprache ist, die von absoluten Laien (wie mir) noch am einfachsten zu lernen und zu verstehen ist. Besonderen Dank schulde ich an dieser Stelle auch vielen Mitgliedern des Bascomforums, sowie einigen anderen Programmierern, ohne deren Hilfe ich nicht ansatzweise so weit gekommen wäre :-)
Als Programmer benutzte ich am Anfang einen originalen AVRISP MK II. Der AVRISP MK II wird zwischen dem herkömmlichen USB Anschluss des Computers und der Programmierplatine angeschlossen. Heute benutze ich einen "Pololu USB AVR Programmer v2.1", der kostet nur noch einen Bruchteil des AVRISP MK II und kann eigentlich das selbe ;-)
Die
Programmier-/Experimentierplatine habe ich zu Beginn noch auf einer Lochrasterplatine
aufgebaut (heute benutze ich nur noch das Steckbrett). Der Schaltplan und die Anordnung der Bauteile sind bei den Bildern
dargestellt (Achtung: Ein 100nF Kondensator befindet sich unter dem IC-Sockel)
Auf dem letzten Bild ist der AVRISP MK II und ein Servotester angeschlossen.
Die Buchsenleiste SV2 (LED's) wird dabei je nach Bedarf mit einem oder mehreren
Ausgängen des ATTinys (Buchsenleisten SV3 und SV4) verbunden. Somit kann
unmittelbar nach der Programmierung das Ergebnis sichtbar bemacht werden.
Wichtig ist, das die Mikro Controller nur mit 5 Volt (z.B. BEC) betrieben werden
dürfen und nur wenig Ausgangsleistung bringen. Wenn
mehr als eine oder zwei LED's angeschlossen werden, muss das Ausgangssignal mit
Transistoren, MOSFET's oder KSQ verstärkt werden.
Bilder
Programmierung von Arduino Clones
Als ich mit dem Programmieren anfing, investierte ich rund 70 Euro in Hardware, ohne zu wissen, ob ich je ein einziges Programm auf einen Micro-Controller bekommen würde. Dabei kann heute JEDER für wenige Euros ausprobieren, ob er mit dem Programmieren zurecht kommt (o.k. ein PC mit USB-Anschluss muss natürlich schon vorhanden sein).
Was wird dafür benötigt:
- ein Arduino nano Clone aus China (Nano V3.0, Atmega328, 5V, 16MHz), in der
Bucht für unter 10 Euro zu haben
- einen passenden Treiber dafür (CH340 Treiber), damit der Clone vom PC erkannt
wird, kostenlos
- Demoversion von Bascom-AVR, kostenlos
Wie geht man vor:
Im Bascom Forum hat Schraubbaer/Tobias eine sehr gute Beschreibung erstellt, wie
man einen (originalen) Adruino Uno mit Bascom programmiert, siehe
hier. Für unseren Arduino Nano Clone benötigen wir anstelle des dort
aufgeführten Treibers den CH340 Treiber (dieser ist nicht in der Arduino
Programmierumgebung enthalten). Der Rest kann nahezu 1:1 übernommen werden.
Gibt man im Beispielprogramm nach dem Einschalten der LED anstelle von "Wait 1" ein "Waitms 100" und nach dem Ausschalten der LED anstelle von "Wait 2" ein "Wait 1" ein, dann hat man schon ein Strobe-Light für ein Modellflugzeug programmiert :-)
Das tolle am Nano ist, dass man wirklich nichts anderes zu kaufen braucht, um erste Schritte als "Programmierer" zu machen. Er wird mittels USB-Kabel am PC angeschlossen, darüber mit Strom versorgt und auch programmiert. Mit der Onboard-LED können die Änderungen der Leucht- und Pausenzeiten im Code auch sofort kontrolliert werden.
Je nach Anwendungsfall kann
man zwischen bedrahteter Version (z.B. für Testaufbauten auf dem Steckbrett)
oder unbedrahteter Version (fürs Flugmodell, spart Gewicht) wählen.
Mit einer kleinen, aufgelöteten Lochrasterplatine, ein paar Kabeln, Widerständen
und Stiftleisten erhält man schlussendlich ein modellbaufreundliches Modul für
nahezu alle erdenklichen Steuerungsaufgaben. Anzahl der Stiftleisten und ob
Widerstände benötigt werden, hängt dabei immer vom entsprechenden Einsatzzweck
ab.
Bilder
Beim Afterburner Nightflight Delta benötigte ich am Anfang noch 3 einzelne Micro Controller, um alle Effekte steuern zu können. Dies konnte dank des abgebildeten Arduino nano auf ein einziges Modul reduziert werden.
Winglights
Meine Wing Lights bestehen aus 3mm (die Landing Lights aus 5mm) superhellen LED's, die einfach über den entsprechenden Vorwiderstand an den LiPo angeschlossen werden. Die 3mm LED's wurden nach vorne- und hintenstrahlend verlötet und mit Heißkleber fixiert. Leider sind diese erst ab der Abenddämmerung wirklich sichtbar.
Bilder
(Bilder wurden zum Teil aus einem Video geschnitten)
Anti Collision Light (ACL)
Das erste Anti Collision Light habe ich
mit einer roten 5mm superhellen LED und einem Timer NE555 realisiert. Leider war
es auch nur in der Abenddämmerung erkennbar und blitze nur langweilig auf.
Wesentlich besser war
anschließend die Benutzung einer Hochleistungs-LED (Seoul Z-Power P4, rot), die
so mit einem
Mikrocontroller angesteuert wurde, dass ein realistischer Effekt entsteht.
Die LED wird über Pulsweitenmodulation (PWM) bis zur halben Helligkeit hochgefadet, dann erfolgt ein Blitz (Flash), anschließend fadet die LED ab der halben Helligkeit wieder runter.
Bascom Code des Anti Collision Lights | |
Baubeschreibung der "leichten" Schaltung |
Bilder
Schwere Version (ca. 30g komplett mit LED und Kühlkörper)
Leichte Version (ca. 11g komplett mit LED und Kühlkörper)
Simulierter Nachbrenner
Der erste simulierte Nachbrenner wurde mit 2 x 16 roten 3mm superhellen LED's realisiert. Ein altes Servo habe ich zerlegt, den Motor durch einen Optokoppler und Standart-Transistor ersetzt und parallel zum Motorregler an den Empfänger angeschlossen. Ab ca. 80 % Leistung schalten sich die LED's nun automatisch zu. Doch auch hier programmierte ich letzten Endes einen Mikro Controller, damit nicht der Weg über ein defektes Servo genommen werden muss und ein realistischer Effekt entsteht.
Bascom Code des Nachbrenners |
Bilder
(Bilder wurden zum Teil aus einem Video geschnitten)
Angry Bird Flatterflügel
Mein Angry Bird sollte flatternde Flügel bekommen, die ich über die Fernbedienung ein- und ausschalten konnte. Des Weiteren wollte ich die Flattergeschwindigkeit regeln können. Alles zusammen sollte auch noch über einen einzigen RC-Kanal laufen. Ich benutzte hierfür einen ATTiny 45, der einfach zwischen einen freien RC-Empfängerausgang und dem Flatterservo (HXT900) gesteckt wird.
Funktion
Je nach Stellung des RC-Kanals reagieren die Flügel mit folgender Reaktion:
Bereich ca. 0-25 Prozent:
Flügel stehen in Neutralstellung. Diese Stellung wird für Start oder Landung benötigt.
Bereich ca. 25-50 Prozent: Flügel bleiben in der Stellung stehen, wo sie zuletzt waren. Das heißt: War der RC-Kanal gerade im Bereich 0-25 Prozent, bleiben die Flügel nach wie vor in Neutralstellung. War der RC-Kanal gerade über 50 Prozent, bleiben die Flügel in der Stellung, wo sie in dem Moment waren, als der RC-Kanal unter die 50 Prozent geschaltet wurde.
Bereich ca. 50-100 Prozent: Das Servo fängt langsam an, von einer Seite zur anderen zu fahren und die Flügel fangen an zu flattern. Die Geschwindigkeit erhöht sich, je weiter der RC-Kanal Richtung 100 Prozent genommen wird.
Fällt der RC-Kanal (aus
welchen Gründen auch immer) aus, resettet sich der Attiny nach ca. 1 Sekunde und
bringt die Flügel in Neutralstellung.
Die
Neutralstellung kann in gewissen Grenzen mit dem Poti auf der Platine
eingestellt werden. Beim Nachbau
muss zunächst das Flatterservo mit angeschlossenem Attiny in die Neutralstellung
gebracht werden (RC Kanal im unteren Viertel, Bereich 0-25 Prozent). Das Poti
wird in Mittelstellung gebracht und danach erst die Schubstangen auf richtige Länge zuschneiden
und montieren.
Ich habe bei meiner Fernsteuerung den entsprechenden RC-Kanal auf ein Poti gelegt. So kann ich stufenlos die Geschwindigkeit regeln. Des Weiteren habe ich noch einen (leicht erreichbaren) Schalter der Fernbedienung zum Poti dazu gemixt. Wird dieser Schalter umgelegt, geht der RC-Kanal unabhängig vom Poti unter 25 Prozent. Dadurch ist es schnell möglich, die Flügel in Neutralposition zu bringen. Dies ist z.B. dann notwendig, wenn man mal wieder unerwartet abgestützt ist und das Flattern schnell beenden muss :-)
Bascom Code der Flatter Flügel |
Bilder
Mehr als diese Schaltung ist nicht erforderlich, um dem Vogel das flattern bei zu bringen.
RGB-Fader für Nightflight Wings
Mein RGB Fader ermöglicht es, mehr als 1500 Farben darzustellen, auch wenn wir nicht in der Lage sind, die feinen Abstufungen wirklich wahr zu nehmen. Es war das erste mal, dass ich SMD Teile verwendet und gelötet habe, da mir die Standartgröße zu viel Platz im dünnen Flügel eingenommen hätte. Die Platine habe ich mir von platinenbelichter.de ätzen lassen. Der Fader wird an dem Balanceranschluss des 3S-Lipos (= Stromversorgung der LED-Strips) und einem freien RC-Kanal am Empfänger (= Stromversorgung des Attinys + RC Signal) angeschlossen. Wird die Schaltung mit den angegebenen MosFets aufgebaut, ist sie für LED-Strips mit gemeinsamer Andode geeignet.
Funktion
Je nach Stellung des RC-Kanals reagieren die RGB-LEDs mit folgender Reaktion:
Bereich um die
Mittelstellung:
Die Farbe, die gerade dargestellt wird, bleibt kontinuierlich erhalten.
Bereich außerhalb der
Mittelstellung:
Es wird langsam durch das Farbspektrum gefadet (wenn die optionale Kontroll-LED
eingelötet wurde, leuchtet diese nun). Je weiter der RC-Kanal ausgesteuert wird,
umso schneller wird gefadet. Die Richtung des Ausschlags bestimmt die
Reihenfolge der Farbwechsel, d.h. ob nun vorwärts oder rückwärts durch das
Farbspektrum gegangen wird. Dies wird benötigt, wenn man seine "Wunschfarbe"
einstellen möchte, aber gerade daran "vorbeigefadet" ist.
Bascom Code des RGB-Faders | |
Platinen Layout in Originalgröße |
Bilder
Das Platinen Layout unter dem Schaltplan ist vergrößert dargestellt und diente mir lediglich als Bestückungshilfe. Das Original Layout befindet sich oben in der PDF Datei!!!
Steuerung für Nightflight Effekt Nurflügler
Mit den WS2812B-LED-Strips sind unglaublich tolle Effekte möglich. Da die LEDs über eine einzige Datenleitung angesprochen werden, sind sie mit sehr geringem Verdrahtungsaufwand ideal geeignet für ein paar Spielereien im Flugzeugmodellbau.
Dieser Bascom-Code funktioniert nur ab Version 2.0.8.0., da hier die entsprechende Lib integriert wurde!
Der Bascom-Code wurde seit dem Test-Video mehrmals geändert, da sich manche Effekte in der ursprünglichen Form als "unfliegbar" herausgestellt haben. Des weiteren wird nun mittels eines freien RC-Kanals (bei mir über den Seitenruderknüppel) vorwärts und rückwärts durch die einzelnen Effekte gezappt.
ACHTUNG: Es ist bei den
WS2812B-LED-Strips extrem wichtig, sie mit stabilisierten 5 Volt (max 5,5 Volt)
zu speisen. Jede einzelne LED auf dem Strip hat einen eigenen Microcontroller
integriert. Vergesst es lieber gleich, sie mit 6 Volt oder gar mit HV-BECs zu
versorgen, denn sie werden Euch gnadenlos durchbrennen.
Solltet Ihr ein 5 Volt BEC für die Beleuchtung benutzen, aber Euren Empfänger
mit mehr als 5 Volt betreiben, so MUSS am RC-Eingang meiner Steuerung ein
Spannungsteiler vorgeschaltet werden, da auch der Eingang des Attinys nicht mit
mehr als 5 Volt betrieben werden darf!
Funktion
Je nach Stellung des RC-Kanals erfolgt folgende Reaktion:
Bereich um die
Mittelstellung:
Der Effekt, der gerade dargestellt wird, läuft kontinuierlich durch.
Bereich außerhalb der
Mittelstellung:
Es wird um einen Effekt vor- oder zurückgeschaltet. Bevor erneut um einen Effekt
weitergeschaltet werden kann, muss der RC-Kanal wieder in die Mittelstellung gebracht
werden. Dadurch wird ein versehentliches Überspringen eines Effekts
ausgeschlossen. Ich habe diese Funktion bei mir auf den Seitenruderknüppel
gelegt, so brauche ich zum Umschalten keine Finger vom Knüppel nehmen.
Bascom Code des Effekt-Nurflüglers | |
Platinen Layout in Originalgröße |
Bilder
Das Platinen Layout unter dem Schaltplan ist vergrößert dargestellt und diente mir lediglich als Bestückungshilfe. Das Original Layout befindet sich oben in der PDF Datei!!!