Microcontroller projects

Teensylogger  (|||)

Beschreibung

Der Teensylogger dient dazu den Energiverbrauch eines Einfamilienhauses zu erfassen. Er loggt dazu bis zu 8 S0-Schnittstellen und kann im Schaltschrank eingebaut werden. Die Daten können zum Beispiel im Minutentakt über die serielle Schnittstelle ausgelesen werden. Zusätzlich werden die Daten als Viertelstundenwerte für einen Monat und als Tageswerte für über ein Jahr in einem externen EEprom abgespeichert.

Als Controller wird ein ATmega32U4 (Teensy-Board) mit USB-Schnittstelle eingesetzt. Zusätzlich werden ein EEPROM und eine Echtzeituhr verwendet, die beide über I2C angesteuert werden.

Bei einer ersten Version wurde eine alte Platine mit Schnittstellenwandler recycelt auf dem dann das Teensy-Board mit Abstandshaltern befestigt wurde. Bei einer zweiten Version wurde die Lochrasterplatune so zugeschnitten, dass sie genau in das Hutschienen-Gehäuse (Axxatronic CMEB + CMEB-E, conrad.de) passte und keine weitere Befestigung nötig war. Für die finale Version wurden 2 einseitige Platinen geätzt und in ein Hutschienen-Gehäuse von 90 x 36.0 x 58 (Axxatronic (CAMDENBOSS) CNMB-2, conrad.de) verwendet.

Prototyp 2 Version

Teensylogger Rückseite Teensylogger Vorderseite Teensylogger Gehäuse

Finale Version

Teensylogger Platinen Teensylogger Gehäuse Teensylogger im Schaltschrank

Die Daten werden mit einem Embedded Computer (Raspberry Pi, Beaglebone/Beagleboard) ausgelesen und aufbereitet. In der Software sind bei den Eingängen die internen Pull-Up-Widerstände aktiviert. Der zweite Pol der S0-Schnittstelle am Kilowattstundenzähler ist also mit Masse zu verbinden.

Eigenschaften des Prototyps

Schaltplan

Schaltplan

Herstellung der Platine

Am billigsten ist das Ätzen einer einseitig fotobeschichteten Platine. Auf die Bestückungsseite wird eine lasergedruckte Folie geklebt.

Aetzvorlage Vorlage für die Folie


Python Software

Python Software

Der Logger kann mit Terminal-Kommandos über die serielle Schnittstelle bedient werden. Bequemer geht es mit der der folgenden Python Software. Die Daten werden dabei gleich im Rohformat und im leserlichen Format (cooked) in eine Datei geschrieben. Die Software wurde unter Linux getestet. Der Aufruf erfolgt mit python tl.pyw

Download

Darstellung geloggter Werte mit Gnuplot

Der Logger wird von einem kleinen Webserver (BeagleBone) im Minutentakt (cron-job) angesprochen und die Daten in einer Datei abgespeichert. Ein php-Skript zeichnet dann mit Hilfe von Gnuplot (www.gnuplot.info) ein Diagramm, das im Browser im Minutentakt aktualisiert wird. Weitere Informationen findet man unter (weigu.lu/c/beaglebone).

Darstellung mit Gnuplot


zum Downloaden:

Rechtsklick auf den Hyperlink, dann "Save Link As... (Firefox) oder "Save Target As... (Explorer)