Category: hardware

Alternative Stromquelle für Projekte

19.06.2013 yahe hardware legacy

Vor kurzem war ich auf der Suche nach einer alternativen Stromquelle für ein kleines Testprojekt. Das Arduino liefert an seinen Pins normalerweise 5V. Glückerweise hat man Zuhause mehr als genug Hardware, die ebenfalls 5V benötigt, z.B. Smartphones. Diese sind daraus ausgelegt, per USB mit dem PC verbunden zu sein. Dieser liefert dabei neben einer reinen Datenverbindung auch Strom und wie es der Zufall so will, sieht der USB-Standard 5V als Spannungsversorgung vor. Diese Vorgabe hat sich bei vielen Geräten auch auf die Ladegeräte niedergeschlagen, die in die haushaltsübliche Steckdose gesteckt werden. Auch diese liefern in der Regel 5V.

Da ich relativ früh mit Smartphones angefangen habe, habe ich in meinen Schränken noch jede Menge Mini-USB-Ladekabel rumliegen, die absolut keinen Zweck mehr erfüllen. Bis jetzt, denn durch ein paar kleine Handgriffe und eine Lüsterklemme kann man diese in wunderbare Stromquellen für Elektronikprojekte umfunktionieren.

aus nutzlos wird sinnvoll aus nutzlos wird sinnvoll aus nutzlos wird sinnvoll

Hier ein Wort der Warnung: Auch, wenn sich das ganze relativ harmlos anhört, modifiziert ihr hier trotzdem ein Gerät, das mit dem 230V starken Haushaltsstrom verbunden ist. Deshalb solltet ihr solche Modifikationen mit Vorsicht und Respekt vornehmen. Ich verwende in meinem Haushalt sicherheitshalber ausschließlich Steckerleisten mit Überspannungsschutz und eingebauter Sicherung. Darüber hinaus habe ich mit einem Multimeter nachgemessen, ob wirklich die Spannung geliefert wird, die angegeben ist.


Leidige Erfahrungen mit Leitkleber

17.06.2013 yahe hardware legacy

Nachdem ich nun meine ersten Erfahrungen mit Leitklebern gesammelt habe, möchte ich einmal ein Fazit ziehen. Getestet habe ich zum einen Polytec PU 1000 und zum anderen Wire Glue, das es in dieser Aufmachung bei verschiedenen Webshops zu kaufen gibt.

Polytec PU 1000 und Wire Glue Polytec PU 1000 und Wire Glue

Während Wire Glue mit 15€ noch halbwegs bezahlbar ist, kostet die kleine Spritze gefüllt mit Polytec PU 1000 bereits 70€. Dieser Preisunterschied macht sich jedoch auch massiv bei den Produkten bemerkbar. Wire Glue ist den Großteil der Zeit einfach nur flüssig und braucht ziemlich lange zum antrocknen. Polytec PU 1000 hingegen ist eher breiig und trocknet relativ schnell an. Darüber hinaus liegen zwischen der Leitfähigkeit der beiden Produkte förmlich Welten. Wire Glue hat einen elektrischen Widerstand von mehreren Kiloohm, Polytec PU 1000 hingegen nur von wenigen Ohm. Ersteres eignet sich also in meinem Fall überhaupt nicht für den Einsatz, da Signale nicht ordentlich durch den Stoff geleitet werden können.

Polytec PU 1000 (oben) und Wire Glue (unten) Polytec PU 1000 (oben) und Wire Glue (unten) Polytec PU 1000 (oben) und Wire Glue (unten)

Also machte ich mich ans Werk und testete, inwieweit man Polytec PU 1000 nutzen kann, um Kabel an der Tastaturmatrix anzubringen. Auch führte ich generelle Tests mit dem Klebstoff durch. Alles sah sehr viel versprechend aus. Nicht nur, dass eine leitende Verbindung hergestellt wurde, ich konnte mir sogar einen leitfähigen Zahnstocher basteln.

Polytec PU 1000 Tests Polytec PU 1000 Tests Polytec PU 1000 Tests

Leider musste ich feststellen, dass zwar eine leitfähige Verbindung hergestellt wurde, diese jedoch keinerlei Widerstand gegen mechanische Einflüsse leistete. Man konnte die Kabel einfach aus der getrockneten Masse ziehen. Der Versuch, die Verbindung per Sekundenkleber zu verstärken, führte im Gegenteil sogar dazu, dass die Masse sich wieder auflöste, was man in einem der Bilder gut erkennen kann. Somit habe ich bisher keine funktionierende Möglichkeit, mein Arduino stabil mit der Tastaturmatrix verbinden zu können.


16 LEDs mit einem einzigen Output-Pin ansprechen

31.05.2013 yahe arduino hardware legacy

Endlich sind die ersten Vorbereitungen für das Auslesen einer echten Computertastatur abgeschlossen. Das Problem, das ich nun gelöst habe, ist, dass der Controller und die Tastenmatrix solch einer Tastatur über sehr viele Anschlüsse verfügen, sogar über so viele, dass sie den Rahmen dessen sprengen, was der Arduino zur Verfügung stellt. Um trotzdem alles anschließen zu können, habe ich mir eine Kleinigkeit überlegt. Mit Hilfe eines Demultiplexers bin ich in der Lage, den Input eines Pins auf mehrere Ausgänge zu verteilen. Bei einem NXP 74HCT4051 kann ich mit Hilfe von 3 Steuerleitungen ganze 8 LEDs ansprechen. Die Anzahl der Leitungen hat sich also schon mal um 5 reduziert.

Das war mir jedoch noch nicht genug. Deshalb habe ich zusätzlich einen Synchronzähler verwendet. Solch ein Binärzähler wie der NXP 74HCT193 hat im Grunde einen Eingang, über den man ihm einen Takt geben kann. Bei jedem Takt zählt er einen internen Counter um eins höher oder niedriger. Die aktuelle Zahl gibt er binär aus, im Falle des 74HCT193 mit vier Stellen. Die niedrigsten drei Bit kann man nun verwenden, um den Demultiplexer zu steuern. Doch ein Bit des Binärzählers bleibt noch übrig. Dank dieses höchsten Bits kann man nun einen zweiten Demultiplexer nehmen und mit dem Bit entweder den ersten Demultiplexer aktivieren oder den zweiten. Auf diese Weise kann man mit einem einzigen Vier-Bit-Zähler und zwei Demultiplexern dank nur 1 Taktleitung ganze 16 LEDs ansteuern.

16 LEDs dank ein paar ICs

Das Anschalten/Abschalten der ersten Demultiplexers erreichen wir, indem wir den Enable-Input (E) des Demultiplexers direkt mit dem höchsten Bit des Zählers verbinden. Ist das Bit auf 0 gesetzt, ist der Demultiplexer aktiv, ist das Bit auf 1 gesetzt, ist der Demultiplexer deaktiviert. Zum Anschalten/Abschalten des zweiten Multiplexers müssen wir jedoch ein wenig tricksen. Wir verwenden ein NXP 74HCT02 NOR-Gatter (oder wahlweise ein NXP 74HCT00 NAND-Gatter). Einen Input des NOR-Gatters verbinden mir Ground, den anderen Input hingegen mit dem höchsten Bit des Zählers. Erst den Output-Pin des NOT-Gatters verbinden wir mit dem Enable-Input (E) des zweiten Demultiplexers. Ist das Bit auf 0 gesetzt, liefert das NOR-Gatter den Output 1 und der zweite Multiplexer ist deaktiviert, ist das Bit auf 1 gesetzt, liefert das NOR-Gatter den Output 0 und der zweite Multiplexer ist aktiv.

Alle ICs in einer Reihe

Bei Vine habe ich mal ein ultrakurzes Video hochgeladen, bei dem einfach durch die einzelnen LEDs durchgeschaltet wird.

Als nächstes heißt es nun, Anschlüsse an die Tastaturmatrix und an den Controller zu basteln. Den notwendigen Kleber habe ich inzwischen erhalten. Ich werde zwei verschiedene Leitkleber ausprobieren, zum einen Polytec PU 1000 aus Deutschland (Kostenpunkt ca. 70€ inkl. MwSt und Versand) und zum anderen Wire Glue aus den USA (Kostenpunkt ca. 15€ inkl. MwSt und Versand).


Erster Blick in die Cherry G83-6105 Tastatur

25.05.2013 yahe hardware legacy

Die Tastatur, in die ich letztens geguckt hatte, war nur ein Bauernopfer, um mich an den Anblick einer Tastatur zu gewöhnen. Für meine calc.pw-Tastatur möchte ich eine Basis verwenden, die doch etwas weiter verbreitet ist. Herausgekommen bin ich bei der Cherry G83-6105. Ich mag die Tastaturen von Cherry generell sehr gern, da sie qualitativ hochwertiger sind.

Das Öffnen gestaltete sich ein bisschen schwierig. Cherry verwendet nicht nur Torx-Schrauben, sondern hat die Tastatur auch noch mit Laschen gegen das Öffnen durch fremde Hände gesichert, wobei sich eine davon unter dem Produktaufkleber befindet.

Innenleben der Cherry G83-6105 Innenleben der Cherry G83-6105 Innenleben der Cherry G83-6105

Die höhere Qualität macht sich bemerkbar. Der Controller ist kleiner, statt einzelner Noppen für die Tasten findet sich eine vollständige Noppenmatte (die im Gegensatz zu einzelnen Noppen nicht verrutschen kann) und auch generell macht die Tastatur einen wertigeren Eindruck (z.B. besitzt das USB-Kabel eine Steckverbindung und ist nicht einfach an die Platine angelötet).

Die nächsten Schritte sehen nun wie folgt aus: Zuerst einmal werde ich die aufgedruckte Matrix dekodieren, um zu wissen, welche Pins geschaltet sein müssen, um eine spezifische Taste zu erkennen. Danach werde ich den Arduino mit dem Controller der Tastatur sprechen lassen. Das Anlöten von Kontakten sollte dort einfacher sein als bei der Tastaturmatrix. Mit dieser Konstruktion sollte es dann möglich sein, dass der Arduino als Tastatur mit einem angeschlossenen Computer sprechen kann. Dadurch kann man für dieses Projekt auch den Arduino Uno verwenden. Abschließend hoffe ich dann, einen Weg zu finden, die Tastaturmatrix mit dem Arduino zu verbinden.


Reverse-Engineering einer Computertastatur

23.05.2013 yahe hardware legacy

Nachdem ich gestern calc.pw vorgestellt habe, möchte ich euch gern einweihen, wie es mit dem Projekt langfristig weitergehen soll. Ich möchte, dass calc.pw Bestandteil einer normalen Computertastatur wird. Um erste Erfahrungen zu sammeln, habe ich damit begonnen, eine alte Computertastatur auseinander gebaut, um mir anzusehen, wie es da drin überhaupt aussieht.

Komponenten einer Computertastatur Komponenten einer Computertastatur

Darin gefunden habe ich zum einen die Tastenmechanik (für uns erst einmal uninteressant), eine Tastenmatrix und einen kleinen Controller mit Kontaktflächen. Die letzten beiden sind das wirklich interessante. Die Tastenmatrix besteht aus 3 Lagen Plastik: eine Lage für die Erdung (GND), eine Zwischenschicht (damit die Leiterbahnen sich nicht berühren und Kurzschlüsse verursachen). sowie eine Lage für den Stromanschluss (VCC). Nur an den Stellen, an denen sich Tasten befinden, hat die Zwischenschicht eine Öffnung. Drückt man an dieser Stelle eine Taste, werden die GND-Matte und die VCC-Matte an dieser Stelle aneinander gedrückt. Schon fließt Strom, was vom Controller ausgewertet werden kann.

ein einzelner Tastendruck ein einzelner Tastendruck

Dadurch, dass es nicht nur eine GND-Leiterbahn und eine VCC-Leiterbahn gibt, sondern mehrere, kann der Tastaturcontroller jede einzelne Taste auf ihren Status hin abprüfen. So ergibt sich eine einfache Matrix, die z.B. sagt "Ist GND-Leitung X aktiv und ist VCC-Leitung Y aktiv und fließt Strom, dann handelt es sich um die A-Taste". Das ganze kann man auch mit einfachen Drähten simulieren.

Tastendruck am Controller simulieren

So weit, so einfach. Würde man also einen eigenen Controller entwickeln wollen, müsste man sich angucken, welche Leiterkombination auf der Tastenmatrix welche Taste darstellt. Anschließend würde man einfach durch alle Leiterkombinationen durchgehen und prüfen, ob tatsächlich Strom fließt. Leider gibt es an einer ganz anderen Stelle ein Problem. Denn irgendwie muss ich die Tastaturmatrix mit meinem Microcontroller verbinden, um sie ansprechen zu können. Mein Versuch, einfach Kabel anzulöten, schlug leider gründlich fehl. Dadurch, dass es sich um einfaches Plastik handelt, schmilzt es unter der Hitze einfach und zerstört dabei die aufgedruckte Leiterbahn.

geschmolzene Leiterbahn

Aus diesem Grund habe ich mich auf die Suche nach Alternativen gemacht. Gefunden habe ich elektrisch leitende Klebstoffe, auch bekannt als Leitkleber. Darüber hinaus bin ich auf das Produkt Polytec PU 1000 aufmerksam geworden. Dabei handelt es sich um einen Einkomponentenklebstoff auf Polyurethan-Basis, der bei Zimmertemperatur aushärtet. Ich habe jetzt einfach mal beim Hersteller angefragt, ob das Produkt mein Problem lösen könnte und wo ich das Zeug herkriege.


Search

Links

RSS feed

Categories

administration (40)
arduino (12)
calcpw (2)
code (33)
hardware (16)
java (2)
legacy (113)
linux (27)
publicity (6)
review (2)
security (58)
thoughts (21)
windows (17)
wordpress (19)