Blog by Andreas Dancs

Let's tuxx the world!

Archiv für die Kategorie “Technology”

Projekt OpenBoardComputer

Dies hier war mein erstes Microcontroller Projekt. Ich habe es während meiner Zivildienstzeit im Jahre 2005 entworfen und entwickelt. Und nun komme ich endlich an mein lang ersehntes Ziel, dieses Projekt vorzustellen. Danke an dieser Stelle an Werner und Philip, die mir damals viele Dinge beigebracht haben! :)

Mein Projekt stellt einen Boardcomputer für Autos da. Mein damaliges Auto, ein VW 2er Golf, wurde mit meinem Prototypen ausgestattet. Der Boardcomupter überwacht diverse Steuer-Signale des Autos, und kann diese auch beeinflussen. Unter anderem konnte man

* die Blinker bei einmaliger Betätigung mehrmals blinken lassen.

* die Innenraum-Leuchte nach schließen der Tür für weitere Zeit nachleuchten lassen.

* die Scheibenwischer, bei Benetzung der Fenster mit Wasser, automatisch aktivieren.

* weitere beliebige Funktionen programmieren.

Das Anzeigemodul zeigt den Tankstand, Datum und Uhrzeit und Benutzerdefinierte Elemente an. Der Boardcomputer wurde mit einer “meta programmiersprache” ausgestattet. Damit können die Verknüpfung zwischen Sensoren und Aktoren direkt über das Display und die Tastatur eingegeben werden.

Eine weitere Besonderheit ist mein selbst gebauter Regensensor. Dieser arbeitet nach dem Kapazitiven Prinzip.

Technische Beschreibung:
folgt…

Wie Linux entwickelt wird

Ein nettes Video wie Linux entwickelt wird und eine kleine Übersicht wo Linux überall läuft und wie oft ihr Linux verwendet, ohne es zu Wissen. ;)
Much Fun!

http://video.golem.de/player/videoplayer.swf?id=7707&autoPl=false

Blue 4x4x4 LED Cube

Dieses Projekt ist im Winter 2011/2012 entstanden. Es ist ein selbst konzipierter 4x4x4 LED Cube. In erster Linie ist es darum gegangen für die bereits vorhandenen Bauteile Verwendung zu finden. Die Blauen LEDs mit kurzem Draht, der ATTINY Controller und die IO Controller hatte ich bereits zuhause.

Als Grundgerüst habe ich mir ein paar Meter Draht besorgt, welchen ich geschickt ausgedreht, gekürzt und zusammen gelötet habe. Der Würfel besteht aus 4 Teilen mit jeweils 16 LEDs. Die LEDs sind mit dem Plus Pol direkt auf das Drahtgerüst gelötet und mit einen Widerstand zum IO Controller geleitet. Die 4 IO Controller sind per I2C mit der Hauptplatine verbunden. Es sind PCA9552, 16Bit I2C LED Treiber. Die IO Controller sind übrigens fliegend montiert und werden nur durch das Flachbandkabel gehalten, welche wiederum mit Kabelbinder befestigt sind. Eine lange Frickelarbeit… ;) .

Die Hauptplatine selbst besteht aus einer 5x10cm Lochrasterplatine. Diese ist mit einem 7805er und einem ATTINY84 ausgestattet. Zusätzlich befindet sich noch ein Taster, ein Poti und eine 3,5mm Klinken Buchse auf der Platine. Zum Verbinden der IO Controller ist eine Steckerleiste montiert. Betrieben wird das ganze von einer 9V Batterie, welche sich auch direkt auf der Hauptplatine befindet. Die Hauptplatine selbst habe ich mit Kabelbindern im Mittelteil der Cube montiert. Sieht für den Leihen vielleicht nicht ganz so schön aus, aber für den Techniker um so schöner ;) . Außerdem kann man so den Cube per Eingabeknöpfe komfortabel steuern.

Die Treiber und das Grundgerüst sind soweit fertig Programmiert, es läuft derzeit ein Testprogramm. Zur Visual Programmierung bin ich noch nicht gekommen, sollte aber recht einfach gelingen. Ich habe dafür ein paar schöne Funktionen vorbereitet, mit denen die einzelnen Punkte in einer Matrix angesteuert werden können, aber auch Linien und Flächen Adressiert werden können. Das Programm ist in C geschrieben und wurde mit GCC unter Linux kompiliert und mit AVR Tools per Parallelport eingespielt.

Als Erweiterung habe ich mir vorgenommen den Klinken Stecker per Analogport auszulesen und eine Fast Fourier Transformation (FFT) zu verwenden um Frequenzabhängige Visuals erzeugen zu können. Bis jetzt habe ich nur einen Quick Hack zur Anwendung als VU-Meter erstellt.

Wie sich bei den IO Controllern herausstellte, sind die PWM Features die im Chip integriert sind leider sehr limitiert. Mehr als 44Hz Frequenz lässt sich daraus nicht raus holen. Daher habe ich die PWM Steuerung per Software realisieren müssen. Dabei unterscheide ich zwischen 4 Grau-Stufen die in einem Array zwischengespeichert werden und in Zyklen per I2C weitergegeben werden. Dabei ist eine Theoretisch Maximale PWM Rate von 400khz/(9bit*4)/(4*4) = 694FPS (Max I2C Bus Speed/(I2C Bytelänge*Bytehappen)/(anzahl IO Controller*Led Register)) zu erreichen, wenn alle LEDs einer PWM Änderung unterzogen werden. Entsprechend höher sind die FPS bei Teilupdates.

Die LEDs selbst sind direkt an 9V betrieben da ich den 7805er entlasten wollte. Als Vorwiderstände dienen hier 470Ohm Widerstände. Diese wurden deshalb so niedrig gewählt, um beim PWM Betrieb wenig Verluste am Widerstand und maximale Helligkeit zu haben. Dabei ist ein maximaler Stromfluss von 13mA pro LED möglich. Die Chips verkraften 200mA pro Package. Bei gleichzeitiger Inbetriebnahme aller 16 LEDs also maximal 12,5mA pro LED. Also etwas darunter… Bei 64LEDs auf einmal würde ein maximaler Strom von 832mA fließen, was bei 9V fast 7,5W entspricht. Ich denke das die 9V Batterie dabei beleidigt sein wird. ;) Also etwas mitdenken beim Programmieren oder ein Externes Netzteil verwenden.

Der Poti ist übrigens zur Steuerung der Visual Geschwindigkeit und Gesamt Helligkeit gedacht. Der Taster schaltet zwischen den Modis für den Poti um.

Fazit: Viel Arbeit. Viel Frickeln. Aber Schön. Im Internet sind aber bessere einfachere LED Cube Projekte zu finden. Nachbauen würde ich die 3x3x3 LED Cubes, am besten mit RGB Leds. Mehr Farbe, mehr Freude. :) In diesem Sinne, viel Spass beim Basteln!

Dual Kopfhörerverstärker in praktischer Lunch-Box ;)

Anbei einige Pics meines self-made dual Kopfhörerverstärkers.

Die Idee zur Schaltung habe ich auf www.hifi-forum.de gefunden. Vielen Dank an dieser stelle an alle mitwirkenden und besonderen Dank an Lothar Kowalik für den tollen Schaltplan. In der Schaltung sind zwei TDA 2822M verbaut, welche satte Leistung bringen. Die Schaltung ist symmetrisch auf einer 5x10cm Lochrasterplatine aufgebaut. Somit ist der Klinken Stecker in der Mitte der Stereo Eingang und die Stereo Ausgänge jeweils Links und Rechts neben den ALPS Potis. Die Schaltung habe ich einfach übernommen. Testweise habe ich die Verstärkung mit einem 1KOhm Widerstand von 20 auf 8 herunter gesetzt. Als Special habe ich zu der internen Batterieversorgung auch einen Anschluss für ein externes Netzteil vorgesehen, welche bei Anschluss automatisch auf die externe Versorgung umschaltet.

Als Nachtrag würde ich hier gerne erwähnen, das ich seit beginn der Testschaltung und auch nach Fertigstellung des hier abgebildeten Verstärkers ein rauschen wahrnehme. Es ist konstant und wird nicht verstärkt, ist jedoch durchgehend um die 5mV laut. Daher eignet sich das Gerät nur teilweise zum Musik hören. Beim leise hören stört das Rauschen zu stark. Ich bin noch am tüfteln wie ich hier Abhilfe schaffen könnte… Ideen und Anregungen sind gerne willkommen.

Viel Spass beim Nachbauen. :)

 

RGB LED FlashLight

Dieses Projekt wurde ursprünglich zum freudigen Experimentieren mit Farben erbaut.

Dazu wurden 3 Rote, 2 Grüne und 2 Blaue LEDs über einen kleinen Microcontroller angesteuert. Als LED Endstufe wurde je Farbe ein NPN Transistor 547A verwendet. Die LEDs werden direkt mit 9V Betrieben, der Atmel Controller ATTINY84V über einen 7805 mit 5V versorgt.

Möglich sind hier PWM Spielereien wie Helligkeitsregelung, Farbmischungen, Pulsierung und Blinkeffekte. Gesteuert wird das ganze über einen Taster und einem Poti. Zum ein und ausschalten wird einfach der Batterie-Stecker verschoben.

Einfaches mini Projekt zum Nachbauen. Much fun :)

Howto turn your crappy facebook in a useful communication application

This article don’t discuss the privacy nightmare of facebook.

The most users of facebook know the problem of getting tons of useless information, even if you only want to post an update or want to watch useful things from your really important friends. So, i have change some preferences and now, my crappy facebook makes me happy again. :)

First of all, make a group for your really important friends. Just call it “view” or “friends” and put your friends in it.

The second part changes the way you log in to facebook. Maybe you open your browser an type in “www.facebook.com” or you have bookmarked this page and opened it that way. I think the comfort-ablest way to do that, is to drag&drop your friends group to the bookmark bar.  Every time you open facebook, you only see the messages from your really important friends. I additional added a second button which points directly to my own profile. So if i want to post something, i don’t get confused by the facebook posts of others ;) .

By the way, there is an other advantage of creating the friends group. You can be visible for your friends group only. Just turn off the chat for others.

The third part of cleaning up your facebook is, to clean up your friends list. Maybe just drop friends of friends, rare used contacts or acquaintances. Choose for your own, and don’t be scary, you can add the contacts again, if you cleaned up to much.

Happy communicating!

Artikel-Navigation

Follow

Bekomme jeden neuen Artikel in deinen Posteingang.