The lectures during my last semester were largely focused on digital image processing.
Combining this with the inspiration for 3D printing, I gathered through my trip though South Korea, resulted in the following seminar paper.
Seminars are a compulsory part of our curriculum which I like due the self-contained work and the ability to pick an individual topic.
Over the past year, I’ve built my own Kossel 3D printer.
The Mini Kossel is based on a novel parallel delta kinematic which was developed by Johann C. Rocholl, a Google engineer from Germany.
This paper is targeting the automation of solder paste dispensing onto printed circuit boards by using computer vision and RepRap robots.
Für mein neuestes Projekt habe ich mir die Mühe gemacht und meine EAGLE Bibliotheken aufgeräumt.
EAGLE ist ein CAD Programm der Unternehmen Cadsoft, das vornehmlich im Elektronik/DIY Bereich zum Designen von Schaltplänen und Platinen eingesetzt wird.
In den letzten Jahren haben sich einige selbst erstellte Bibliotheken angesammelt, die ich hier nun gesammelt veröffentliche.
Mit ihnen können die bereits mitgelieferte Datenbank von Bauteilen (Footprints und Symbole) erweitert werden.
Diese Bibliotheken und noch einige Skripte, Einstellungen und CAM Jobs findet ihr auf Codeberg: /stv0g/eagle .
Ein Layout mit dem RPi Shield.
Interessant ist vielleicht noch die Raspberry Pi Bibliothek.
Bisher hab es noch keine EAGLE Bibliothek mit der man einfach Shields (vergleiche auch Arduino) für den Board-Computer layouten konnte.
Die Bibliothek enthält die genauen Abmessungen des Pi’s und die Belegung aller GPIO Stiftleisten.
Aber die folgenden Bilder erklären das sicher viel besser.
breadBUG ist ein kleines Mikrocontroller Modul, das direkt auf ein Breadboard aufgesteckt werden kann.
Es ist als Prototyping-Werkzeug für tägliche Basteleien gedacht.
Es fasst das für den Mikrocontroller nötige “Vogelfutter” auf einer kleinen Platine zusammen:
ATmega8 Controller
16 MHz Quarz und Keramikkondensatoren
5 V Festspannungsregler
Reset Taster
ISP Stecker
LED zur Spannungsüberwachung
breadBUG ist während meiner Arbeit für die Mikrocontroller-AG des MMIs entstanden.
Einige Teilnehmer wünschten sich ein einfaches, kleines und günstiges Modul, das sie als Alternative zu dem von uns verwendeten Evaluation Board für eigene Projekte nutzen können.
Fast alle von uns in der AG verwendeten Erweiterungsmodule sind daher Pin-kompatibel mit dem “breadBUG” Board.
Bis auf den Controller selber haben wir nur Through-hole Komponenten verwendet um den Aufbau auch für Einsteiger möglichst einfach zu halten.
Das Board hat etwa eine Größe von 2.5x5 cm, sodass im Mehrfachnutzen genau zwei Boards auf eine 5x5cm Platine von seeedstudio.com passen.
Damit liegt der Preis für eine einzelne Platine bei weniger als 50 Cent.
Für Einsteiger können die ersten Schritte beim Basteln mit Mikrocontrollern häufig etwas frustrierend sein.
Ja, das ist leider auch meine eigene Erfahrung.
Der Fehler liegt dann meist im Verborgenen: Wackelkontakte, eine instabile Spannungsversorgung oder Softwarefehler helfen kann hierbei nur viel Geduld und geeignete Messgeräte.
Dass dies aber nicht immer direkt ein teures Oszilloskop sein muss, möchte ich in diesem Beitrag zeigen.
Ich konzentriere mich dabei auf einige fast baugleiche Geräte: Saleae Logic & USBee AX.
Beide basieren auf dem gleichen Mikrocontroller, dem Cypress FX2, und werden per USB an den Rechner angeschlossen.
Bei eBay, AliExpress und co. sind sie für unter 10 € erhältlich.
Wie war nochmal die Pinbelegung des Festspannungsreglers? Wie stark darf ich die Pins des Mikrocontrollers belasten? Wie viel Volt fallen an dieser LED ab?
Häufig sind es diese kleine Fragen, die gerade Anfänger den Einstieg in die Welt Elektronik oder Mikrocontroller erschwert.
Um diesen etwas zu erleichtern und auch den erfahrenen Bastlern einen Spickzettel zur Verfügung zu stellen, habe ich folgendes CheatSheet zusammengestellt:
Nicht selten kommt es mal vor, dass sich ein Rechner nach astronomischen Zyklen orientiert.
Die zur Berechnung der Osterfeiertage häufig verwendete Gaußsche Osterformel basiert so z.T.
auf der Mondgleichung.
Unser Problem stellte sich etwas anders dar: Die LED-Flurbeleuchtung in unserem Flur wird durch den Router geregelt und lief bisher in der Regel 24/7.
Mit dem hier vorgestellten Programm haben wir es nun geschafft die Laufzeit auf die Nachtstunden zu begrenzen, indem wir die von unserer geografischen Position abhängige Sonnenuntergangszeit nutzen um die Lampen erst bei Dämmerung einzuschalten.
UPDATE: Ich habe nochmal etwas Arbeit in das Tool investiert und es in ein eigenes Projekt ausgelagert.
Das neue Tool liefert wesentliche genauere Ergebnisse und mehr Funktionen.
Zu finden ist es hier: calcelestial.
Das neue Tool besitzt eine Reihe weiterer nützlicher Funktionen:
Als Abschlussprojekt und Vorbereitung auf meine Betreuer Tätigkeit für die Mikrocontroller-AG des MMI’s habe ich mich näher mit dem USB-Bus und dem darauf aufbauenden HID-Protokoll befasst.
HIDeKey ist ein kleiner USB-Stick, der als HID-Tastatur vom Rechner erkannt wird und beliebge Zeichenketten und Tastenkombinationen an den Host-Rechner senden kann.
Mein Ziel war es ein kleinen Hardware-Dongle zu entwickeln welcher Passwörter, TANs und Onetime-Tokens direkt an jeden beliebigen Rechner senden kann.
Meine Passwörter sind im verschlüsselt EEPROM des Mikrocontrollers gespeichert.
Beim Drücken, des Tasters auf dem Stick, wird das Passwort eingegeben.
Als Hardware nutze ich die zuvor vorgestellten USBasp Programmieradapter aus China, deren Firmware ich durch eine eigene ersetzt habe.
Mit einem zusätzlichen Taster lässt sich so über ein kleines Menü zwischen 10 User-Passwort-Kombination wählen.
Neue Passwörter können mit einem kleinen Konsolen-Programm direkt über den Rechner einprogrammiert werden.
HIDeKey soll auch zur Generierung von One Time Passwords (OTP) genutzt werden können.
Da er sich wie ein gewöhnliche USB-Tastatur verhält, kann er auch unterwegs am Schlüsselbund in Internet-Cafes und Rechner-Pools genutzt werden.
Quelltext und Schaltpläne gibt auf Codeberg: /stv0g/hidekey .
In meinem Wiki ist auch noch etwas Dokumentation gesammelt.
HIDeKey ist wie die meisten meiner Projekte als OpenSource veröffentlicht.
Ich freue mich über jede Verbesserung, Erweiterung oder andere Beiträge zu diesem Projekt 😊.
Für gerade mal 2,95 € bieten chinesische Händler einen Klon des In-System-Programmers USBasp von Thomas Fischl auf eBay an.
Das Board wurde ursprünglich zum Programmieren von AVR Mikrocontrollern entwickelt und basiert selbst auf einem ATmega8 Controller.
Das Board bietet folgende Features, die auch für andere Zwecke genutzt werden können:
Dieses Angebot ist preislich unschlagbar.
Es gibt kein anderes megaAVR Board, das inklusive Versandkosten für unter 3 € zu haben ist.
Auch ein Selbstbau mit den günstigsten Bauteilen ist bei kleineren Stückzahlen (< 50) weit teurer.
Fertige Leerplatinen sind aber auch über eBay verfügbar.
Der günstige Preis hat aber auch einen Nachteil: Mitunter muss man einen Monat warten, bis der Stick im eigenen Briefkasten liegt.
Dafür gibt es in der REgel keine Probleme beim Zoll 😉.
Neben der Informatik Vorlesung besuchte ich dieses Semester die Mikrocontroller AG.
In dieser freiwilligen Veranstaltung lernten wir den aus der Vorlesung bekannten Mikrocontroller, ATMega zu benutzen.
Zusammen mit meinen Gruppenmitgliedern Annika, Maiwand & Christian bauten wir ein 8x16 LED-Dot Matrix Display auf dem wir Tetris spielen konnten:
volkszaehler.org ist ein freier Smart Meter (hier: intelligenter Stromzähler) im Selbstbau.
Die anfallenden Stromprofile bleiben dabei unter der Kontrolle des Nutzers.
Seit dem 1. Januar 2010 müssen Stromversorger ihren Kunden für Neubauten so genannte “intelligente Stromzähler” (Smart Meter) anbieten.
Der Kunde soll dadurch seinen Stromverbrauch analysieren und optimieren können.
Die dabei anfallenden Daten (“Stromverbrauchsprofil”) erlauben einen sehr detaillierten Einblick in den Tagesablauf des Nutzers (wann steht er auf? wann geht er in’s Bett? wann kocht er? wie oft verwendet er seine Spülmaschine? verändert sich sein Verhalten? …).
Darum sollten die Daten ausschließlich für den Nutzer selbst zur Verfügung stehen - und das geht nur, wenn man sich den Smart Meter selbst baut.
Mit einem Materialeinsatz von etwa 100 €, etwas Geschick und Zeit lässt sich das mit Hilfe eines Standard-µC-Moduls aufbauen.
Auf der SIGINT 2010 konnte ich mir den Vortrag von Justin Otherguy über das noch recht junge Projekt anhören und fand anschließen die Gelegenheit mit ihm über das Projekt zu sprechen.
Schnell war für mich klar, dass ich hier helfen möchte.
Bisher gibt es nur einen funktionsfähigen Prototypen.
In den letzten Wochen habe ich mit ein paar weiteren Entwicklern begonnen den Code des Prototypen neu aufzubauen.
Die Architektur von volkszaehler.org ist dreigeteilt:
Die Controller und Sensor Ebene erfasst mithilfe eines Mikrocontrollers die Daten leitet sie an den Backendserver weiter.
Der Backendserver besteht aus einem PHP-Skript und einer Datenbank. Hier werden die Daten weiter verarbeitet und ausgewertet. Er kommuniziert ausschließlich über eine standardisierte JSON API.
Das Frontend stellt die Daten für den Benutzer übersichtlich dar und ist für die Ausgabe der Analysen verantwortlich.
Systemübersicht volkszaehler.org.
Diese Darstellung verrät uns auch, dass nur der Stromverbrauch erfasst werden kann.
Geplant sind sämtliche Messgrößen (Temperatur, Luftdruck, Luftfeuchtigkeit, Strahlung, Niederschlag, …).
Bisher gibt es noch keine stabile, lauffähige Version des Quellcodes.
Im Wiki, der Mailing-Liste und im GitHub Repository (/volkszaehler/volkszaehler.org ) findet ihr weitere Informationen zu meinem neuen Projekt.
Wir freuen uns über jede Unterstützung 😊.
Besonders Entwickler mit PHP und Javascript Kenntnissen wären hilfreich 😉.