Hochleistungs-LED-Blinker

Hochleistungs-LED-Blinker

In Deutschland und vielen anderen Ländern in Europa ist das Modellfliegen nur erlaubt, wenn das Fluggerät mit bloßem Auge gut erkennbar und sicher steuerbar ist. Das heißt, der Pilot muss das Fluggerät immer sehen können. Größere Modelle sind auch noch in einigen hundert Metern Entfernung gut erkennbar. Allerdings ist es bei solchen Entfernungen oft schwierig, die Ausrichtung zu erkennen. Anders als Flugzeuge kann ein Multicopter auf der Stelle stehen und sich drehen. Dabei verliert der Pilot leicht die Orientierung, da er nicht mehr sieht, in welche Richtung der Multicopter ausgerichtet ist.

Damit das nicht passiert, kann man dem Auge Anhaltspunkte geben, um besser zu erkennen, wo vorn und hinten ist. Im Nahbereich hilft bereits neonfarbene Folie, die um die Ausleger geklebt wird, oder Propeller mit unterschiedlichen Farben. Auch LED-Streifen sind im Nahbereich sehr wirksam. Ab einer Entfernung von 50-100 m sind all diese Hilfsmittel nicht mehr wirksam. Wenn es darüber hinaus gehen soll, hilft nur noch eine ausreichend helle Beleuchtung.

In diesem Projekt zeige ich, wie eine Blinkschaltung für Hochleistungs-LED gebaut wird, um damit einen Multicopter zu beleuchten. Mit dieser Blinkschaltung sind Blinksignale selbst bei Sonnenlicht noch in einigen hundert Metern Abstand erkennbar. Werden die LEDs hinten am Multicopter angebracht, lässt sich feststellen wo hinten ist. Und wenn die LED im Flug nicht sichtbar sind, ist klar, dass die Rückseite des Multicopters nicht sichtbar ist. Der Multicopter kann dann soweit gedreht werden, bis diese wieder sichtbar sind.

Für wen ist die Bauanleitung geeignet?

Eine Schaltung mit einem Mikrocontroller geht ein wenig ins Eingemachte. Es sollte ein grundlegendes Verständnis von elektronischen Schaltungen vorhanden sein. Widerstände, Kondensatoren und LED sollten verständliche Begriffe sein. Auch der Umgang mit dem Lötkolben sollte verstanden sein und das nicht mit 500 °C zwei Minuten lang an einem Mikrochip herum gebrutzelt wird.

Für die Programmierung können grundlegende Kenntnisse nicht schaden. Die Programmierung erfolgt in C. Wer sich in die Thematik einarbeiten möchte, für den ist das Projekt vielleicht ein gutes Beispiel für eine, ein wenig komplexere Anwendung, als die typischen Lampe-ein-Lampe-aus-Beispiele.

Benötigte Werkzeuge

Lötkolben und Werkzeuge und deren Handhabung werden vorausgesetzt. Ein Multimeter mit Spannungs- und Widerstandsmessung kann sehr hilfreich sein, genau wie ein regelbares Netzteil mit Strombegrenzung. Für die Programmierung des Mikrocontrollers wird ein Programmer benötigt. Ein scharfes Messer und ein Seitenschneider wird zum Kürzen und abisolieren von Kabeln benötigt. Wenn die im Projekt vorgestellte Platine hergestellt werden soll, wird weiteres Werkzeug benötigt. Welches das ist wird weiter unten erklärt.

Bauanleitung

Konzept

Der Anschluss von LED ist im Prinzip einfach: Es muss eine konstante Spannung und ein konstanter Strom zugeführt werden. Dazu wird ein Vorwiderstand benötigt. Das funktioniert bei normalen LEDs mit nur 20 mW Strombedarf, ist aber Hochleistungs-LEDs mit einem Strombedarf bis zu einigen Ampere schwierig, da sehr große Widerstände benötigt werden. Noch größer werden diese Widerstände, wenn die Spannungsversorgung eine sehr viel höhere Spannung liefert, als die LED benötigt.

Bei einem Multicopter mit 6S-Lipo-Akku liefert ein geladener Akku etwa 25 V. Eine LED benötigt in der Regel nur 3 V. Der Vorwiderstand berechnet sich über die Spannungsdifferenz und über die Stromaufnahme. Soll eine 3-V-LED mit 2 A Stromaufnahme über einen Vorwiderstand an einem 6S Akku begrenzt werden, so berechnet sich die Leistung des Widerstands wie folgt:

Widerstand = (25 V – 3 V) / 2 A = 11 Ω

Verlustleistung des Widerstands = (25 V – 3 V) * 2 A = 22 W

Ein 22 Watt Widerstand kostet etwa 4 Euro und muss gekühlt werden. Diese Lösung wäre für eine Multicopterbeleuchtung nicht sinnvoll. Insgesamt werden circa 6-8 W LED-Leistung benötigt, damit ein ausreichender Lichtstrom von mindestens 500-600 Lumen erreicht wird. Ein Problem bei Hochleistungs-LED ist vor allem die erzeugte Wärme. Daher müssen diese meist gekühlt werden. Das Problem kann behoben werden, indem die LEDs nur blinken. Sie erzeugen so nur den Anteil der Wärmeenergie proportional zur Leuchtdauer. Also eine zehntel Sekunde Leuchten erzeugt ein Zehntel der Wärmeenergie. Das kann eine Kühlung überflüssig machen.

Die Helligkeit einer LED wird über den Strom gesteuert. Um die gleiche Helligkeit zu halten muss die LED immer mit dem gleichen Strom versorgt werden. Da ein Flug-Akku aber im Verlauf der Entladung an Spannung verliert, geht das nicht einfach über einen Widerstand. Ist die Helligkeit bei voll geladenem Akku bei 100 %, kann diese bei absinkender Spannung deutlich dunkler werden oder sogar ganz ausfallen.

Am einfachsten verwendet man zur Ansteuerung von LED Konstantstromquellen (KSQ). Diese haben einen variablen Eingangsspannungsbereich und erzeugen einen konstanten Strom. Je nach Bauform regelt die KSQ über den Strom auch gleich die Spannung. LED werden dort, selbst in Reihe geschaltet mit genau dem richtigen Strom und der passenden Spannung versorgt. Viele KSQ besitzen einen zusätzlichen Eingang, mit dem man den Strom regeln kann, um die LED zu dimmen. Damit kann man LED auch ein- und ausschalten. Das wäre also genau das Richtige für eine Blinkschaltung.

Diese Regelung funktioniert über eine Steuerspannung, etwa 0 V für LED-aus und 5 V für LED-ein. Ein solches Steuersignal kann mit einem Mikrocontroller und ein paar Kleinteilen gebaut werden. Mikrocontroller sind dafür gemacht, Spannungen zu messen und Ausgangssignale zu Steuerungszwecken zu erzeugen. Zudem haben KSQ den Vorteil, dass sie selbst so gut wie keinen Strom „verbrennen“ und damit nicht heiß werden. Ein Mikrocontroller benötigt eine feste Spannung von 5 V (manchmal auch 3,3 V). Diese kann also nicht direkt an den Flug-Akku angeschlossen werden. Hierzu gibt es aber eine einfache Lösung: den Festspannungsregler.

Die Idee für die Schaltung ist also folgende: Über einen Festspannungsregler wird eine stabile Spannungsversorgung für einen Mikrocontroller erzeugt. Der Mikrocontroller erzeugt Spannungen für den Regeleingang einer KSQ, um die daran angeschlossenen LEDs ein- und auszuschalten. Da etwa 6-8 W LED Leistung benötigt werden, werden 3 LEDs in Reihe geschaltet. Zudem wird noch über den Mikrocontroller die Spannung des Flug-Akkus gemessen. Beim Unterschreiten einer bestimmten Spannung können die LED dann anders blinken. Zudem soll sichergestellt werden, dass keine besondere Kühlung benötigt wird und dass die Schaltung selbst keine Störungen erzeugt, die Komponenten des Multicopters beeinflussen könnten. Damit ergibt sich folgender schematischer Aufbau.

cr-blinker-schema
LED Blinker – Schema

Zunächst werden die LED festgelegt. Ich entscheide mich für 3 W Luxeon Lumiled in Neutralweiss. Diese haben die höchste Lichtleistung, verglichen mit anderen Farben. Die genaue Bezeichnung dazu lautet: LUXEON Rebel ES LXML PWN2. Diese LED werden auf einer Kühlplatine benötigt. Ich werde die LED nur mit 700 mA betreiben. Die LED benötigen laut Datenblatt genau 3V Spannung und verbrauchen bei 700 mA genau 2,1 W. Laut Datenblatt erzeugt eine LED damit 230 lm Lichtstrom. Bei 3 LED werden damit also fast 700 lm erreicht.

Bei Tests vorab habe ich ermittelt, dass die LED bei 500 ms Leuchten und 500 ms Pause ohne Kühlung nicht zu warm werden. Wenn 3 LED in Reihe geschaltet werden sollen, bedingt das eine entsprechende Mindestspannung. Die LED haben 3 V Vorwärtsspannung. Drei Stück in Reihe geschaltet benötigen 9 V. Zusätzlich muss der Spannungsabfall an der KSQ berücksichtigt werden. Der ist bei KSQ in der Regel nicht sehr hoch, liegt aber je nach Qualität bei 1-2 V. Damit werden für die Schaltung mindestens 10 Volt benötigt. Ein 2S-Lipo-Akku scheidet damit aus. Bei zwei LED in Reihe funktioniert das aber auch noch mit einem 2S-Akku.Weiter runter geht es aber so ohne weiteres nicht, da der Spannungsregler mindestens 7 V Eingangsspannung benöitgt, um die 5 V für den Mikrocontroller zu erzeugen.

Die Schaltung kann natürlich für einen bestimmten Akku gezielt aufgebaut werden und funktioniert dann nur mit genau diesem Typ. Ich möchte aber eine Schaltung, die für 3S bis 6S verwendet werden kann. Dazu wird eine KSQ benötigt, die mit Spannungen von etwa 11 V bis 26 V zurecht kommt. Es gibt einige KSQ, die dazu passen. Wegen der kompakten Bauform wähle ich den Typ LDD-700L von MEAN WELL, der mit Spannungen von 2-36 V funktioniert.

Konstantstromquelle
Konstantstromquelle

Als nächstes wird ein Mikrocontroller benötigt. Ein recht günstiger ist der Atmel ATTINY13-20 PU. Der kostet etwa um die 1,20 Euro. Er hat schon mehrere AD-Wandler, um Spannungen zu messen und natürlich auch Ausgänge, um Steueraufgaben zu übernehmen. Für meine Zwecke ist dieser völlig ausreichend.

Einmalig muss ich hier aber tiefer in die Tasche greifen, denn es wird ein Programmer benötigt, um die Software auf den Mikrocontroller aufzuspielen. Das ist leider nicht ganz so billig und kostet je nach Modell etwa 30-50 Euro. Einen sogenannten ISP-Programmer gibt es ab etwa 15-20 Euro. Dazu wird noch eine Platine mit Sockel benötigt, um den Chip aufzunehmen. Die beherbergt meist auch einen Oszillator und ein paar kleine Bauteile für die richtige Anschaltung des Mikrocontrollers. Das myAvr System unten bietet gleich eine ganze Reihe Sockel für verschiedene Atmel Mikrocontroller im DIL/DIP Gehäuse. Auf der aufgesteckten Platine befindet sich der Programmer und eine USB-Schnittstelle.

Programmer
Programmer mit Multi-Sockel-Board

Als Festspannungsregler verwende ich den Typ L78L05ACZ von STMicroelectronics, da dieser eine sehr kleine Bauform hat und bis 35 V Eingangsspannung genutzt werden kann. Für dessen Anschluss werden zwei Keramikkondensatoren mit 100 nF, sowie einen Low-ESR-Elektrolytkondensator benötigt. Die Kondensatoren sorgen für ein sauberes Ausgangssignal. Atmel zeigt im Datenblatt eine leicht andere Konfiguration, die von mir benutze ich aber schon Ewigkeiten und hatte nie Probleme damit. Das Signal sieht im Oszilloskop auch ganz ordentlich aus.

Es wird noch ein Sockel für den Mikrocontroller benötigt. Damit kann dieser jederzeit entnommen und neu programmiert werden. Prinzipiell kann die Anschaltung für den Programmer mit in die Blinkschaltung integriert werden. So könnte der Mikrocontroller auf der Schaltung neu programmiert werden. Das bedeutet im Endeffekt aber, das jede Blinkschaltung mehr Bauteile enthält, die nur für die Programmierung benötigt wird. Den Aufwand spare ich mir und nehme lieber die Mühe in kauf, den Chip zum Programmieren aus dem Sockel zu ziehen.

Zur Messung der Spannung wird ein Spannungsteiler benötigt. Der besteht aus zwei Widerständen. Der Spannungsteiler wird benötigt, weil die Eingänge Mikrocontrollers nur maximal 5 V vertragen. Wenn damit 25 V gemessen werden sollen, muss die Spannung entsprechend skaliert werden.  Der Spannungsteiler wird so berechnet, dass der aus den maximal 25,2 V etwas 4,5 V macht. So gibt es noch ein bisschen Luft nach oben, um Toleranzen auszugleichen. Die Kombination 4,7 kΩ und 22 kΩ kommt der gewünschten Spannung recht nahe. Dabei ist darauf zu achten, das die 22 kΩ gegen Plus und die 4,7 kΩ gegen Minus angeschlossen werden. Diese Kombination stellt auch sicher, dass die Widerstände nicht glühen, aber das noch genug Strom fließt, um sinnvoll messen zu können.

Einkaufsliste

Damit ist die Liste vollständig. Die teuren Komponenten für die Schaltung sind die KSQ mit etwa 4,50 Euro und die LED mit je etwa 5 Euro auf Star-Platine. Es können natürlich auch andere LED und KSQ verwendet werden. Wichtig ist, das deren Vorwärtsspannung und der Spannungsabfall der KSQ zusammen unter der minimalen Akkuspannung bleiben und dass die KSQ mit den Eingangsspannungen zurecht kommt. Damit die KSQ die LED blinken lassen kann, muss diese zudem einen Steuereingang haben, der die Ausgangsspannung ein- und ausschalten kann.

  • 3 Leuchtdioden LUXEON Rebel ES LXML PWN2
  • 1 Konstantstromquelle MEANWELL LDD-700L
  • 2 Keramikkondensatoren 100 nF
  • 1 Elektrolykondensator 220 uF Low ESR 35 V
  • 1 Widerstand 4,7 kΩ
  • 1 Widerstand 22 kΩ
  • 1 Festspannungsregler STMicroelectronics L78L05ACZ
  • 1 Atmel ATTINY13-20 PU
  • 1 DIP Sockel mit 2 x 4 Pins
  • Programmer mySmartUSB MK2 mit myMultiProg MK2 von www.myavr.de
Alle Bauteile für den Blinker
Alle Bauteile für den Blinker

Im Hintergrund ist bereits die dafür selbst angefertigte Platine zu sehen. Diese muss nicht unbedingt verwendet werden. Ein Stück Lochraster- oder Streifenplatine tut es auch. Aber natürlich ist eine passende Platine die schönere Variante. Es spricht auch nichts gegen fliegende Verdrahtung. Beim L78L05ACZ muss beachtet werden, dass die Pins gegenüber einem LM7805 vertauscht sind. In Vorderansicht ist Vin beim ACZ rechts, nicht wie üblich links. Ich habe mich dabei bereits mehrfach vertan. Wer ganz sicher gehen will, kann noch eine Diode als Verpolungsschutz in die Zuleitung der Versorgungsspannung einbauen.

Prototyp

Die vollständige Schaltung sieht nun wie im Bild unten aus. Diese habe ich mit der freien Version von Eagle erstellt. Für nicht kommerzielle Projekte ist das erlaubt. Ich habe bewusst die GND und VCC Symbole weggelassen, um Einsteigern besser zur vermitteln, wie die Leitungen verbunden werden. Mein Schaltung ist so gebaut, das zwei KSQ verwendet werden können, aber nicht müssen. Über zwie KSQ können getrennte LED-Kreise für die Beleuchtung von vorn und hinten gebaut werden. Oder es können zwei Mal drei LED genutzt werden, um noch hellere Beleuchtungen zu bauen.

Eagle Schaltplan
Eagle Schaltplan

Zur Veranschaulichung baue ich das ganze zunächst einmal auf einem Breadboard auf. Breadboards verwende ich für Prototypen, da ich nicht löten muss. Ich gehe dazu schrittweise vor. Den Mikrocontroller lasse ich zunächst weg. Ich lege eine Spannung an und messe mit einem Voltmeter die Spannungen an den verschiedenen Stellen. Zudem verwende ich nicht direkt einen Lipo-Akku. Der würde bei falschem Anschluss manche Bauteile direkt in Asche verwandeln. Eine 9-V-NiCd-Batterie, oder noch besser ein Netzteil mit Strombegrenzung, tun es für den Anfang besser.

In Spalte 27 unten muss an den beiden Widerständen eine Spannung kleiner 5 V anliegen. In Spalte 37 oben an dem roten Kabel müssen recht genau 5 V anliegen. Beim Einschalten sollte die LED leuchten. Wenn das orange Kabel aus Spalte 25 unten herausgezogen und mit Minus verbunden wird, muss die LED ausgehen. Die obere Reihe an der blauen Linie führt Minus, die darunter an der roten Linie Plus. Die korrekte Polung des Eelektrolytkondensators muss unbedingt beachtet werden. Bei den Keramikkondensatoren gibt es hingegen keine Polung.

20141019-_MG_2780
Prototyp auf Breadboard

Um den Mikrocontroller zu programmieren wird die AVR-Entwicklungsumgebung benötigt. Diese nennt sich Atmel Studio, aktuell gibt es sie in Version 6.2. Diese kann kostenlos heruntergeladen werden. Der Link dazu findet sich unten am Ende der Seite.

Der Mikrocontroller wird dazu in den Programmer eingesetzt. An den Fassungen des Programmers ist an einer Seite eine runde Einkerbung in Form eines Halbkreises. An dem Mikrocontroller ist entweder ebenso eine Kerbe oder aber ein winziger, eingelassener Punkt. Diese müssen beide auf der gleichen Seite sein.

Beim ersten einspielen des Programms müssen  einmalig die Fuse-Bits geschrieben werden. Ansonsten wird nämllich gar nichts funktionieren. Beim ATTINY13-20 PU muss für mein Programm zur Ansteuerung das untere Byte auf 0x7A und das obere Byte auf 0xff gesetzt werden. Das bewirkt vor allem, dass die richtigen Taktfrequenzen verwendet werden.

Zuerst wird das Projekt in Atmel Studio geöffnet. Dort wird es kompiliert, was mit einer Erfolgsmeldung quittiert werden muss. Danach wird im Tools-Menü der Programmer mit der Option ProgTool gestartet, um die erzeugte Binärdatei aufzuspielen. Hier wird auch angegeben, dass die Fuse Bits geschrieben werden sollen. Wichtig ist auch, das in den Projekteinstellungen unter der Option Device der richtigen Mikrocontroller eingestellt ist.

cr-atmel-studio
Atmel Studio 6

Das Programm funktioniert verhältnismäßig einfach. In der Hauptschleife wird beim Einschalten zunächst der ADC und Timer initialisiert. Dann wird ein Ring-Puffer mit Spannungsmesswerten gefüllt. Das dauert 2,5 Sekunden, in denen in Abständen die Spannung gemessen wird. Der Sinn davon ist, dass der Flug-Akku nach dem Verbinden unter Last direkt einen Spannungsabfall hat. Der Ringpuffer eliminiert Ausreißer bei der Spannungsmessung, in dem die Mittelwerte aus mehreren Messungen berechnet werden.

Nun wird in einer Endlos-Schleife ein Zustandsautomat implementiert, der in „Mode 0“ zunächst den Akkutyp bestimmt. Ist der Akku erkannt, wird in „Mode 1“ gewechselt. In „Mode 1“ wird der erkannte Akku-Typ über eine Blinksequenz angezeigt. Danach wird in „Mode 2“ umgeschaltet. In „Mode 2“ wird fortlaufend alle 500 Millisekunden die Spannung erneut gemessen. In dem Ring-Puffer mit 10 Werten werden so 5 Sekunden Messungen vorgehalten. Fällt die mittlere Spannung unter einen Wert von 3,6 V pro Zelle, wird in „Mode 3“ gewechselt. Natürlich wird hier nicht die Spannung der Einzelzellen gemessen, sondern die Gesamtspannung. Bei einem 6S-Lipo-Akku ist die Warnschwelle also 21,6 V.

Es gibt auch Mehrfachspannungsmesser, die prinzipiell am Balancer-Anschluss des Akkus alle Einzelspannungen messen könnten. Darüber könnte eine noch effektivere Überwachung erfolgen. Mir reicht aber die einfachere Form hier.

cr-atmel-progtool
Prog Tool zum Aufspielen der Software

Damit das Programm Blinksignale mit entsprechendem Takt generiert, verwende ich einen Timer Interrupt. Diesen lasse ich mit 146,5 Hz auslösen. Um die gewollten Blinkfrequenzen zu erreichen müssen diese mit dieser Frequenz ausgerechnet werden. Da der Interrupt 146,5 Mal pro Sekunde auslöst, kann damit berechnet werden, wieviele Auslösungen benötigt werden, um die LED zur rechten Zeit ein- oder auszuschalten. Zur Ausgabe werden die Ports PB0 und PB1 verwendet. Im normalen Betrieb soll PB0 zweimal kurz blinken, dann eine Pause einlegen. PB1 soll hier dreimal kurz blinken und dann eine Pause einlegen.Bei Unterspannungswarnung sollen beide Ports jeweils 0,5 Sekunden an sein und dann 0,5 Sekunden aus. Die verschiedenen Modi werden in der Interrupt-Routine berücksichtigt und auch die Frequenz des Timers.

Das gesamte Programm ist ausführlich dokumentiert – allerdings in Englisch, da ich Software immer in Englisch dokumentiere, damit diese möglichst vielen Menschen zugänglich ist. In meinen Tests war die Spannungsmessung erfreulich genau, auf etwa 0,1 V, ohne dass ich etwas kalibrieren musste. Und das bei insgesamt 4 Platinen, die ich bereits gebaut habe. Falls  kalibriert werden muss, kann das über die Definition von STEPS_PER_VOLT getan werden. Der AD-Wandler liefert 1024 verschiedene Werte, um Eingangsspannungen von 0-5 V darzustellen. Ein Volt entspricht damit etwa 205 Schritten. Da ein Spannungsteiler verwendet wird, muss das entsprechend umgerechnet werden. STEPS_PER_VOLT definiert diese Auflösung.

Ist die Spannungsmessung insgesamt verschoben, kann die Korrektur am einfachsten in ReadSmoothedADC korrigiert werden, in dem dort eine Konstante zum Rückgabewert addiert oder davon subtrahiert wird. Um die richtige Auflösung zu messen wird eine Referenzspannung benötigt oder ein Messgerät, dass ausreichend genau misst. Ist die eingehende Spannung ausreichend genau bekannt, kann gut geprüft werden, ob das Programm auch denselben Wert misst. So lässt sich die Messung auch anpassen, bis derselbe Wert gemessen wird. Kalibrieren bedeutet hier, dass für mehrere solcher bekannter Spannungen eine Korrektur gemacht wird. So können auch nicht lineare Verläufe von Abweichungen korrigiert werden. Da ich ein regelbares Labornetzteil habe, kann ich die Messungen bei verschiedenen Spannungen gut prüfen. Damit habe ich die Werte im Programm experimentell ermittelt.

Finale Schaltung

Da auf dem Multicopter keine Breadboard transportiert werden kann, bauen ich die Schaltung multicoptertauglich auf. Dazu bauen ich mir eine eigene Platine. Da ich die Schaltung bereits in Eagle habe, kann ich daraus schnell ein Platinenlayout erstellen. Da es sich um eine kleine Schaltung handelt, „route“ ich die Leiterbahnen manuell. Wegen des später verwendeten – recht eigentümlichen – Verfahrens zur Herstellung von Platinen werden alle Leiterbahnen so breit wie möglich gemacht.

Da der ATTINY13-20 mehrer Ausgänge hat, sehe ich, wie schon beschrieben, direkt 2 KSQ vor. Das Platinenlayout sieht dann wie unten aus. Wem die Platine zu groß ist, der kann die KSQ weglassen und diese mit Kabeln mit der Platine verbinden und zum Beispiel zu einem Modul mit den LEDs zusammenpacken.

cr-blinker-layout
Platinen Layout

Die grünen Punkte sind Pads, in die Löcher gebohrt werden, um die Bauteile zu verlöten. Teilweise habe ich in Eagle dickere Pads gesetzt, weil die, die schon bei den Bauteilen gesetzt werden, zu dünn sind. Beim Bohren würden diese zum Teil ganz verschwinden und es gäbe kein Kupfer mehr, um etwas anzulöten. Nach erfolgreicher Bestückung der fertigen Platine sieht das Ganze so aus, wie unten in einer Testbestückung mit einer LED und provisorischen Anschlüssen.

Zum Testen nehme ich erst wieder den Mikrocontroller aus dem Sockel. Mit Spannung verbunden sollte die LED dauerhaft leuchten. Am, von oben gesehen, linken Beinchen des Spannungsreglers sollten 5 V gemessen werden. Von unten gesehen sollte auf der großen Fläche links oben eine Spannung kleiner 5 V gegen Minus gemessen werden. Dort kommen die beiden Widerstände für den Spannungsteiler zusammen. Die lange Leiterbahn schlängelt sich dann zum Analogeingang des Mikrocontrollers durch.

Platine, Ober- und Unterseite
Platine, Ober- und Unterseite

Die fertig aufgebaute Platine wiegt etwa 20 g. Hinzu kommen noch die LEDs, ein bisschen Kabel und Schrumpfschlauch. Alles zusammen ergibt das um die 30 g. Die bestückte Platine sprühe ich nach erfolgreichen Tests noch mit Plastik 70-Spray ein. So gibt es garantiert keinen Kontakt mit irgendwelchen Metall oder CFK-Teilen am Multicopter.

Platinen selbst herstellen geht ohne großes Equipment recht einfach und günstig mit der Direct-Toner-Methode. Eine gute Anleitung dazu gibt Thomas Pfeifer. Der Link findet sich am Ende der Seite. Anders, als eine belichtete Platine mit lichtempfindlichen Lack, deckt der Toner nicht so ordentlich und es kommt zum seitlichen Wegätzen, dem sogenannten Unterätzen. Sind die Leiterbahnen zu schmal, kommt es so zu Trennungen, die per Lötzinn korrigiert werden müssen. Da reines Kupfer schnell oxidiert, ist ein Löten ohne Hilfsmittel fast unmöglich. Ich habe meine Platinen mit SurTin verzinnt. Das lohnt sich aber nur, wenn gleich ein paar Stück davon hergestellt werden. Alternativ kann Green Coat Lötlack von Bungard oder ähnliches verwendet werden.

Achtung: Der Umgang mit Eisen-3-Chlorid und SurTin ist gefährlich! Lesen Sie die Sicherheitshinweise. Tragen Sie Schutzbrille und arbeiten Sie damit nur in gut belüfteten Räumen. Verwenden Sie besser Eisen-3-Chlorid. Natriumpersulfat kann sich leicht entzünden. Chemikalien müssen ordentlich entsorgt werden. Schütten Sie diese niemals, auch nicht verdünnt, in den Abfluss. Und mischen Sie diese auch nie in irgendwelchen Kanistern oder Flaschen, das kann zu heftigsten Reaktionen mitunter auch zu Explosionen führen.

Tests

Bevor ich die Platine abschirme und einschrumpfe, stelle ich sicher, dass alles einwandfrei funktioniert. Wenn ich hier noch einmal den Mikrocontroller neu mit Software versehen will, müsste ich sonst alles wieder entfernen. Zum Testen der Schaltung prüfe ich, ob ohne Mikrocontroller im Sockel die LED dauerhaft leuchten. Ich prüfe das für beide KSQ. Mit einem Voltmeter messe ich, ob an Pin 8 des Sockels, 5 V anliegen. An Pin 7 muss eine Spannung kleiner 5 V anliegen. Bevor alles endgültig verbaut wird, prüfe ich, ob sich die Schaltung an einem vollen Akku korrekt verhält und auch, dass diese bei erreichen der Spannungsgrenze diese Information über ein geändertes Blinken anzeigt.

Blinkt die LED erst einige Zeit nach dem Einschalten und auch nur sehr langsam, stimmt die Taktung des Mikrocontrollers nicht. In dem Fall wurden ziemlich sicher die Fuse Bits noch nicht gesetzt.

Abschirmung

Da ich nicht weiß, ob die Schaltung in irgendeiner Form elektromagnetische Strahlung abgibt, werde ich diese vorsichtshalber noch abschirmen. Dazu schrumpfe ich diese zuerst mit Schrumpfschlauch ein. Vorher löte ich aber noch ein 10cm Stück dünnes Kabel an Minus irgendwo auf der Schaltung an. Das andere Ende dieses Kabels löte ich an einen 5 x 15 cm großen Streifen aus Alu-Folie aus der Küche an.

Die Alufolie wickle ich um den Schrumpfschlauch und kleben diese mit Klebefilm fest. Hier muss darauf geachtet werden, dass die Alu-Folie nicht in Kontakt mit der Platine kommt. Dann kommt eine weitere Lage Schrumpfschlauch drum, fertig ist die Abschirmung. Ich habe leider keine Messgeräte, um das Ergebnis zu prüfen. Eventuell kann jemand so eine Prüfung einmal durchführen und mir die Ergebnisse mitteilen. Wenn etwas stört, dann vermutlich höchstens die KSQ.

Das Anlöten des Kabels auf die Alufolie ist nicht einfach. Dazu wird viel Hitze (450° C) und Lötfett gebraucht, damit das Aluminium nicht die ganze Wärme einfach ableitet. Also lange drauf halten, bis sich eine feste Verbindung ergibt. Das Ergebnis ist nicht besonders schön, aber es funktioniert sehr gut. Wer einen 3D-Drucker sein Eigen nennt, kann sich ein kleines Gehäuse dazu drucken.

Fertiger Blinker
Fertiger Blinker

 

Erweiterungen

Die Blinkschaltung ist so bereits recht nützlich und beruhigt auch, da ich weiß, dass, neben welchen Maßnahmen auch immer, am Multicopter noch etwas auf leere Akkus hinweist. Da noch der ein oder andere Port bereit steht, können weitere Funktionen eingebaut werden. Mit einem Shunt könnte die Stromaufnahme oder der Verbrauch gemessen werden. Wegen des geringen Speichers des ATTINY13 muss hier aber dann wohl zu einer besseren Variante, wie dem ATTINY45 gewechselt werden.

Downloads

Hier finden sich die Downloads mit allen benötigten Dateien und Programmen, sowie der Anleitung zur Herstellung von Platinen.

Bezeichnung Download
Eeagle Projekt mit Schaltplan und Platinenlayout cr-blinker-eagle-projekt.zip
Quellcode für den Test und für die finale Schaltung main.c
Atmel Studio http://www.atmel.com/microsite/atmel_studio6/
LED Steuerung Atmel Studio Projekt komplett LED Projekt
Tutorial Platinen erstellen http://thomaspfeifer.net/platinen_aetzen.htm

Letzte Änderung: 26.11.2015 20:39