
UPDATE: MegaBitMeter now has it’s own domain and blog/shop: http://megabitmeter.de/
Die Idee für ein analoges MBit/s Anzeigegerät wurde auf der ICMP5 geboren, als wir uns mit dem messen und verarbeiten der Energiedaten der ICMP5 beschäftigten. Wenn ich mich nicht täusche hatte Daniel die Idee „man müsste mal eine analoge MBit/s Anzeige bauen“.
Diesen Satz hört man ja relativ oft „man müsste mal…“. Aber die Idee ließ mich einfach nicht mehr los.
Auf der UKW-Tagung in Weinheim fand ich dann in einer Bastelkiste eines Funkamateurs ein schönes Amperemeter. Der Messbereich war gradezu optimal (0-60mV) um dieses Gerät über einen Spannungsteiler mit einem Mikrocontroller anzusteuern. Das Instrument war schnell darauf zerlegt und die original Skala vermessen und neu in SolidWorks nachgebaut und per Laser aus einem Stück schwarz eloxierten Blech geschnitten. Die Beschriftung der Skala habe ich mit einem 50W CO₂ Laser erstellt. Das Edelstahl Blech ist auch in SolidWorks konstruiert, danach gelasert (6 kW CO₂ Laser) und anschließend von Hand gebogen und poliert.
Bei der Steuerung habe ich mich durch das torrentmeter von skytee inspirieren lassen und einen ATmega328 auf einem ArduinoNano Clone Board benutzt. Dieser hat 6 PWM Ausgänge von denen man ja nur einen braucht – eigentlich eine totale Verschwendung :-)
Die Firmware für den ATmega war an einem Abend fertig und macht nichts anderes als die per USB-Serial ankommenden Werte (0-1000) in die entsprechende Pulsweite des PWM Ausganges umzurechnen und auszugeben. Bei einer kurzen Pulsweite wird der +5V Pin vom ATmega immer wieder für eine sehr kurze Zeit eingeschaltet. Soll der Zeiger weiter steigen muss man nur die Pulsweite verlängern. Da das Messinstrument von Natur aus relativ träge reagiert braucht man auch keinen Tiefpass oder Filter um die PWM zu glätten. Dies geschieht quasi in Hardware.
UPDATE: Den Sourcecode für den Arduino gibt es nun per svn:
svn co https://rc5.de/svn/MegaBitMeter/src/
Und unter https://rc5.de/websvn/listing.php?repname=MegaBitMeter&path=%2F&sc=0 zum downloaden. Ein Script zum auslesen der aktuellen Bandbreite unter Linux hat skytee auf github veröffentlicht. Es benötigt perl und kann z.B. so mit dem MegaBitMeter benutzt werden:
$ ./devstats.pl eth0 > /dev/ttyUSB0
Das MegaBitMeter von Sascha Ludwig steht unter einer
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported Lizenz.
Schreibe einen Kommentar