Ausgangssituation |
Konstruktionsphase |
Notfallplan |
Elektronik |
ABS |
Montage |
Download |
Mein leider sehr weit entfernt an der Ostsee wohnender Onkel hat einen selbstgezimmerten kleinen Leuchtturm in Garten, der von einer 25W Birne mit Blinkrelais illuminiert wird. Er wünschte sich schon länger, dass sich das Licht wie bei einem richtigen Leuchtturm dreht.
Anläßlich seines 70 Geburtstags sollte dieser Wunsch endlich in Erfüllung gehen.
Meine Tante schickte mir ein Foto und die ungefähren Maße der Glasscheiben: 9x23cm je Scheibe.
Das habe ich mit ein paar Rahmen und Ecken aus dem 3D-Drucker erstmal 1:1 nachgebaut:
Die Apparatur stellte ich
mir so vor:
Der Leuchtturm
soll unter dem Dach eine
Lampe hängen haben, die auf einen 45° schräg stehende Spiegel leuchtet um dann
durch eine Fresnel-Linse den Leuchtturm zu verlassen. Spiegel und Linse sollen mit einem Schrittmotor
langsam gedreht werden. Klingt doch gar nicht mal so schwer, oder?
Also habe ich angefangen und mit OpenSCAD einen Spiegelhalter und einen Linsenhalter konstruiert und mit PLA-Kunststoff ausgedruckt. Da der bei den zu erwartenden Temperaturen im Sommer schmelzen würde, wusste ich dass ich meinen Drucker irgendwann dazu bringen muss, ABS zu verarbeiten und alles nochmal zu drucken. Also eine Rolle ABS geordert und mich schon mal in Sachen ABS-Gedrucke schlau gelesen.
Da die Ausdrucke einfarbig, die Teile im CAD-Programm aber von mir bunt gefärbt wurden um Einzelteile besser erkennen zu können, zeige ich erstmal Screenshots statt Fotos.
Der Spiegelhalter:
In den roten Zylinder wird später das auf dem Schrittmotor vorhandene Zahnrad eingedrückt.
Der Linsenhalter mit Klemmring:
Davon habe ich einige gedruckt, bis die Linse da sauber drin hielt. Auch von dem 6-Eck das als Bodenplatte dient habe ich diverse Versionen. Aber das Ding ist letztendlich auch echt ziemlich komplex geworden.
Länger gebrütet habe ich über der Möglichkeit, wie ich die Lampe unter dem Dach fest bekomme und sie trotzdem in allen 3 Raumrichtungen justieren kann. Letztes ist nötig, um den Lichtstrahl so einzustellen, dass er nicht in die Gesichter von Leuten auf der Terasse scheint. Das könnte nämlich stören.
Hinbekommen habe ich das mit einem kleinen genialen Dreieck:
Da rein wird die Lampenfassung geschraubt. Durch die Längsbohrungen kommen 3mm Gewindestangen. Die Bohrungen sind leicht schräg, so dass das Ende einer Stange über die nächste Stange geht.
Die Lampe ist ein 12V-3W LED Strahler, den ich beim Lebensmitteldiscounter gefunden habe.
Während ich so vor mich hin gebastelt habe, vor mir die montierte Linsen-Spiegelhalter-Kombination auf dem Stepper Motor, fiel mir plötzlich auf, dass ich etwas wesentliches nicht bedacht hatte: Die Linse steht da draussen ja den ganzen Tag. Also kann die Sonne durch die Linse scheinen. Und die Linse hat einen Brennpunkt. Autsch! Der könnte ja mal blöd die Holzkonstruktion oder die LED treffen.
Also braucht der Leuchtturm eine Mütze für tagsüber. Oder ich muss noch eine Jalousie konstruieren. Aber dafür ist kein Platz. Also müsste ich den ganzen Aufbau nochmal kleiner machen. Zu dumm!
Gelöst habe ich das
Problem nun so:
Wenn man den Motor abschaltet,
wird die Linse automatisch nach Norden gedreht. Und
über den Spiegel montiere ich ein Dach, so dass die Sonne keine Chance
hat, durch die Linse zu scheinen.
Um den Spiegel nach dem Abschalten maximal
eine halbe Umdrehung zu drehen brauche ich einen Notstromversorgung. Dazu musste die
Spannungsversorgung auf 24V angehoben werden und es war ein richtig fetter
Elko nötig. Der war mit 10000µF aber so fett, dass das Netzteil
damit nicht starten wollte. Also bekam der Elko noch eine Ladestrombegrenzung in Form
von 2 Dioden und einem 100 Ohm Widerstand. Der Prozessor prüft, ob
die Spannung unter 23V sinkt. Falls Ja wird die Lampe ausgeschaltet, die Drehrichtung
mit dem kürzesten Weg bestimmt und der Spiegel dann mit maximaler Beschleunigungs-
und Bremsrampe nach Norden
gedreht.
An den
Beschleunigungsrampen habe ich mir wochenlang die Zähne ausgebissen, bis klar war: Der Arduino
schafft die Berechnung der ruckbegrenzten Beschleunigungsrampen nicht in Echtzeit. Irgendwann
bin ich dann drauf gekommen, dass der Speicherplatz reicht um alle Werte in einer Tabelle abzulegen.
Folgendes hatte ich überlegt: Der Motor macht 200 Steps/Umdrehung, beim benutzten 16-fach
Microstepping also 3200 Steps.
Ich muss maximal eine
halbe Umdrehung bis zur Nord-Position drehen - also 1600 Steps. Wenn ich bis zur Hälfte
des Weges beschleunige und die zweite Hälfte bremse, komme ich mit einer Tabelle
mit 800 Einträgen aus - und soviel Platz ist im Pro-Mini vorhanden. In der Tabelle
stehen die Mikrosekunden bis zum nächsten Step. Um diese Tabelle zu erzeugen habe
ich einen Rampengenerator in Javascript geschrieben, der mir eine Tabelle in C-Syntax
erzeugt und den Verlauf als Diagramm anzeigt.
(Der Script ist im Download enthalten)
Wie man
sieht, ist nur die Startphase schön sanft. Nach erreichen der Maximalgeschwindigkeit
wird diese stumpf gehalten.
Wenn
bei Stromausfall der Arduino beispielsweise genau 1000 Schritte
braucht um den Spiegel nach Norden zu drehen, dann durchlaufe ich die Tabelle bis
Eintrag 500 und kehre dann um. So komme ich exakt an der Nordposition an. Unschön
ist, dass beim Umkehren keine Ruckbegrenzung stattfindet, sondern die Beschleunigung
brutal ihr Vorzeichen wechselt. Na ja, da hat die Mechanik ja 16 Microsteps bis ein
Fullstep verloren geht. Und das ist bisher nicht passiert.
Damit die Elektronik
weiß wo der Spiegel steht, habe ich einen Hall-Sensor montiert und unter dem Spiegelhalter
einen Magneten angebracht. Bei jeder Umdrehung streicht der über den Hall-Sensor und
damit kennt der Prozessor nach spätestens einer Motorumdrehung die genaue Spiegelposition.
Mit einem kleinen Poti
kann ich einstellen, auf
welcher Position Norden ist.
Nach einschalten des Stromes wartet der Prozessor
ein paar Sekunden, bis der Elko genügend aufgeladen ist. Dann macht er eine zügige
Motorumdrehung um die Spiegelposition zu erfassen und erst dann wird die Lampe eingeschaltet.
Geht der Strom weg, so wird sofort das Licht ausgemacht und mit der im Elko gespeicherten
Energie der Spiegel aus der Sonne gedreht.
Der Motor wird von einer Elektronik angesteuert, die ich auf einer Lochrasterplatte verdrahtet habe.
Links in rot ein A4988 Schrittmotortreiber, in der
Mitte in blau ein Arduino-Pro-Mini und rechts ein Step-Down Spannungswandler in grün.
Vor dem A4988 steht ein 5V Spannungsregler und ein Transistor als Lichtschalter.
Auf der Unterseite etwas Hühnerfutter und mehr Strippen als ich anfangs dachte:
Hier der Schaltplan:
i;st im Moment out of order und wartet auf Reparatur.
ABS verhält sich beim Drucken deutlich anders als PLA. Da musste ich erstmal wieder Lehrgeld zahlen. Sowas ist doch fast schon Kunst:
Fast. Eigentlich ist es doch Schrott.
Aber mit der Zeit hatte ich
den Bogen raus:
Um dann festzustellen, dass ich das Teil so nicht verwenden kann. Also auch Abfall.
Nach und nach entstanden ziemlich viele Plastik-Teile, aber auch die Schrottkiste nahm deutlich an Gewicht zu.
Hier mal die schönsten Überbleibsel:
Und jetzt endlich Bilder des zusammengebauten Scheinwerfers:
Wie man sehen kann, habe ich die Abdeckung über der Linse silbergrau-metallic lackiert. In dem J-förmigen Winkel auf der Alu-Platte sitzt am Ende der Hall-Sensor. Der Magnet befindet sich in dem Bauteil, das mit 2 Schrauben am Linsenhalter befestigt ist.
Mein Onkel hatte uns ausdrücklich
verboten, irgendwelche Geschenke mitzubringen ("Ich hab alles was ich brauche").
Nunja
- eben nicht. Aber das konnte er ja nicht wissen. Es kostete daher nur ein klein wenig
Überredung, den Geschenkkarton doch mal aufzumachen.
Da unser Aufenthalt zeitlich begrenzt war, habe ich gleich mit dem Umbau begonnen.
Der Jubilar selbst öffnete die schöne Konstruktion:
Und ich konnte nun erstmals die Details des Turmes in Augenschein nehmen:
Auf dem Boden sind zwei Streben, die so nicht eingeplant waren:
War aber kein Problem. Mein 6-Eck passte da oben drauf.
Der Turm wurde umgelegt und mit einem Besenstiel die Kabel durchgezogen
Dann kam die neue Leuchteinheit drauf.
Das Steckernetzteil habe ich unten im Sockel auf einen Pflasterstein gelegt und als Wasserschutz einen Plastikeimer darüber gestülpt. Der Eimer war der letzte, den sie in dem Laden hatten. Er hatte einen 4cm Riss an der Seite und sollte 2€ kosten. Fast hätte ich einen Eimer Schoko-Schaumküsse (oder wie das jetzt politisch korrekt heissen mag) gekauft. Aber wer soll die 30 Zuckerbomben essen? Also mit dem kaputten Eimer zur Kasse. Nachdem ich die Kassiererin auf die erheblichen Mängel angesprochen hatte, bekam ich das für meine Zwecke bestens geeignete Ding geschenkt. Nun sind die Kabel prima in dem Riss eingeklemmt und der Eimer passt so grade über den Stein. Perfekt!
Inzwischen musste ich mich tierisch beeilen, denn es nahte der nächste Programmpunkt. Schließlich war es ja eine Geburtstagsfeier. Daher gibt's hier leider keine Eimerfotos.
Nachdem wir eine tolle Fahrt mit dem Molly hatten
bin ich vor dem Programmpunkt Leibliches Wohl bis zum Abwinken noch mal schnell in Schlips und Kragen mit der Silikonkartusche in den Garten geflitzt und habe die Scheibenfugen abgedichtet. Es soll ja vorkommen, das an der See Schietwetter herrscht.
Hier sieht man groß den kleinen Leuchtturm und hinten rechts ganz klein den Großen in Bastorf (der übrigends auch den Hintergrund dieser Seite bildet).
Der Lichtkegel von dem kleinen Ding ist übrigends sehr beeindruckend
und strahlt ein paar 100m auf das Feld hinaus.
Er wurde so eingestellt, dass er am Haus
oberhalb der Terassenfenster entlangstreicht. Blöderweise streift er bei seinen Runden alle
50 Sekunden über das Schlafzimmerfenster
der Nachbarn. Um die gute
Nachbarschaft nicht anzukratzen, wurde im nachhinein auf der Glasscheibe an
entsprechender Stelle etwas Milchglas-Folie angebracht.
Wie ich von ihm fernmündlich erfahren habe, hat meinen Onkel das Geschenk sehr gefreut. Also fahre ich im Sommer wieder hin und versuche mal ein Video vom Leuchtkegel im Dunkeln zu machen.
Die Software und die .stl Dateien
der 3D-Objekte: 153leuchtturm_peter.zip
Kommentieren | Startseite |
Best view: use a W3C compatible HTML-browser.
Curious view: use an Editor!