Sonntag, 29. Juni 2014

Mendel90 Erweiterung für Raspberry Pi, Kamera und Beleuchtung

Mitte Juni hat "nop head" eine Erweiterung für den Mendel90 veröffentlicht, die es ermöglicht, einen Raspberry Pi, die Raspberry Pi Kamera und eine Beleuchtung an den Rahmen des Mendel90 zu befestigen, die ziemlich genial ist:


Der Raspberry Pi wird auf das Netzteil geschraubt:




Die Kamera und die Beleuchtung werden mittels einer 2-teiligen Röhre zwischen den Ständerplatten des Rahmens geklemmt:


Die Lichtleiste ist eine "LED-Lichtleiste DAYLITE LSL-300, 3 W, 300 mm" von Pollin - Best Nr. 120 823.



Zur Steuerung der Helligkeit habe ich noch einen PWM-Dimmer - auch von Pollin, Best Nr. 121 031 - eingebaut:


Da die Lichtleiste an die von "nop head" konstruierten Halter nicht passte, musste ich diese ein wenig umkonstruieren. Die Trapezform des Aluminium-Gehäuses hat beidseitig eine Nut. Diese eignet sich gut um die Leiste am Halter zu befestigen.

https://www.youmagine.com/designs/clamp-for-daylite-lsl-300-led


Im Ergebnis bin ich mit dieser Lösung sehr zufrieden. Der Platz für die Kamera ist optimal gewählt, lässt kleinere Korrekturen des Winkels zu und steht keinem beweglichen Bauteil im Weg.

Auch der Raspberry Pi ist in der "Elektronik-Ecke" viel besser aufgehoben, als vorher an der rechten Ständerplatte, so wie ich es seit Oktober 2013 in Betrieb hatte.

Nur 0,6 Millimeter liegen zwischen Erfolg und Ausschuss

Mitte Juni hat der Entwickler des Mendel90 Druckers eine Erweiterung veröffentlicht. Sie integriert einen Raspberry Pi, die Raspberry Pi Kamera, eine Halterung und Beleuchtung derart geschickt an den Rahmen des Mendel90 - das musste ich einfach nachbauen. Zwar habe ich ja schon lange einen Raspberry Pi samt Kamera an meinem Drucker, jedoch hat mir insbesondere die Lage und die Halterung der Kamera nie wirklich gefallen. Das soll nun anders werden.

Mein Drucker legte los und produzierte das hier:





Da stimmt eindeutig etwas mit der ersten Schicht nicht. Die Düse hat einen zu großen Abstand zum Druckbett. Wenn sie auf Höhe Null fährt, sollte ein Stück der Polypropylenfolie, die im Bausatz enthalten war, gerade so noch unten durch passen. Bei mir war da aber viel mehr Platz.

Die Düse muss so weit nach unten fahren, damit sie das austretende flüssige Material verschmieren kann. Der richtige Höhenwert war nach ein paar Tests schnell ermittelt und nun produziert mein Mendel90 wieder anständige Ergebnisse.

Sonntag, 25. Mai 2014

Mein Mendel90 bekommt ein LCD

Damit nicht ständig ein PC den Drucker mit Druckdaten füttern muss, habe ich schon seit langem einen Raspberry Pi mit Octoprint/Octopi am Drucker angebaut. Soweit so gut. Beeinflussen kann man den Drucker dann über jeden Browser im Netz. Das hat zur Folge, dass doch während dem Drucken irgendwo ein Rechner läuft - falls was schief geht und der Druck gestoppt werden muss. Einfach Ausschalten ginge natürlich auch, aber das mag das Dateisystem auf der SD-Karte im Raspberry Pi nicht so gerne.

Deshalb wollte ich eigentlich immer schon ein Display direkt am Drucker haben. Es soll Systemzustände anzeigen, über ein Menü sollen Dateien auf der SD-Karte zum Druck ausgewählt werden können, man kann die Achsen verfahren, Temperaturen einstellen und vieles mehr.

Grundsätzlich gibt es alphanumerische und graphische Displays. Auch in der Art der Ansteuerung unterscheiden sie sich. Je mehr Anschlussdrähte man benötigt, desto schwieriger wird es, das Wunschdisplay an die eigene Hardware anzuschließen, weil so ein Mikrocontroller halt nur eine bestimmte Anzahl an Anschlüssen hat. Einige davon werden ja bereits für den Drucker selbst benötigt.

Auf der Suche nach geeigneten Displays bin ich auf dieses gestoßen:



Leider war ich um mehrere Monate zu spät, um noch bei der Crowdfunding-Aktion mitzumachen. Die Finanzierung hat auch leider nicht dazu geführt, dass dieses Display dauerhaft erhältlich ist. Doch noch im September 2013 hat der Entwickler seine Prototypen und Restbestände verkaufen wollen - blos geantwortet hat er mir nie.

Ab November 2013 wurde von einem eine Sammelbestellung gestartet. Es haben sich aber nicht genügend Interessenten gemeldet. Letztlich brach auch hier der Kontakt zum Sammelbesteller ab.

Ergo: Immer noch kein Wunschdisplay für mich. Also suchte ich weiter.

Am 29.04.2014 traf für mich eine private Nachricht im Reprap-Forum ein. Ein Mitglied hat tatsächlich so ein Display übrig und will es mir verkaufen! Freu! Hüpf! Wenige Tage später hatte ich das Display in Händen:


Der Entwickler hat auch ein Gehäuse dazu entworfen und auf Thingiverse abgelegt. Dummerweise hat es Fehler. Die untere Gehäusehälfte hat in der Luft schwebende Haltestifte für die Platine:


Die obere Gehäusehälfte hat nur ein 3mm Loch für den Speaker. 17mm wären nötig gewesen. Ich habe deshalb seine Dateien repariert und nun kann jeder aus meinen Dateien ein passendes Gehäuse drucken.


Der grüne Drehknopf kommt vom Parametric Potentiometer Knob Generator. Meine Parameter sind


01_knob_diameter_top = 20;
02_knob_diameter_bottom = 20;
03_knob_height = 16;
04_knob_smoothness = 40;
05_shaft_diameter = 6.2
06_shaft_height = 10;
07_shaft_smoothness = 20;
08_shaft_hole_is_flatted = "true";
09_shaft_hole_flat_size = 5.0;
10_set_screw = "false";
15_top_edge_smoothing = "true";
16_top_edge_smoothing_radius = 5.0;
17_top_edge_smoothing_smoothness = 20.0;
18_pointy_external_indicator = "false";
21_top_of_knob_arrow_indicator = "false";
28_indentations_sphere = "false";
36_indentations_cylinder = "true";
37_number_of_cylinder_indentations = 6;
38_smoothness_of_cylinder_indentations = 50;
39_diameter_of_top_of_the_cylinder = 5.0;
40_diameter_of_bottom_of_the_cylinder = 5.0;
41_height_of_cylinder_indentations = 15.0;
42_position_of_cylinder_x = -0.0;
43_position_of_cylinder_y = 0.0;
44_position_of_cylinder_z = -5.0;
45_cylinder_starting_rotation = -30;


Damit erhält man diesen Knopf generiert:



Nun kam der schwierige Teil - die Firmware meines Druckers so konfigurieren, dass das LCD auch was anzeigt, der Drehknopf funktioniert und der Piepser Töne von sich gibt.

Das schöne an einem Komplettbausatz, so wie ich ihn im September 2013 bestellt und zusammengebaut habe, ist, dass alles zusammenpast. Insbesondere ist die richtige Firmware schon fertig vorkonfiguriert und auf die Controllerplatine hochgeladen. Als ich im Oktober 2013 den Drucker kalibriert hatte, war ich zuletzt in den Innereien der Firmware unterwegs. Die damalige Version war Marlin 1.0.0 RC2 (von ca. Mitte 2012). Allerdings wurde an dieser Version vom Bausatz-Verkäufer diverse Anpassungen vorgenommen, die es sehr schwierig machen, neuere Versionen vom Hauptentwickler zu verwenden.

Insbesondere die LCD-Erweiterungen, die gegen Mitte 2013 ins Projekt geflossen sind, sind in meiner Version nicht vorhanden. Glücklicherweise hat sich im März 2014 jemand gefunden, der die Änderungen zusammenbringt und verfügbar macht.

Soweit so gut. Ich habe mich also daran gemacht, die Anweisungen für mein Melzi-Controllerboard in die Quelldateien einzubauen. Dummerweise steht bei den Anweisungen, man solle Diverses in diversen Zeilen modifizieren. Das mag zum damaligen Zeitpunkt ausreichend gewesen sein - mittlerweile passt das hinten und vorne nicht mehr. Es wäre besser gewesen, wenn die notwendigen Abschnitte Bestandteil der Marlin Firmware geworden wären und man in gewohnter Manier die Konfiguration vornimmt. Leider gab es beim Compilieren dann auch noch einen Fehler:

Binary sketch size: 130,666 bytes (of a 129,024 byte maximum)

Tja ... so ein Atmel Mikrocontroller hat halt nun mal nur begrenzte Ressourcen. Hier ist der Flashspeicher zu klein. Als einzigen Ausweg, den Code kleiner zu bekommen, ist es, Dinge, die man nicht braucht, wegzulassen. Bei mir kommen die EEPROM-Funktionen in Frage. Die habe ich eh nie benutzt. Dort könnte man diverse Parameter (Temperaturen, Geschwindigkeiten) dauerhaft speichern.

Letztendlich klappte es und ich konnte die Firmware hochladen. Nur um festzustellen, dass die deutschen Umlaute nicht passen. In diesem Thread wird das behandelt. Interessant ist vor allem, dass ein kleines "ä" problemlos angezeigt wird, wenn man es als "\0xe4" im Text kodiert. Ein kleines "ü" bekommt man mit einem "\0xfc" aber nicht hin. Warum? Weil der "Entwickler" in der Fontdefinition gepfuscht hat:

Also muss man den Pfusch wieder grade ziehen, dann klappt's auch mit den Umlauten:



Der SD-Kartenleser zickt noch ein bissl und ich muss noch eine geeignete Haltekonstruktion für das Display entwerfen und drucken, dann steht dem autarken Drucken nichts mehr im Wege.

Montag, 21. April 2014

Der Ei-Sessel

Was hat ein Sessel mit einem Ei zu tun? 1958 hat der Designer Arne Jacobsen das hier entworfen (weitere Details hier):


Pünktlich zu Ostern wurde auf Thingiverse ein Objekt als Eierbecher veröffentlicht, was diesem Sessel sehr nahe kommt:



Gedruckt habe ich es mit Faberdashery's Arctic White>, Fire Truck Red, Bloomsbury Teal und Mellow Yellow.

Sonntag, 13. April 2014

Drahtloses induktives Laden mit dem Qi Standard

Kürzlich habe ich bei Pollin ein drahtloses Lademodul "WCTX-12USB" mitbestellt:

Ein kurzer Funktionstest ergab, dass es ein Modul nach dem Qi-Standard und damit kompatibel mit meinem Nexus 4 ist.

Nun musste ein passendes Gehäuse her. Während der letzten Tage habe ich das Modul ausgemessen und ein passendes Gehäuse in OpenSCAD konstruiert:
Ausgedruckt sieht das so aus:



Das Lademodul wird mit 12V betrieben. Am USB-Ausgang lässt sich ein weiteres Gerät, wie z.B. meine Pebble Steel, aufladen:


Samstag, 15. März 2014

Geisterstunde

Während der letzten Tage habe ich eine Geisterfamilie in Faberdashery's Arctic White gedruckt. Ich finde, so in weiß sind die ziemlich harmlos:


Aber wenn es dunkel wird ....



Ein Video gibt es auch! Have fun!



Diese LED-Flackerkerzen von Pollin passen wunderbar drunter ... ;-))

Sonntag, 16. Februar 2014

Tiere mit Biss

Zu Weihnachten habe ich ein paar Tiere für die Familie gedruckt:




Gruppenbild mit Trillerpfeife und "Twisted Bottle":