Autodesk’s Project Escher on Vimeo

Ein FDM Drucker mit (wirklich) mehreren Druckköpfen. Wichtig ist die Software.

Ohne die passende Software könnte jeder Druckkopf einfach nur die anderen spiegeln. Das ist schon seit längerem möglich. Das Autodesk Projekt Escher hingegen teilt ein Objekt so auf, dass es ideal zwischen den Druckköpfen aufgeteilt ist.

Noch mehr kleine Symbole für die Wand

Ich finde, dass die meisten White Boards ein wenig mehr Pepp brauchen. So kleine oder auch große gedruckte Symbole machen da schon viel her.

 

Gedruckt mit einem Objet 500 Connex 3

Das „Geldsymbol“ hatte ich mit einem Objet 500 Connex 3 gedruckt. Ist leider nicht so ganz gut geworden. Wir haben zu dem Zeitpunkt gerade mit der Software rumgespielt.

 

Achtung

 

Wenn es mal schnell gehen soll…

Die beiden roten Zeichen sind recht klein. Nur ca 15 mm breit. Dafür lassen sie sich aber sehr schnell drucken und sind trotzdem gut auf dem Whiteboard sichtbar. Zettel können sie auch noch halten. Zweck erfüllt 🙂

Das elektronische Schaf

Lange ist es her, seit ich mich um das elektronische Schaf gekümmert habe. Mit dem Unterboden war ich nicht wirklich zufrieden. Nun habe ich mich endlich mal an einen neuen Versuch gewagt.

links: neue Version, rechts: alte Version

 

Die Motoren sind nun um 5° nach unten geneigt. Das ergibt ein bisschen mehr Bodenfreiheit und die Drehungen sollten ein bisschen leichter gehen. Eine 10° Neigung müsste ich auch noch mal ausprobieren.

Um 5° geniegte Motoren auf allen Achsen

Da der Raum für den Motor zu eng war, ist beim Eindrücken des Motors das Gehäuse ein bisschen aufgeplatz (links zu sehen). Die Layerhafung ist bei diesem Versuch auch nicht so ganz gut. Gedruckt habe ich mit ABS.

Dafür war die Haftung am Druckbett zu gut.

Am Druckbett haftendes ABS

Obwohl die Maße 170 mm x 128 mm betragen hat sich keine einzige Ecke des  Modells vom Druckbett abgehoben. Leider haftete das Modell auch nach dem Abkühlen noch so stark am Druckbett, dass ich es nur mit Mühe runterbrechen konnte. Vor dem Drucken kippe ich ein wenig Aceton (Achtung gut lüften!) auf das Druckbett und schwenke ein paar mal etwas ABS darin herum. Das ABS löst sich im Aceton etwas auf und klebt dann nach dem Trocknen am Druckbett fest. Die Schicht ist dabei kaum zu sehen, aber es reicht vollkommen aus, um als Haftgrund zu dienen.

Ich werde nachher noch mal einen Druck starten. Mit veränderter Motoraufnahme (etwas weiter), dickeren Wänden (2mm auf 4 mm) und leicht erhöhter Drucktemperatur (234°C auf 237°C). Druckzeit ca. 6 Stunden.

DEFCON Ampel, die Zweite

Um den Kollegen anzuzeigen, dass man gerade nicht unbedingt gestört werden möchte, habe ich eine kleine Ampel in Anlehnung an die DEFCON Einteilung (Grün und Blau sind getauscht) gebastelt.

Zuerst hatte ich als Gehirn der Schaltung einen Arduino Mini Pro verwendet. Da ich nur die 5V Version besitze und das Ganze mit einem kleinen Lithium-Akku betreiben wollte, brauchte ich auch noch einen Step-Up Wandler auf 5V. Die Billigdinger, die ich hier rumliegen habe, taugen aber leider nicht viel. Sie machen zwar, was sie sollen und es funktioniert auch, aber sie geben einen fiesen Pfeifton von sich. So kann die Ampel dann nicht auf dem Schreibtisch stehen.

Also habe ich mir eine andere Möglichkeit überlegt. Mein Hundeblinklicht habe ich auch von Arduino Mini Pro auf ATTiny85 gewechselt. So wollte ich es nun auch machen. Hab zwar nur noch einen ATTiny 45 hier liegen, der ist aber auch nicht viel anders als der 85er. Der ATTiny45 hat insgesamt 8 Pins. Zwei dienen der Spannungsversorgung und ein weiterer kann nicht so ohne weiteres als Aus- oder Eingang verwendet werden. Der RESET Pin. Den brauche ich, so wie er ist, zum Programmieren des ATTiny. Bleiben also noch 8 minus 3 also 5 Pins über. 3 LEDs und zwei Taster wären dann auf traditionelle Weise möglich. Das war mir bedeutend zu wenig. Immerhin hatte ich bereits 5 LEDs und 6 Taster in der ersten Version eingebaut.

Der ATTiny 45 sitzt unter den Tastern; vorne links zu sehen.

 

Über Spannungsteiler kann man unterschiedliche Spannungen am Analogeingang anlegen und im Code auswerten. Das erfordert zwar ein bisschen mehr externe Beschaltung, dafür ist die Anzahl der Taster dann nicht mehr begrenzt (praktisch wird es bei > 20 Tastern schon schwierig). Das Ganze erfordert dann auch nur noch einen Pin.

Stümperhaft bemalt, aber für einen Prototypen reicht es

Dann sind nun noch 4 Pins frei. 3 LEDs mit PWM sind mit Bordmitteln machbar oder ich verzichte auf PWM und habe dann 4 LEDs. Dennoch habe ich erst mal mit 3 LEDs und PWM angefangen. So hatten wenigstens alle 6 Taster eine Funktion.

Danach ist mir dann eingefallen, dass man LEDs antiparallel schalten kann. Einfach die Polarität tauschen und schon leuchtet die eine oder die andere LED. So wie bei Charlieplexing. In dem Fall musste ich mich dann aber vom integrierten PWM verabschieden. Mit Charlieplexing und PWM wären nur 4 LEDs möglich gewesen (beim ATTiny 45).

Schaltplan der Ampel

Statt die LED nun sanft ein und ausfaden zu lassen, blinken sie nun einfach. Mit zwei Tastern kann man die Blinkfrequenz verlangsamen oder beschleunigen. Mit übrigen zwei Tastern kann man nun das Tastverhältnis (Duty Cycle) zwischen An und Aus beeinflussen. Tja und wenn man nun die Blinkfrequenz ganz hoch setzt, hat man ein Software PWM 🙂 Ich könnte jetzt wieder das sanfte ein und ausfaden einbauen. Ich werd’s aber wohl lassen. Das Blinken und Blitzen hat auch was.

Hier der Code, den ich mit der Arduino IDE geschrieben habe. Wenn ich die Funktion analogRead(x) nun noch ersetzen kann, ist der Code auch mit anderen IDEs kompelierbar.

 

 

ArcadePi nächster Teil

Vor langer Zeit  hatte ich mal damit angefangen, eine tragbare Spieleconsole mit einem RaspberryPi zu bauen. So eine Art PiGRRL – Raspberry Pi Gameboy. Mein zweiter Versuch war dann schon etwas aufwändiger. Das ganze Gehäuse habe ich selber entworfen und mehrere Versionen auf meinem 3D Drucker ausgedruckt.

Das Display ist ein 4,3 Zoll großer TFT Monitor, den man für Rückfahrtkameras nutzt. Im Gegensatz zu den Displays, die speziell für den RaspberryPi verkauft werden, ist so ein Monitor bei Amazon schon für um die 20 Euro zu haben.

Nachdem dann der ganze ArcadePi zusammengebaut war und funktionierte, schlief das Projekt wieder ein. Einige Dinge haben mit nicht gefallen und bei dem jetzigen Neuanfang habe ich die Chance, diese Dinge zu ändern.

Bei dem neuen ArcadePi wollte ich zuerst eines dieser RaspberryPi Displays nutzen, die man über die GPIO Pins anschließt. Dies Vorteile als auch neben dem Preis einige andere Nachteile:.

Vorteile

  • Digitale Übertagung
    • Die Daten werden nicht Analog, sondern mit digitalen Signalen auf das Display geschoben
    • Dadurch bleibt die Grafik frischer und wirkt nicht so verwaschen.
  • Es ist (gefühlt) stromsparender
    • Einen genauen Beleg habe ich nicht. Es liegt sicherlich daran, dass ich einen 4,3 Zoll Monitor genutzt habe, der offensichtlicher Weise mehr verbraucht als ein 3,5 Zoll Monitor.

Nachteile

  1. Das Display muss erst konfiguriert werden, damit es überhaupt etwas anzeigt.
    • Wenn es dann erst mal läuft, ist das auch nicht weiter schlimm
  2. Das Display ist langsam
    • FPS
    • Video Lag

Am störensten ist das Video Lag. Dieser liegt bei 20 bis 30 ms. Klingt erst mal nicht viel. Aber wenn man dann mal Super Mario Brothers spielt, ist das schon sehr deutlich zu spüren. Durch diesen Lag springt man immer zu spät und stirbt ständig. Ich bin zwar kein guter Mario Spieler, aber zumindest im ersten Level verliere ich kein Leben, wenn ich über einen VGA oder HDMI Monitor spiele. Bei 30 Milli-Sekunden Lag ist das schon frustrierend. Man könnte sich an den Lag anpassen, aber will man das wirklich?

Ich habe hier noch einen weiteren kleinen TFT Monitor im 3,5 Zoll rumliegen (auch ca 20 Euro bei Amazon). Diesen will ich diesmal verwenden. Der 4,3 Zoll Monitor verbraucht mir zu viel Strom und 3,5 Zoll sind ausreichend groß.

Bald soll es weitergehen.

Ein GPIO Display am Raspberry konfigurieren und andere Sachen

Hier in Kurz einmal meinen Weg, wie ich die Software (Retropie) auf dem RaspberryPi mit dem Raspberry Display eingerichtet habe.

Retropie hier runterladen und auf eine SD Karte „brennen“ (z.B. mit Win32 Disk Imager)
http://blog.petrockblock.com/retropie/retropie-downloads/

Eine Manuelle Installation ist auch möglich
http://blog.petrockblock.com/2012/07/22/retropie-setup-an-initialization-script-for-retroarch-on-the-raspberry-pi/

Nach dem ersten Einloggen über SSH dann erst mal

ausführen und das Dateisystem auf die gesamte Speicherkarte ausweiten (Punkt 1). Dies ist besonders dann notwendig, wenn man das Komplettimage runtergeladen und auf die Speicherkarte „gebrannt“ hat. Wenn man schon dabei ist, kann man auch gleich die Internationalisierungsoptionen (Punkt 4) auswählen und z.B. das Tastaturlayout (change keyboard layout) einstellen.

Danach dann gleich ein

Hier wählt man im ersten Schritt “UTF-8” aus. Im zweiten Schritt “Guess optimal character set”; im dritten “Terminus” und im vierten und letzten Schritt “6×12 (framebuffer only).”. Diese Einstellung sorgt dafür, dass wir die Konsole im kleinen Display besser lesen können.

Jetzt updaten wir einmal das System mit folgenden Befehlen

Damit sollte Retropie auf dem neusten Stand sein.

Bisher bleibt das über die GPIO Pins angeschlossene Display noch schwarz. Das wollen wir nun ändern.

Es wird ein kleines Skript runtergeladen und dann ausgeführt. Beim Ausführen bekam ich die Meldung, dass kein „FBTFT“ gefunden wurde und ob ich das System updaten wolle. Dieses habe ich mit Ja beantwortet.

Nun muss man noch ein bisschen in der Bootconfig von RaspberryPi rumfummeln.

Folgende Zeilen sollen in der config.txt am Ende eingefügt werden.

Jetzt muss SPI noch aktiviert werden.

Hier muss die Zeile mit „blacklist spi-bcm2708“ auskommentiert werden (mit # ).

Wenn man nun die Kommandozeile auf dem Display sehen möchte, muss man in cmdline.txt noch etwas anfügen.

Einfach am Ende der langen Zeile noch dies hier anhängen:

Natürlich nicht vergessen, alle Änderungen zu speichern.

Nach einem Reboot ( sudo reboot), sollte die Kommandozeile im Display zu sehen sein. Sobald jedoch EmulationStation (die grafische Oberfläche des Emulators) startet, bleibt das kleine Display schwarz. Hier ist noch ein bisschen Arbeit nötig.

Folgende Befehle nacheinander in der Kommandozeile eingeben:

Nun ist der FrameBufferKopierer installiert. Einfach mal „fbcp&“ in die Konsole eingeben. Schon sollte auch der Emulator nun auf dem Display laufen. Leider muss man bei jedem Neustart fbcp& eingeben, was bei einem Gameboy-Clone ohne Tastatur nur schwer möglich ist.

Es wird einfach ein neues keines Skript angelegt mit

Inhalt des Skriptes ist

Nun machen wir das neue Skript nach dem Speichern noch ausführbar mit

und fügen es der Gruppe und dem Besitzer „root“ zu

Damit unser kleines Skipt bei jedem Neustart ausgeführt wird, geben wir noch dieses in die Konsole ein

Nun sollte der Emulator auch bei jedem Neustart auf dem kleinen Display zu sehen sein.

Es kann sein, dass die Schrift im Emulator schwer zu lesen ist. Ein wenig Abhilfe könnte dies hier schaffen.

In dieser Datei runterscrollen bis zur „gamelist“ Sektion. Dort den Wert von „primaryColor“ auf 000000 ändern. Und dann noch die „fontSize“ von 0.03 auf 0.05 erhöhen.

Wer jetzt noch seine Buttons konfigurieren möchte, muss sich hier ein bisschen einlesen: https://learn.adafruit.com/retro-gaming-with-raspberry-pi/buttons Vermutlich muss das Programm „retrogame“ neu kompliert werden. Das ist aber nicht weiter schlimm und steht im eben genannten Link.

Nun noch die richtigen ROMs auf die Speicherkarte kopieren und schon kann der Spaß losgehen.

Wer nun noch einen kleinen WLAN Stick am Raspberry nutzen möchte, kann dies einfach machen. In „interfaces“ müssen nur die richtigen Daten eingetragen werden.

Bei meiner Bluetooth Tastatur hapert es noch ein wenig. Bisher schaffe ich es nicht, dass die Tastatur nach einem Neustart verwendet werden kann. Bisher habe ich folgendes versucht. http://elinux.org/RPi_Bluetooth_keyboard_setup

Den letzten Befehl muss ich immer erst manuell ausführen, damit die Bluetooth Tastatur verunden wird. Eigentlich sollte der vorletzte Befehl genau dieses erübrigen.

Hier noch unsortiert die Links, die ich bei der Einrichtung studiert habe:

http://www.forum-raspberrypi.de/Thread-gameboy-pi-a
http://www.forum-raspberrypi.de/Thread-bitte-um-hilfe-bei-display?page=3
https://github.com/notro/fbtft/wiki/Framebuffer-use#framebuffer-mirroring
https://learn.adafruit.com/running-opengl-based-games-and-emulators-on-adafruit-pitft-displays/adding-controls
http://seite360.de/2013/10/12/retroppie-schritt-fur-schritt-zur-retrogame-emulationstation-mit-dem-raspberry-pi/
https://github.com/watterott/RPi-Display/blob/master/docu/FAQ.md
http://elinux.org/RPiconfig

You SLS – SLS 3D Drucker zum Nachbauen

Wer Lust und Zeit hat, kann sich seinen eigenen SLS 3D Drucker zusammenbauen.  hat angefangen dazu auf Instructables eine Anleitung zu schreiben.

You-SLS

18-year-old German student Lukas Hoppe has therefore spent the last year or so working on an open-source SLS 3D printer, and through a successful Indiegogo campaign, he now has the funds to complete and share his YOU-SLS machine.

Bei IndieGoGo hat Andreas auch eine Kampagne gestartet, um seine Maschine weiter zu verbessern, Einen 3D Drucker können die Unterstützer hierbei nicht erwerben. Es geht hier rein um Unterstützung bei der Entwicklung.

Insgesamt soll der SLS 3D Drucker an Material um die 2200 Euro kosten.