Skip to content

Electronics

26 posts with the tag “Electronics”

Seminar: Camera-based PCB Analysis for Solder Paste Dispensing

Mini Kossel 3D Printer
Mini Kossel 3D Printer.

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.

Download:Presentation Slides
Download:Full Paper
Source Code

EAGLE Libraries: Raspberry Pi

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
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.

Viel Spaß damit!

/_astro/Raspberry_Pi_Dimensions.Bc-6JOk8.png /_astro/humble.C0SUg3lm.png /_astro/humble2.Doukzx1U.png /_astro/layout.UOAIzrtX.png /_astro/package.D0F1OIng.png /_astro/symbol.W221lSoK.png

Give Away: fnordlichtmini Platinen

GPL v3 Logo

Für das fnordlichtmini (flm) von Alexander Neumann gibt es nun auch ein EAGLE CAD Layout: /stv0g/hardware/fnordlicht/fnordlichtmini_v4 . Zuvor war leider nur ein Schaltplan offen verfügbar. Gleichzeitig habe ich auch meine restlichen Hardware Projekte ( /stv0g/hardware ) aufgeräumt und sie unter der OSHW Lizenz GPL veröffentlicht.

Vielleicht habt ihr ja Lust ein kleines Ambilight zu basteln? Ich habe noch ne Menge der Platinen übrig, die ich gerne in Aachen verschenken oder tauschen würde. Sind dir LEDs sind dir zu langweilig? Ich hab auch noch andere Platinen übrig…

/_astro/OpenHardwareLogo.Bu4nXpNz.png /_astro/flm_layout.BYPUw9gY.png /_astro/flm_night.BZ1NOriH.jpg /_astro/flm_platinen.CH4-XI7N.png

In meinen älteren Beträgen (hier und hier) gibt es auch noch ein paar kleine Anregungen was man alles mit dem flm so anstellen kann.

breadBUG

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.

Platinen Layout des breadBUG
Platinen Layout des breadBUG.

EAGLE Schaltplan, Layout und Gerber Dateien gibt es auf Codeberg: /stv0g/hardware/breadBUG/v1 .

fnordstripe

fnordstripe Modul
fnordstripe Modul.

In diesem und folgendem Beitrag geht es wieder um fnordlichter. Ja genau, ich habe schon vor einem Jahr mal darüber geschrieben.

fnordlichter sind kleine LED Module die über einen gemeinsamen Bus angesteuert werden können. Ich nutze diese Module zur intelligenten Beleuchtung unserer Wohnung. Sie können uns über neue Mails, den aktuellen Stromverbrauch, das Wetter oder den Serverstatus benachrichtigen oder einfach als Stimmungs-Licht oder Party-Beleuchtung genutzt werden.

Da die einzelnen Module leider nicht genügen um damit mein ganzes Zimmer zu beleuchten, habe ich mich entschieden für diesen Zweck eigene Hardware zu entwickeln.

Wie der Name dieses Betrages es bereits andeutet können meine fnordstripe Module ganze Bänder/Streifen von LEDs ansteuern. Ausgehend von dem fnordlichtmini Design habe ich die LEDs und Konstantstromquellen durch drei MOSFETs ersetzt, die jeweils einige hundert LEDs betreiben können. Im Bild oben wurden die MOSFETs aus Platzgründen auf der Unterseite der Platine verlötet.

Logic Analyzer

Logic traces on a computer screen
Ein Salea Klon
Ein Salea Klon.

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.

Mikrocontroller & Elektronik CheatSheet

Daniel

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:

Download:Mikrocontroller CheatSheet

Anmerkungen, Hinweise zu Fehlern oder Ergänzungen nehme ich gerne auf. Bitte kontaktiert mich dazu einfach.

Cron Jobs für Sonnenauf- & untergang

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:

Terminal window
$ sun
usage: sun mode [options]
mode is one of: rise, set, noon, daytime, nighttime
following OPTIONS are available
-t, --twilight use special twilight (nautic|civil|astro)
-d, --date calculcate for specified date (eg. 2011-12-25)
-f, --format output format (eg. %H:%M:%S)
-a, --lat geographical latitude (-90° to 90°)
-o, --lon geographical longitude (-180° to 180°)
-q, --query query geonames.org for geographical position
-z, --zone use timezone for output
-h, --help show this help
-v, --version show version
A combination of --lat, --lon or --query is required!

Die einfachste Variante nutzt das Unix Tool at:

Terminal window
echo ~/bin/enable-lightning | at $(sun set -q Frankfurt -t civil)

Mit folgenden Cronjobs, lässt sich dieses Prinzip auch leicht auf andere Anwendungen übertragen:

0 0 * * * echo 'fnctl stop && fnctl fade -c 000000' | at $(sun rise -q Aachen)
0 0 * * * echo 'fnctl start' | at $(sun set -q Frankfurt)

Mit dem Tool nvram-wakeup, lässt sich so beispielsweise der Rechner jeden Tag 10 Minuten for Sonnenaufgang automatisch starten:

Terminal window
nvram-wakeup -s $(date -d "-10min $(sun rise -q Berlin)" +%s)

Oder möchtest du deinen Rechner nach Sonnenuntergang automatisch herunterfahren?

Terminal window
shutdown $(date -d +10min $(src/sun set --lat=50.55 --lon=-6.2) +%H:%M)

HIDeKey

HIDeKey USB Security Token
HIDeKey USB Security Token.

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 😊.

Das 3 € ATmega Developement Board

USBasp Clone
USBasp Clone

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:

  • Software USB mit V-USB
  • Stromversorgung über Rechner
  • wahlweise 5V oder 3.3V
  • 2 LEDs
  • 1 Jumper
  • 6 IO-Pins (inklusive UART)

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 😉.

Inner workings of UNI-TREND UT61E Digital Multimeter

DMM IC (Cyrustek ES51922 Peak)
DMM IC (Cyrustek ES51922 Peak).

Ole hat mich in einem älteren Beitrag auf das Innenleben des “UNI-TREND UT61E Digital Multimeter” aufmerksam gemacht. Ole suchte nach einer Möglichkeit die serielle Datenübertragung zu deaktivieren. Ich schlug vor das Multimeter zu öffnen und nach einem Datenblatt des verwendeten IC’s zu suchen.

Das Multimeter besitzt einen Cyrustek ES51922P (P für Peak, Datenblatt ist verlinkt). Dessen Funktionalität geht etwas über die angegeben Features des UNI-TREND UT61E hinaus. So könnte man durch kleinere Modifikationen auch noch Temperatur messen, das Multimeter kalibrieren oder als Frequenzzähler nutzen.

Da ich derzeit diese Funktionen nicht benötige, entschied ich mich erst einmal hier nichts zu modifizieren. Aber vielleicht ist ja jemand Anderes auf der Suche nach genau diesen Features..

Das Datenblatt ist in verständlich in Englisch verfasst und enthält auch eine Spezifikation des seriellen Protokolls. Es ergänzt so die von Henrik Haftmann erarbeitete detaillierte Beschreibung des Protokolls,

Hier noch eine paar Bilder der Innereien (man könnte sie fast zum Nachbau verwenden 😉).

/_astro/DSC00343.Cjx5e0-A.jpg /_astro/DSC00347.BTXjFyiu.jpg /_astro/DSC00351.66qg4U3s.jpg /_astro/DSC00354.CN4455MI.jpg /_astro/DSC00355.D6V_435H.jpg /_astro/DSC00356.DBK-Kt8q.jpg /_astro/DSC00358.BG1Ise3E.jpg /_astro/DSC00360.DEERG2_U.jpg

PS: Die serielle Ausgabe ist durch das Ziehen von Pin 111 auf Masse permanent aktiviert und lässt nicht auch nicht Abschalten. Höchstens das Durchtrennen der Leiterbahn um Pin 111 würde Abhilfe schaffen.

volkszaehler.org Zählerbox

Die volkszaehler.org Zählerbox
Die volkszaehler.org Zählerbox.

Das volkszaehler.org Projekt nähert sich mit großen Schritten seiner ersten stabilen Version und damit dem ersten Release.

Ich möchte hier nur einen kurzen Überblick über den aktuellen Stand geben. Du kennst das Projekt noch gar nicht? Weiß nicht was Smart-Meter sind? Da steigst du besser auf unsere Projekt Website ein!

Für die Entwicklung am Projekt habe ich mir eine kleine Hutschienenbox gebaut. Sie eignet sich perfekt für den mobilen Einsatz und zum Testen neuer Firmware und Funktionen. Mal schnell den Verbrauch des eigenen Kühlschranks zu erfassen ist kein Problem. Derzeit ist mein Schreibtisch an die Box angeschlossen und liefert so aktuelle Daten für die Demo Installation des Projektes.

Die Box enthält folgende Komponenten:

  • ~230V Eingang über Kaltgerätestecker (geerdet, max. 10 Ampere)
  • ~230V Ausgang über Schukostecker (geerdet, max. 16 Ampere)
  • Sicherungsautomat (Ein-/Ausschalter)
  • B&G E-Tech DRS-154D S0-Zähler (einphasig, 2000 Impulse/kWh)
  • Udo’s S0-Server (basierend auf Atmel AVR’s & ethersex, 10 Mbit/s Ethernet, TFTP Bootloader)
  • Knopf zum manuellen Triggern von Impulsen
  • externer Anschluss von Zählern

MATLAB powered NXT omniwheel robot

MATLAB-powered NXT Omniwheel Roboter
MATLAB-powered NXT Omniwheel Roboter.

Kurz vor Weihnachten beendeten wir unser Erstsemester Projekt “MATLAB meets LEGO Mindstorms” an der RWTH Aachen.

Während dieser Pflichtveranstaltung sollten wir die Lerninhalte der Vorlesung “Mathematische Methoden der Elektrotechnik” durch Steuerung von LEGO Mindstorms NXT Robotern unter MATLAB vertiefen. Das Projekt ist eine Pflichtveranstaltung im ersten Semester meines Studienganges (Elektrotechnik, Informationstechnik und Technische Informatik) und wird durch alle Lehrstühle unserer Fakultät als 10-tägige Blockveranstaltung vor Weihnachten durchgeführt.

Ich wurde dem Institut für vernetzte System (MOBNETS) zugeteilt. Etwas verwundert war ich dann am ersten Tag, als wir auf Englisch begrüßt wurden. Aber naja, später werden wir vermutlich sowieso dazu gezwungen werden.

Während der ersten Woche lernten wir die eigens für das Projekt entwickelte “RWTH Mindstorms NXT-Toolbox” kennen und haben an einigen vorgegebenen Versuchen gearbeitet.

In der zweiten Hälfte des Projektes durften wir dann in einem Wahlversuch selber kreativ werden und einen eigenen Roboter konstruieren.

Meine beiden Kollegen und ich haben uns für einen Roboter mit omni-direktionalem Antrieb entschieden. Das Prinzip dieses etwas außergewöhnlichen Antriebes wird das folgende Video deutlich.

Die Konstruktion der “Omniwheels” war komplizierter als Anfangs angenommen. Dafür sind wir glücklicherweise recht schnell auf den nötigen Zusammenhang zwischen Fahrtrichtung und den drei Motorgeschwindigkeiten gekommen.

Als Projektabschluss mussten alle Gruppen ihren Roboter präsentieren. Unsere Präsentation gibt es hier:

Download:RWTH Omniwheel Bot (Präsentation)
  • Omniwheel-Antrieb
    • Bewegungsfreiheit in 360°
    • Drehen auf der Stelle
  • Intuitive Fernsteuerung über zweiten NXT-Brick
    • Durch Neigung des Controllers (Beschleunigungssensoren)
    • Schalter zur Steuerung des Programmablaufs
  • Signal-Hupe
  • Akustischer Abstandswarner
/_astro/DSC04214.RRBoXpNQ.jpg /_astro/IMG_9300.CIeUocJW.jpg /_astro/IMG_9302.bKvasTTu.jpg /_astro/IMG_9305.BgUpQKXL.jpg

fnordlicht VU Meter

Last time, I presented some code for visualizing your power consumption using the Fnordlicht modules. Today, we continue the journey in a similar direction: I’ve written a small C program to control the modules according to the current audio volume.

The software monitors the audio signal of my system (Ubuntu 10.10 with Pulseaudio). So you can dance to everything that can play audio 😄…

Update: As preparation for an upcoming exam, I added a Discrete Fourier Analysis (DFT). Unfortunately, the serial bus is to slow to visualize the audio spectrogram in real time . The bars are colored with their complex phase->hue (HSV) equivalent.

fnordlicht FFT Visualization
fnordlicht FFT Visualization.

The software uses libfn a C-library for controlling fnordlichts and is available at Codeberg: /stv0g/libfn/src/fnvum.c .

Ich benutze PulseAudio um mich in die Soundkarte des Systems einzuklinken. Das Programm tarnt sich als Recording-Tool. Und kann dadurch den kompletten Audio-Output oder nur bestimmte Programme visualisieren. Sogar das Mikrofon kann ich benutzen 😜.

PulseAudio liefert mir einen einfachen PCM Stream (44,1kHz Samplingrate, Mono & 16-Bit signed Integers). Derzeit addiere ich immer nur x Werte dieses Byte Streams und mittele diese Summe dann über einen kurzen Zeitraum.

Geplant ist noch eine FFT-Analyse um die Amplituden verschiedener Frequenzen gemäß der “Ohrkurve”, der Empfindlichkeit des menschlichen Gehörs, gewichten zu können. Der Schritt zur Spektral Darstellung (jedes meiner 10 fnordlichter als VU-Meter für ein bestimmtes Frequenzband) ist dann hoffentlich auch nicht mehr so weit.

Ohrkurve
Ohrkurve.

Steckbrettkabel

Steckbrettkabel
Steckbrettkabel.

Meinen heutigen Tag habe ich damit verbracht Kabel für mein Steckbrett anzufertigen. Ich war es Leid mit zu dicken Drähten oder Klingeldraht zu hantieren. Sie passen nicht, brechen ab oder lassen sich einfach nicht eindeutig von einander unterscheiden. So dauert das Aufbauen einer kleinen Schaltung auf dem Steckbrett ewig.

Schon länger habe ich nach einer Alternative gesucht. Kommerzielle Angebote sind meist recht teuer und in Europa nur schwer zu beziehen. Ich war auf der Suche nach einer günstigen und qualitativ hochwertigen Eigenbauvariante.

Meine Steckbrücken bestehen aus je zwei Stecknadeln mit farbigen Glaskopf und einer zwischen 7-25cm langen farbig codierten Ader einer LIYCY-Steuerleitung. Die Adern der Steuerleitung sind farblich gut voneinander zu unterscheiden. Sie werden einfach an die Stecknadeln gelötet und mit einem Stück Schrumpfschlauch gesichert.

Rundkabel Paarvers 36 Adern
Rundkabel Paarvers 36 Adern.

Es empfiehlt sich die Ader mittig auf der Nadel an zu löten. So kann sie mit der Spitze einfach in das Steckbrett gesteckt und entfernt werden. Der blanke Hals kann so gut zum Messen mit einer Messspitze oder Klemmprüfspitze genutzt werden.

Für etwa 120 Brücken mit verschiedenen Längen habe ich insgesamt etwa 5 Stunden gebraucht.

/_astro/IMG_3382.Cc-EG2St.jpg /_astro/IMG_3408.K_oBoRTO.jpg /_astro/IMG_3424.BkxqGhMK.jpg /_astro/IMG_3430.D9S44wzc.jpg /_astro/IMG_3436.DE8tCsXu.jpg /_astro/IMG_3440.akZLuzws.jpg /_astro/IMG_3443.BEk8fpn-.jpg

volkszaehler.org

volkszaehler.org Logo
volkszaehler.org Logo.

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:

  1. Die Controller und Sensor Ebene erfasst mithilfe eines Mikrocontrollers die Daten leitet sie an den Backendserver weiter.
  2. 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.
  3. Das Frontend stellt die Daten für den Benutzer übersichtlich dar und ist für die Ausgabe der Analysen verantwortlich.
Systemübersicht volkszaehler.org
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 😉.

UNI-TREND UT61E Digital Multimeter

Der Testaufbau
Der Testaufbau.

Seit ein paar Wochen habe ich schon nun mein neues Multimeter: ein UT61E von UNI-TREND. Bisher bin ich rundum zufrieden damit. Gekauft habe ich es über das Internet bei Pinsonne-Elektronik. Lieferung und Bezahlung verlief schnell und problemlos. Den Laden kann ich also nur weiterempfehlen.

Ein besonderes Highlight der neuen Messgeräte ist die RS232 Schnittstelle für die Auswertung am Rechner. Über diese per Optokopler isolierte Schnittstelle ist es möglich in aktuelle Messergebnisse am Rechner auszuwerten und weiter zu verarbeiten.

Leider haben die in China ansässigen Hersteller die Linux-Gemeinde aber mal wieder vergessen. Nach einigen Recherchen und etlichen Stunden später habe ich es dann jedoch geschafft ein kleines Tool für Linux zu entwickeln, welches mir die Messergebnisse im CSV Format liefert. In diesem Format kann ich sie nun in Open Office, MatLab und vielen anderen Programmen öffnen und auswerten.

Als besonderes Gimmick habe ich auch noch ein kleines Script geschrieben, das mit Hilfe gnuplot Graphen der Messergebnisse zeichnet. Diese werden dann 1-2 in der Sekunde aktualisiert. Mit einem Oszilloskop ist das jedoch lange noch nicht vergleichbar. Aber für Langzeit-Messungen durchaus sehr praktisch.

Die Live-Darstellung der Messergebnisse mit gnuplot
Die Live-Darstellung der Messergebnisse mit gnuplot.

Ich bedanke mich bei Henrik Haftmann für die detaillierte Beschreibung des Protokolls, welche mir beim Entwickeln dieses Tools unheimlich geholfen hat.

Update: Ich habe das Datenblatt es verwendeten IC’s gefunden. Es enthält auch eine Spezifikation des serielle Protokolls. Hier geht es zum neuen Eintrag mit Bildern des Chips und der restlichen Platine.

Das Tool sowie das gnuplot Script habe ich hier in einem Archiv zusammengefasst:

Download:dmmut61e-0.01.tar.gz (C++ Quelltext + gnuplot Script)

Die Installation ist sicherlich nicht die einfachste. Aber die nötigen Kenntnisse setzte ich bei dieser Zielgruppe einfach mal voraus 😜.

Anregungen, Patches und Bug Reports sind per Mail immer willkommen.

Hier noch ein kleines Beispiel wie die Daten von meinem Tool ausgegeben werden. Für das Verständnis hilft sicherlich ein Blick in den Quelltext.

1;0.0589;0.0589;0;0.0589;V;AC;Manual
2;0.07184;0.07184;0;0.06537;V;AC;Manual
3;0.12869;0.12869;0;0.0864767;V;AC;Manual
4;0.07876;0.12869;0;0.0845475;V;AC;Manual
5;0.06458;0.12869;0;0.080554;V;AC;Manual
6;0.09626;0.12869;0;0.0831717;V;AC;Manual
7;0.17355;0.17355;0;0.0960829;V;AC;Manual
8;0.17487;0.17487;0;0.105931;V;AC;Manual
9;0.13565;0.17487;0;0.109233;V;AC;Manual
10;0.10726;0.17487;0;0.109036;V;AC;Manual
11;0.16506;0.17487;0;0.114129;V;AC;Manual
12;0.14415;0.17487;0;0.116631;V;AC;Manual
13;0.15238;0.17487;0;0.119381;V;AC;Manual
14;0.17396;0.17487;0;0.123279;V;AC;Manual
15;0.11834;0.17487;0;0.12295;V;AC;Manual
16;0.2117;0.2117;0;0.128497;V;AC;Manual
17;0.18906;0.2117;0;0.132059;V;AC;Manual
18;0.17674;0.2117;0;0.134542;V;AC;Manual
19;0.08354;0.2117;0;0.131857;V;AC;Manual
20;0.053;0.2117;0;0.127915;V;AC;Manual
21;0.0688;0.2117;0;0.1251;V;AC;Manual
22;0.12796;0.2117;0;0.12523;V;AC;Manual
23;0.14954;0.2117;0;0.126287;V;AC;Manual
24;0.17535;0.2117;0;0.128331;V;AC;Manual
25;0.1381;0.2117;0;0.128722;V;AC;Manual
26;0.1588;0.2117;0;0.129878;V;AC;Manual
27;0.13258;0.2117;0;0.129979;V;AC;Manual
28;0.097;0.2117;0;0.128801;V;AC;Manual
29;0.04637;0.2117;0;0.125958;V;AC;Manual
30;0.06749;0.2117;0;0.124009;V;AC;Manual
31;0.09002;0.2117;0;0.122913;V;AC;Manual
32;0.07575;0.2117;0;0.121439;V;AC;Manual
33;0.0711;0.2117;0;0.119914;V;AC;Manual

Pimp your Louie

Unsere lustigste Beschäftigung auf dem Southside Festival 2009 war sicherlich Looping Louie ein Kinderspiel von MB. Ziel des Spiels ist es seine eigenen Chips vor den Mitspielern und vor allem vor Louie zu verteidigen. Louie sitzt in seinem batteriebetriebenen Flugzeug und versucht deine Chips vom Halter herunter zu stoßen. Wer als erstes alle seine Chips verloren hat muss/darf trinken. Also ein typisches Trinkspiel 😜.

Aber eine kleines Video sagt bestimmt mehr als 1000 Worte:

Play

Das Spiel gibt es mittlerweile ab circa 18 € bei Amazon. Ich habe es noch nachträglich etwas optimiert. Mit einem regelbaren und stabilisierten Stecker Netzteil lässt sich so sogar die Geschwindigkeit von Louie regeln. Von den, bei Batteriebetrieb, normalen 18 Umdrehungen/Minute konnte ich die Geschwindigkeit auf 55 Umdrehungen/Minute mit dem Stecker Netzteil steigern.

Quiz Buzzer

Der Buzzer
Der Buzzer.

Für die einige Spiele unseres Abi-Scherzes benötigten wir Buzzer wie man sie aus den TV-Shows “Schlag den Raab” oder “Familien Duell” kennt. Als Techniker war es meine Aufgabe diese zu besorgen. Schnell stellte ich fest, dass diese gewöhnlichen Buzzer, die eigentlich für den industriellen Einsatz bestimmt sind, für unseren Ramen viel zu teuer waren. Bei Preisen von circa 50 € pro Buzzer brauchten wir eine Alternative.

Ich entschied mich den kompletten Buzzer inklusive Elektronik selbst zu bauen. Die Auswertung wird hierbei von einem Computer übernommen. Die Buzzer simulieren eine USB-Tastatur mit nur einer Taste. Dank des Projekts V-USB, ein Software USB Stack für Atmel AVR Mikrokontroller, der auch das USB-HID Protokoll beherrscht, konnte die Platine recht übersichtlich gehalten werden. Es wird nur ein TinyAVR45 und etwas “Vogelfutter” benötigt 😊. Die Mikrokontroller Firmware konnte ich leicht abgewandelt von Flip übernehmen.

Der Taster an sich besteht aus zwei Plastik-Muffen und einer Plastikkugel aus dem Bastelbedarf, die rot lackiert wurde. Ein Stoßdämpfer aus dem Modellbau sorgt für die nötige Rückstellkraft.

Super Nintendo Controller am USB Port

Heute hab ich es letztendlich doch geschafft das SNES Controller 2 USB Projekt ( /raphnet/4nes4snes ) von Raphaël Assénat nachzubauen. Nach einem erfolglosem Anlauf (ich hab wohl den MCU beim Löten zerstört) musste ich nochmal komplett von vorne beginnen 🫤.

SNES Controller mit USB Port
SNES Controller mit USB Port.

Es können bis zu vier SNES oder NES Kontroller aufeinmal mit dem Rechner verbunden werden.

Vor etwa einem Jahr baute ich bereits das Gehäuse und versah die Kontroller mit neuen Steckern. Damals benutzte ich aber noch den LPT Port um die Kontroller abzufragen. Mein neuer Laptop besitzt aber nur noch USB Ports. Also musste ich das ganze etwas umfunktionieren.

Also noch einmal das Breadboard ausgepackt, der Mikrocontroller programmiert und wieder ein schönes Layout für meine Lochrasterplatine entworfen. Diesmal aber mit IC-Sockel für den kleinen ATMega8.

Dieses Projekt kommt ohne einen extra Wandler-IC für die USB Verbindung aus und besteht deshalb nur aus einer Hand voll Bauteilen. Es wurde V-USB eine Software USB Implementierung von Objective Development eingesetzt.

SNES Controller USB Platine
SNES Controller USB Platine.

Die angeschlossenen SNES Kontroller gibt es günstig bei eBay.

Unterbrechungsfreies, passives Wiretap Sniffing mit LSA-Verbinder

Vor etwa einem Monat berichtete ich euch bereits vom passiven Abhören mit einem Wiretap. Damals nutzte ich zwei RJ-45 Buchsen, die ich entsprechend durch kontaktiert wurden.

Unterstellt man einem Hacker nun böswillige Absichten. Ist es für ihn nötig unerkannt zu bleiben. Ein Unterbrechen der Netzwerkverkabelung, wenn auch nur für Sekunden, würde ihn verraten.

Eine unterbrechungsfreie Variante dieser Sniffing-Technik lässt sich also nur ohne das Umstecken oder Durchtrennen von Kabeln realisieren. Hier stieß ich auf einen in der Ethernet Verkabelung sehr verbreitete Technik: Die Schneid- und Klemmtechnik. Auch unter der Abkürzung LSA bekannt. LSA steht für “löt-, schraub- und abisolierfreie Technik”. Sie kommt meist in Patchfeldern oder Netzwerkdosen zum Einsatz.

Lasst euch nicht von der Farbmarkierung irritieren. Es handelt sich um ein etwas älteres Kabel mit einer eher seltenerer Kodierung: IEC 189 und IEC 708
Lasst euch nicht von der Farbmarkierung irritieren. Es handelt sich um ein etwas älteres Kabel mit einer eher seltenerer Kodierung: IEC 189 und IEC 708.

Auf dem Bild kann man oben das angezapfte Twisted-Pair Kabel erkennen. Es wurde nicht durchtrennt. Sondern lediglich von seiner Isolierung und Abschirmung befreit. Es werden nur die Adern Paare 2 (Pin 3,6) & 3 (Pin 1,2) benötigt. Diese werden über den oberen LSA-Verbinder gelegt und können nun vom unteren entsprechend abgegriffen werden (siehe unten-rechts auf dem Bild).

Ich habe diese Technik erfolgreich getestet. Während ich live über mein Streaming-Client Internetradio hörte zapfte ich das Kabel an. Und konnte mit Wireshark den Netzwerkverkehr mitlesen.

Jedoch sollte man die Kabellängen möglichst gering halten. Bei größeren Entfernungen (> 8m) brach die Verbindung teilweise ab.

World Smallest Passive Ethernet Tap

Hello folks!

This is my first English blog post. Excuse me for my hopefully not so bad English 😊.

During my reverse engineering on the Terratec Noxon 2 Audio I had to sniff the network traffic between the Noxon and the Internet. First, I just sniffed the wireless traffic with a simple ARP spoofing attack in my switched network. But I couldn’t be sure whether I sniffed the whole traffic or if I just missed some internal traffic in my network.

After some internet research, I decided to build my own passive Ethernet tap to do a MITM (man-in-the-middle) attack.

Passive Ethernet Tap
Passive Ethernet Tap.

Sommerferien - Spanien, Grönland & Roboter

In den letzten vier Wochen war ich viel unterwegs. Zunächst verbrachte ich zwei Wochen in Spanien, genauer gesagt in Andalusien. Direkt im Anschluss ging es weiter nach Grönland, wo ich eine Woche mit dem Schiff entlang der Westküste Grönlands unterwegs war.

In diesen Blogbeitrag möchte ich über diese Reisen berichten und außerdem einen Ausblick auf mein nächstes Projekt im Bereich Robotik geben.

Casio FX 9750G Plus

Im Mathematik Leistungskurs haben wir uns für einen Grafischen Taschen Rechner (GTR) von Casio entschieden. Die wesentlichen Features des FX 9750G Plus sind auf der Herstellerseite aufgelistet.

Die für mich interessanteste Neuerung war die Möglichkeit den GTR über ein Kabel an den Rechner anzuschließen. Mit dem Kabel ist es möglich alle Ergebnisse, Graphen und Programme zu überspielen. Das sonst sehr umständliche Eingeben von Programmen und Spielen wird nun zum Kinderspiel. Im Internet gibt es bereits zahlreiche Sammlungen von GTR-Programmen.