Strom sparen mit AVRs

Die AVRs von Atmel bieten ja wirklich ein Füllhorn von Funktionen. Selbst ein winziger, 8-beiniger ATtiny13, den ich gerade in einem Projekt verbaut habe, hat dermaßen viele Funktionen, das ich vermutlich nur die Hälfte nutze. Eine Funktion, die ich aber schon immer mal ausprobieren wollte, sind die diversen Sleep-Modes zum Stromsparen. Und dieses Projekt lud gerade dazu ein: Ein elektronische Zielscheibe, die eine paar LEDs leuchten lässt und eine Melodie spielt, wenn man sie lange genug mit einem Laser in der Mitte trifft. Das ganze wird von einer Batterie angetrieben, und die soll natürlich möglichst lange halten.

Die meiste Zeit ist das Gerät im Leerlauf und wartet darauf, das es angeleuchtet wird. Dazu überprüft es alle 200ms den Spannungspegel an einem Lichtsensor. Entsprechend habe ich auch erst Mal nur versucht, den Stromverbrauch im Leerlauf zu drücken, während die LEDs blinken geht sowieso ein Großteil des Stroms für die LEDs drauf. (BTW: 6 LEDs, ein Lautsprecher und ein Lichtsensor an 5 Pins, das geht 😉 )

Weiterlesen

Musik mit Diskettenlaufwerken

Ohne viele Worte 😉

Das ganze sind viel Diskettenlaufwerke, dazu ein Breadboard mit einem ATmega328, die Software stammt nicht von mir, das ist Moppy.

Das ganze mache ich für ein Schülerprojekt an der Uni Hannover, dort werden wir spezielle Boards (mit der Schaltung auf dem Breadboard) löten, und dann ein wenig mit Arduino-Code rumspielen, bis wir schließlich unsere Raum-Nachbarn mit vielen Diskettenlaufwerken nerven können.

Ein Prototyp des PCB ist auch gestern gekommen, sieht wunderbar aus. (Mein erstes selbst gemachtes PCB!) Ich hatte auch mal versucht, eine eigene Software zu schreiben, aber die von SammyIAm funktioniert einfach besser (und MIDI ist eine ganz schön komplizierte Sache. Jede Menge MIDI-Dateien, die für Floppys optimiert wurden, findet man übrigens bei GitHub.

Weiterlesen

Temperaturüberwachung mit 1-Wire, Raspberry Pi und FHEM

Ui, viel Zeit vergangen seit dem letzten Eintrag hier. Aber irgendwie habe ich auch nicht interessantes gemacht (außer studiert und so…). Jetzt gibt es aber mal wieder was neues:

Nach dem die Heizung meines Vaters ein wenig Probleme macht(e), kamen wir irgendwie auf die Idee, es wäre nett, die Temperaturen an den verschiedenen Rohren überwachen zu können. Aktuell benutzt er sowieso schon FHEM für ein paar Aktoren im Haus (aka „Smart Home“), daher wäre es ja nicht schlecht, die Sensoren da auch einzubinden.

IMG_0161

Weiterlesen

Drucker-Reparatur

Ja die lieben Drucker – immer, wenn man sie braucht, sind sie kaputt. Meistens ist ja nur die Patrone leer, diesmal war es leider anders (und ja, natürlich wollte ich gerade jetzt ein paar Sachen ausdrucken). Nach ein bisschen testen fand sich dieses Fehlerbild: Das eigentliche Drucken war kein Problem, auch nicht das von mehrseitigen Dokumenten. Aber nach der letzten Seite wurde zunächst noch eine leere Seite durchgezogen, dann wurde noch eine weitere Seite angezogen (aber nicht ausgegeben) und der Drucker meldete einen Papierstau. Wenn man die Klappe öffnete fand man zwar das halb angezogene Blatt, aber das war augenscheinlich nicht verklemmt. Wenn man es entfernt hat (oder es auch einfach drin gelassen hat), und dann auf „Ok“ geklickt hat, hat der Drucker so lange leere Seiten durchgezogen, bis die Papierkassette leer war.

Nach ein wenig überlegen blieben zwei Möglichkeiten: Entweder hat der Drucker festgestellt, dass die Garantie so langsam abgelaufen ist, und die Software möchte, dass ich bald einen neuen Drucker kaufe – oder aber, der Drucker kann einfach nicht „aufhören“, vielleicht wird ja die Walze, die neues Papier anzieht irgendwie abgekoppelt, und das funktioniert nicht mehr.

Weiterlesen

Led Cube: Er ist fertig!

Kaum zu glauben: Mein kompletter LED-Cube ist fertig!

Manche haben es ja nicht geglaubt und ich hatte, ehrlich gesagt, auch nicht gedacht, dass es so lange dauern würde, aber: Es ist vollbracht!

Ich habe die genaue Zeit nicht im Kopf, aber ich würde fast sagen, der Bau der Platine hat länger gedauert, als der Bau des eigentlichen Würfels. Auf jeden Fall war er aufwendiger… Hier würde sich ein fertiges PCB echt bezahlt machen. Vielleicht hätte es sich sogar gelohnt, dafür eine Ätz-Station anzuschaffen; im Internet sind PCBs dieses Größe jedenfalls viel zu teuer.

Die Arbeit an der Platine hat jedenfalls ziemlich genervt, und am Ende hatte ich auch tatsächlich noch drei Kurzschlüsse drin, die mich noch mal zwei Stunden Fehlersuche gekostet haben. Und kann kam mir der eine Elko so aufgeblasen vor – siehe da, ich hatte alle drei Elkos falsch herum eingebaut… Gut das da nichts passiert ist. So sah das beim Debuggen aus:

Weiterlesen

Led-Cube: Viele bunte Kabel

Nach langer Zeit mal wieder ein wenig neues zu meinem LED-Cube. Ich bin mit der Steuerungsplatine inzwischen recht weit fortgeschritten, es fehlen hauptsächlich noch die Transistoren, die die einzelnen Ebenen schalten. Das schlimmste an der Platine waren definitiv die Flip-Flops-Arrays, bzw. die Kabel dazwischen: 8 Datenpins + Output Enable = 9 Pins pro Chip. Ich hatte 8 Chips, das macht 9 * 8 * 2 = 144 Lötstellen, jeweils mit Kabel festhalten. Und das alles in ziemlicher Enge. Das hat wirklich keinen Spaß gemacht. Das Bild sollte es zeigen:

IMGP2061Dazu kamen noch die gelben Kabel, die jeweils die 4 Pins auf der „anderen“ Seite der Pfostenwannen (Insider ;)) verbinden. Von oben sieht das ganz dann so aus:IMGP2062Jetzt im Nachhinein hätte ich definitiv zwei Dinge anders gemacht: Zum einen hätte ich 16ner Pfostenwannnen/Flachbandkabel genommen (und dann immer zwei Ebenen an ein Kabel gehängt). Auf die Weise hätte am immer zwei Chips symmetrisch um einen Leiste gruppieren können und hätte sich die ganzen gelben Kabel sparen können. Und zum anderen (und das sehe ich als ganz großes Manko der Instructables-Anleitung), würde ich Schieberegister verwenden. Momentan liegt das Signal über die endlos vielen grünen Kabeln an allen Latch-Arrays parallel an, und über den Clock-Eingang wird ausgewählt, welcher Chip laden soll. So werden die Chips selber parallel geladen, die Ebene als ganzes aber seriell. Würde man Schieberegister verwenden, würde das Signal über nur acht Kabel am Eingang der Register anliegen, so dass die Chips seriell, aber die Schaltung parallel geladen wird. Das ist Grunde gleich, würde aber den Aufwand massiv reduzieren. Ich hatte sogar zwischendrin schon mal überlegt auf Schieberegister umzusteigen, aber die haben immer nur 16 Beine und würden auch sonst nicht in die Schaltung passen. Aber wenn ich ganz neu anfangen würde, würde ich auf jeden Fall Schieberegister verwenden.

Weiterlesen

Led Cube: Steuerung

Es geht langsam aber stetig voran mit meinem LED Würfel: Inzwischen ist der eigentliche Würfel fertig! Ich hatte die einzelnen Ebenen ja schon fertig montiert, und jetzt habe ich die acht Ebenen auch zusammengesetzt.  Das war gar nicht so schwierig, man muss nur etwas darauf achten, dass der ganze Würfel nicht schief wird. Ich denke, dass ist mir aber ganz gut gelungen. Schlussendlich habe ich den Würfel auch schon auf sein Holzplatte gesetzt. Das war eine extreme Fummelarbeit, denn man muss ja 64 Drähte durch ebensoviele Löcher stecken. Und wenn man dann noch so blöd ist, und die Löcher oben mit einem 5er Bohrer bohrt, unten aber nur einen 3er nimmt, dann bleiben die Drähte auch noch in den Löchern stecken. Das ist extrem unpraktisch. Und es kam noch besser: Als alle 64 Drähte drin waren, habe ich bemerkt, dass ich vergessen hatte, die Löcher für die Kathoden zu bohren 🙁 (Also die Drähte, die jede Ebene mit Strom versorgen). Die habe ich dann schlussendlich von unten gebohrt, wären der Cube schon auf der Platte war. Das ging sogar recht einfach, dass hatte ich mir schlimmer vorgestellt.

Nun kam also der nächste Part: Die Steuerung. Dazu muss erst Mal an jede der Anoden ein Kabel, und auch an alle 8 Kathoden. Macht also 9*8 = 72 Kabel. Damit dass nicht zu unübersichtlich wird, habe ich 8-poliges Flachbandkabel gekauft, 3 Meter. Das war ein wenig kurz, wie sich zeigte: Das reicht für genau 9 Kabel mit ca. 30 cm Länge. Davon geht aber ein nicht unerheblicher Teil dafür drauf die Kabel an zulöten (denn dazu müssen sie ja in die Breite gezogen werden, ich hab leider kein Bild, sorry). Schlussendlich reicht das oberste Kabel gerade noch so bis auf die andere Seite, die Platine muss also direkt neben dem Cube stehen. Naja, sollte sie ja sowieso 🙂 Das zuschneiden und abisolieren der Kabel war ein ganz schöner Aufwand, hat fast eine Stunde gedauert:

Weiterlesen

Leeres „Serial Port“ Menu in Ardunio unter Linux?

…Abhilfe ist ist einfach:

Strg+Alt+T drücken (Terminal wird geöffnet), und diesen Befehl eingeben:


sudo usermod -aG dialout <Benutzername>

Danach abmelden und wieder anmelden, und schon sollte es funktionieren 🙂

Hintergrund: Ich bastele gerade mal wieder an meinem LED-Würfel, und da ich unter Windows zu viele Probleme mit avr-gcc usw. hatte, aber ich schnell eine Virtual-Box VM mit Ubuntu aufgesetzt. Dort kann man auch ganz wunderbar USB-Geräte, wie meinen USB-auf-Seriell-Wandler weiterleiten. Nur leider wollte Arduino den Wandler nicht erkennen: Geholfen hat mir dann dieser Thread: Leider wird so ein Wandler von udev der Gruppe „dailout“ zu geordnet, und in dieser ist man leider nicht standardmäßig. Mit dem Befehl oben fügt man sich selbst der Gruppe hinzu, und danach darf Arduino dann auf auch auf das Gerät zugreifen.

Wieder ein Problem weniger 😉

Led-Cube: Es geht voran

Mal wieder ein kleines Update zu meinem LED-Cube:

Ich haben inzwischen alle acht Ebenen komplett gebaut (und getestet). Tatsächlich waren gab es insgesamt drei LEDs, die nach dem einlöten nicht mehr wollen, davon hatte ich zwei aber definitiv einfach nur verdreht, bei der ersten habe ich das vergessen zu kontrollieren. Die Qualität der LEDs von Conrad ist also wirklich gut, zumal ich an einigen echt lange rumgelötet habe. Im „Auslieferungszustand“ war keine einzige kaputt.

IMGP2045Der nächste Schritt liegt auf der Hand: Alle Ebenen übereinander löten. Auch damit habe ich schon angefangen, und schon fünf Ebenen fertig. Man kann jetzt schon langsam erkennen, wo die Reise hingehen soll. Auch hier wird natürlich immer schön getestet, aber noch ist nichts kaputt gegangen.

Weiterlesen

LED-Cube: Spaß mit Flip-Flops

So ein LED-Cube besteht ja nicht nur aus den eigentlichen LEDs, auch eine Menge Elektronik gehört dazu. In diesem Fall machten mir speziell ein Teil Sorgen: Die Anoden der LEDs werden über Flip-Flops versorgt. Das sind 8 Bausteine vom Typ 74HC574 mit jeweils 8 Latches, die parallel geladen werden. Laut Datenblatt, darf pro Pin maximal 30mA entnommen werden, und pro IC maximal 70mA. Da theoretisch alle 8 LEDs an einem IC an seien können, bleiben also pro LED 70mA/8 = 8,75mA, die LEDs sollten also nicht sehr hell sein… (Die halten 30mA, aus sogar 140mA kurzzeitig). Also muss man auch entsprechende Widerstände an die LEDs hängen, damit nicht mehr also 8,75mA Strom fließt. Sowohl laut Berechnung also auch per Test sind das ca. 470Ω. In der Beschreibung steht aber, man soll 100Ω Widerstände benutzen, damit würden aber locker die 30mA pro LED fließen, also 8*30mA = 240mA pro Chip. Und das ist doch etwas mehr als die erlaubten 70mA. Also musste ein kleiner Test her.

Ich habe extra einen Latch-IC mehr bestellt, falls ich den grillen sollte. Dann habe ich diese Schaltung aufgebaut:

Weiterlesen