Hilfe für Micro-Color-Blinker

Hier kann alles andere besprochen werden. Software, Treffen, oder Projekte wie Kippenlights, GroggyClock, usw.
Post Reply
cavac@magicbooks.org
BlinkenNewbie
BlinkenNewbie
Posts: 2
Joined: Fri Mar 27, 2009 7:04 pm

Hilfe für Micro-Color-Blinker

Post by cavac@magicbooks.org »

Hi!

Vorgeschichte: Mein BlinkenSisters-Server siedelt demnächst in ein neues Rechenzentrum. Da hab ich dann auch Platz, meine Soekris NET5501 als Serielle Konsole für den Hauptserver aufzustellen (macht Neuinstallationen und Updates leichter).

Jetzt ist im Gehäuse der Soekris noch Platz, RAM und Rechenleistung vorhanden. Deshalb möcht ich ein kleines Projekt machen (interner Codename: SoeKam):

[Bitte davon ausgehen, daß ich mich mit Elektronik so gut wie nicht auskenne. Ich kann zwar die Logik einer Schaltung verstehen und hab schon ein paar Sachen zusammengelötet, aber bei Dingen wie Widerstände ausrechnen ende ich jedesmal mit rauchenden Bauteilen]

In die Soekris (also in das Gehäuse, blick nach innen) kommt eine kleine USB-Webcam rein (ich hau grad die letzten Bugs ausm Capture-Prog). Dazu möcht ich jetzt eine kleine Platine mit 3 oder 6 verschiedenfarbigen Leds basteln (Rot, Grün, Blau), die man dann über ein Webinterface steuern kann und dann das entsprechende Kamerabild zurückbekommt.

Am Board selbst hab ich GPIO-Pins mit 3.3 Volt, aber nur ganz wenig Milliamps (direkt-Ausgänge vom Geode-Prozessor). Für 5 Volt Spannungsversorgung gäbs einen internen Adapter, wo normalerweise eine SATA-Platte dranhängt. Mein Plan war der, daß ich an die 5 Volt ein Schieberegister ranhäng, das von den 3.3V GPIO angesteuert wird und die Leds antreibt. Klingt das soweit plausibel?

Welches Schieberegister würdet ihr empfehlen? Bitte nicht SMD, sowas kann der cavac nicht löten, ausserdem möcht ich auf Lochraster bauen. Muss ich zwischen dem Schieberegister und den LED's Transistoren schalten oder reichen Vorwiderstände?

Was ich auf jedenfall vermeiden möchte, ist, daß die Bauteile an den Lastgrenzen fahren. Das DIng soll auf mehrere Jahre durch funktionieren und online sein, deshalb möchte ich schön innerhalb der Specs bleiben - ausserdem möcht ich in dem recht engen Gehäuse die erzeugte Abwärme in Grenzen halten.

Könnt ihr mir da ein helfen?

LLAP & LG
Rene
User avatar
novatar
BlinkenProfi
BlinkenProfi
Posts: 55
Joined: Mon Mar 17, 2008 9:13 am
Location: Magdeburg
Contact:

Re: Hilfe für Micro-Color-Blinker

Post by novatar »

Hallo Rene,

nur mal so aus Neugier: warum willst du da eine nach innen zeigende Cam anbringen? :roll:

Also was ich denke was auch geht wäre eine RGB LED, da sparst du dir ein haufen Arbeit mit, da du ja durch verschiedene an/aus Kombinationen alle anderen Farben (mehr oder weniger) hinbekommst. Meistens kommst du da mit 2,0V (rot), 2,2V (grün) und 4,5V (blau) aus und müsstest nur für die blaue an den S-ATA Anschluss. Dann kannst du direkt mit 3 GPIOs alle Farben ansteuern und sparst die den Umweg übers Schieberegister. Du kannst zwischen GPIO und LED-Pin auch noch einen FET (+Vorwiderstand) schalten, dann bist du denke ich auch auf der sicheren Seite.

Ansonsten wenn du aufs Schieberegister bestehst würde ich auf das 74xx595 zurückgreifen.

Vielleicht hilft dir das ein wenig weiter.

Liebe Grüße,
- Chris
in sachen leben bin ich autodidakt geblieben
cavac@magicbooks.org
BlinkenNewbie
BlinkenNewbie
Posts: 2
Joined: Fri Mar 27, 2009 7:04 pm

Re: Hilfe für Micro-Color-Blinker

Post by cavac@magicbooks.org »

novatar wrote:Hallo Rene,

nur mal so aus Neugier: warum willst du da eine nach innen zeigende Cam anbringen? :roll:
Bei einer Standard-Wartung macht der Admin normalerweise folgende Dinge, bevor er entscheidet, ob was gemacht werden muss: Deckel auf, Verstaubung prüfen, reinhören ob die Platte komische Geräusche macht (manchmal bemerkt man Dinge die SMART übersieht) und visuelle und Audio-Kontrolle der Lüfter.

Bei den aktuellen Preisen für Webcams und der Tatsache, daß meine Privatserver ca. 800km Luftlinie entfernt stehen, dacht ich mir, ich mach mal einen Test, ob man gewisse Checks per Kamera und Mikrofon machen kann. In der Soekris machts nicht soviel Sinn, aber bevor ich sowas in nen teuren Server reinbaue würd ich gerne einen Langzeit-Test (1-2 Jahre) mit einem Billig-Gerät machen. Ausserdem hab ich dann gleich mal die Möglichkeit, die Software unter Realbedingungen zu entwickeln und testen.

Und damit dann auch was für die Community abfällt dacht ich mir, ich bastle gleich ein paar Leds mehr rein und mach ein Micro-Blinken (ob ich da jetzt 1 oder 4 Schieberegister reinbastle macht dann von Aufwand auch keinen Unterschied mehr).
novatar wrote:
Also was ich denke was auch geht wäre eine RGB LED, da sparst du dir ein haufen Arbeit mit, da du ja durch verschiedene an/aus Kombinationen alle anderen Farben (mehr oder weniger) hinbekommst. Meistens kommst du da mit 2,0V (rot), 2,2V (grün) und 4,5V (blau) aus und müsstest nur für die blaue an den S-ATA Anschluss. Dann kannst du direkt mit 3 GPIOs alle Farben ansteuern und sparst die den Umweg übers Schieberegister. Du kannst zwischen GPIO und LED-Pin auch noch einen FET (+Vorwiderstand) schalten, dann bist du denke ich auch auf der sicheren Seite.
Wie gesagt, ich möcht nach Möglichkeit keine "Last" (sprich Leds) direkt an den GPIO basteln. Ausserdem kann ich mir dem Schieberegister mehr Leds ansteuern. Evtl. kommt da eine Monochrome 3x3 oder 4x4 Matrix dazu, evtl. auch 4x6 oder 4x8, je nachdem wieviel ich unterkrieg.
novatar wrote:
Ansonsten wenn du aufs Schieberegister bestehst würde ich auf das 74xx595 zurückgreifen.
Welchen Transistor würdest du da empfehlen?

Und kannst du mir evtl. nochmal in für einen reinen Softwerker verständlichen Angaben erklären, wie ich die Vorwiderstände ausrechnen kann. Also so on der Art: "Da kommen 5 Volt raus, die Led hat 'Angabe xy' im Datenblat stehen, Über Formel 'bla' kommt raus, daß du einen Widerstand von z Ohm brauchst".

Nochwas: Ich hab grad im entsprechenden Forum gesucht, da gibts keine zuverlässigen Angaben, wieviel Strom die GPIO-Pins vertragen nur immer den Kommentar "sehr wenig". Sollt ich, wenn ich mehr als ein Schieberegister anteuere, zwischen GPIO-Pins und Registerchip auch einen Transistor schalten?

LLAP & LG
Rene
User avatar
novatar
BlinkenProfi
BlinkenProfi
Posts: 55
Joined: Mon Mar 17, 2008 9:13 am
Location: Magdeburg
Contact:

Re: Hilfe für Micro-Color-Blinker

Post by novatar »

Hallo Rene,
cavac@magicbooks.org wrote: Welchen Transistor würdest du da empfehlen?
ich würde dir den 7805 empfehlen, den kannst du direkt an den Strom des S-ATA Ports klemmen und liefert dir dann 5V, wobei ich denke das der S-ATA Port selbst auch schon 5V von sich aus liefert.
Mir ist eben noch eine Idee gekommen, da du ja die GPIOs von dem Rest trennen willst, kannst du auch einen Optokoppler benutzen. Damit trennst du 2 Stromkreise (GPIO und LED). Auf der LED-Seite würde ich dann durch den Optokoppler einen NPN-Transistor schalten, der dann entweder die LED an macht, oder eben nicht. Da kannst du dann zwischen LED und OK noch FET, Vorwiderstand und bei Bedarf auch ein Schieberegister hängen. Falls dann die LED-Schaltung hops geht, sind deine GPIOs noch heil, weil physikalisch getrennt.
So viel zur Theorie... frag aber nicht welchen Optokoppler ;-)
cavac@magicbooks.org wrote: Und kannst du mir evtl. nochmal in für einen reinen Softwerker verständlichen Angaben erklären, wie ich die Vorwiderstände ausrechnen kann. Also so on der Art: "Da kommen 5 Volt raus, die Led hat 'Angabe xy' im Datenblat stehen, Über Formel 'bla' kommt raus, daß du einen Widerstand von z Ohm brauchst".
Also: angenommen deine Spannungsquelle liefert dir 5V und du brauchst 2,2Volt für eine LED (entsprechender Wert steht im Datenblatt). D.h. du rechnest erstmal 5 - 2.2 = 2.8 -> 2.8V zu viel und müssen vernichtet werden, z.B. über einen Vorwiderstand, eine Diode, ...
Jetzt kommt die Stromstärke deiner Stromquelle hinzu, angenommen es sind 15 mA. Jetzt kommt die magische Formel R = U/I in Spiel. Den zuvor berechneten Wert der Spannung die vernichtet werden soll ist U. Also: R = 2.8V/15mA. Wichtig: Einheiten in Grundeinheiten umrechnen, sonst kommt nur Mist bei raus, also in dem Fall:

R = 2,8V / 0.015 A
R = 186,67 Ohm

Da es aber keinen 186.67 Ohm Widerstand gibt, musst du dann passend Runden, z.B. in 100 Ohm + 50 Ohm + 10 Ohm + 10 Ohm + 10 Ohm + 5 Ohm + 1 Ohm + 1 Ohm. Oder du nimmst gleich 200 Ohm, etwas mehr ist besser als etwas zu wenig...
Du kannst auch nochmal hier nachlesen.

cavac@magicbooks.org wrote: Nochwas: Ich hab grad im entsprechenden Forum gesucht, da gibts keine zuverlässigen Angaben, wieviel Strom die GPIO-Pins vertragen nur immer den Kommentar "sehr wenig". Sollt ich, wenn ich mehr als ein Schieberegister anteuere, zwischen GPIO-Pins und Registerchip auch einen Transistor schalten?
Hast du kein Datenblatt zu der Kiste? Da sollte so was drin stehen...
Ich würde wenn dann eine passende Diode dazwischen Schalten die in Richtung GPIO sperrt und ggf. sich selbst zerstört bei zu hoher Spannung. Es gibt sicher auch noch die kleinen Sicherungen aus den alten Radios wenn du auf Nummer sicher gehen willst... oder eben per Optokoppler trennen, aber das hab ich noch nicht in der Praxis gemacht, aber schon gesehen das es geht (schau mal in unserem Wiki nach, eins der Projekte benutzt Optokoppler soweit ich weiß (eine der Matrizen)).

Liebe Grüße,
- Chris
in sachen leben bin ich autodidakt geblieben
Post Reply