RGB Strip Mini Shield

ACHTUNG: Bei diesem Projekt ist leider ein Arduino Uno über den Jordan gegangen. Am Ende des Artikels steht mehr dazu, also vor dem Nachbau bitte lesen!


 

 

Viele werden das Problem mit Arduino kennen:  die Leistung an den Pins reicht einfach nicht aus um damit größere Lasten zu steuern. Bei mir ist das Problem aufgetreten, als ich meine Power-LED-Lampen und meine RGB-Stripes mit einem Arduino Uno steuern wollte. Die 40 mA und 5 V pro Pin reichen nicht mal annähernd um diese Dinge vernünftig ansteuern zu können. Die Lösung ist bekannt:  Leistungstreiber.

Ich habe ein paar Leistungstreiber auf einem Steckboard ausprobiert und  die meisten funktionierten auch recht gut. Viele sind aber vergleichsweise teuer oder packen die geforderte Leistung nicht (einen ULN2003 habe ich so auch gekillt).  Aber dann hat mich mein Vater auf folgende SMD-Mosfet aufmerksam gemacht:

Reichelt Link

Infos auf Mikrocontroller.net

Die Eckdaten:

  • N-Kanal MOSFET
  • Sehr geringer Innenwiderstand
  • Max. Drain-Source Spannung: 20V
  • Maximaler Drain Strom: 4.2A

Also im Grunde genau das, was der Mensch immer mal wieder braucht, und dann noch für kleines Geld. Einziger Nachteil: die Bauteile sind SMD und somit etwas komplizierter zu löten. Nach ein wenig gefummelt hatte ich aber dieses kleine System zusammengebaut:

MiniShield1MiniShield5

 

Der Widerstand (hier 260 Ohm, weil gerade da) ist eine Sicherheitsmaßname um den Controller zu schützen und dient gleichzeitig als Anschluss-Beinchen, z.B. für ein Steckboard. Auf dem Bild sieht man auch, wie man dieses System anschließen muss, um mit dem 5V Ausgang eines Controllers eine Last mit größerer Spannung ansteuern zu können (hier 12 V und ca 1A). Nach ersten Tests habe ich mich an eine weitere Variante getraut:

MiniShield2MiniShield3

Dieses kleine, sagen wir mal Shield, ist quasi das System von oben, nur mit 3 weiteren Transistoren. Außerdem kann man an dem Stecker, der vom Shield weg ragt, direkt ein RGB-Stripe anschließen.  Die Wiederstände dienen auch hier wieder als Stecker. Die Abstände wurden dabei so gewählt, das man recht unkompliziert die PWM-Pins und den GND-Anschluss eines Arduinos (hier Uno, geht aber mit den meisten anderen System genauso) treffen kann.

Das große Rote Kabel muss an die +12 V Versorgungsspannung angeschlossen werden. Ich hatte dies Kabel zuerst in den Vin-Pin des Arduinos, allerdings ist der Polyswitch Widerstand dabei sehr warm geworden. Vermutlich ist der Pin also nicht direkt mit dem Stecker der externen Spannungsversorgung verbunden. Also habe ich einfach das Kabel an den Stecker angelötet und damit das Problem gelöst


MiniShield4

Nachtrag: Der Artikel war gerade fertig und ich war gerade dabei die letzten Fotos zu mache, da stieg eine kleine Rauchwolke vom ATmega328 des Arduino Unos auf. Es ist noch nicht hundertprozentig geklärt was die Ursache war. Einige Messungen haben aber ergeben, dass auch ein Transistor seine Eigenschaften verändert hat. Es wird noch ermittelt was die genau Ursache war. Zur Zeit ist ein klassischer Kurzschluss in Verdacht. Mehr dazu in Balde.


Nachtrag 2:  Ich habe das Shield noch einmal nachgebaut und es scheint sich wirklich um einen Kurzschluss an der Power-Led gehandelt zu haben. Die genauen Umstände wie dabei der Uno etwas abbekommen konnte werden z.Z. noch geklärt.