Ich habe einige Reverse Engineering-Arbeiten am Protcol für eine Fernbedienung durchgeführt, die ... scheiße ist. Ich ersetze es durch eines meiner eigenen Designs, aber während ich die Benutzeroberfläche verbessert habe, sind die Reichweite und der Blickwinkel meines Systems schrecklich. Ich möchte dies so schnell wie möglich abschließen ... Ich habe meine Originalfernbedienung gebraten, während ich versucht habe, meine eigene zu debuggen. =]
Also dachte ich, wie jeder gute Geek, ich würde mir die Erfolge eines anderen leihen und zog den Schaltplan für den TV B Gone hoch:
Meine Frage ist, warum es einen Widerstand und einen Transistor für jede LED gibt, anstatt die LEDs in Reihe zu schalten und sie mit einem einzigen Transistor zu steuern, der wiederum durch den Arduino-Pin gesteuert wird, der über einen einzelnen Widerstand hereinkommt.
Ich habe keine Bedenken, auf die gleiche Weise zu implementieren (ehrlich gesagt bin ich versucht, nur zum Teufel 32 LEDs, Widerstände und Transistoren zu verwenden), aber ich würde gerne verstehen, warum dies so gemacht wurde.
quelle
Antworten:
Die Durchlassspannung für eine IR-LED ist viel niedriger als für eine LED für sichtbares Licht, normalerweise um 1,3 V, steigt jedoch an, wenn Sie wirklich hohe Ströme wie> 100 mA durch sie drücken. Es scheint keinen Grund zu geben, warum Sie zwei davon nicht in Reihe schalten könnten, insbesondere wenn Ihr Vcc 5 V betragen würde. Wenn Ihr Vcc jedoch von einem Paar AA-Batterien stammt, ist der Spannungsabfall von zwei LEDs + die Sättigungsspannung des Transistors kann nahe an Vcc kommen und dies könnte den Ausgangsstrom begrenzen.
Die zwei Ausgänge zum Ansteuern der vier LEDs sollen eine Überlastung des Ausgangs des Mikrocontrollers vermeiden. Oder besser, sollte eine Überlastung vermeiden. Ein 120 Ω Widerstand bedeutet 35 mA Basisstrom pro Transistor, und das ist schon zu viel für den AVR, geschweige denn die 70 mA, die er jetzt ziehen wird.
Der 2N3904 ist auch dafür kein guter Transistor: Er ist nur für 100 mA ausgelegt und das niedrige hFE erfordert den hohen Basisstrom. Ein BC337-40 hat ein hFE von mindestens 250 bei 100 mA Kollektorstrom, dann sollten 5 mA Basisstrom ausreichen, um ihn anzutreiben. Mit einem Basiswiderstand von 820 Ω können Sie alle vier Widerstände an einem Pin ansteuern. Der BC817 ist ebenfalls für 500 mA ausgelegt.
Alternativ können Sie einen FET verwenden, um die LEDs anzusteuern. Ein PMV20XN kann mehrere Ampere verarbeiten und hat einen Einschaltwiderstand von nur 25 mΩ, sodass er kaum Strom verbraucht . Eine Gate-Spannung von 1,5 V reicht für 2,5 A aus.
edit
Ein Hinweis zur Strombegrenzung. Normalerweise haben wir dafür einen Widerstand in Reihe mit der LED, aber wenn Sie sich das Schema einer kommerziellen Fernbedienung ansehen, fehlt dieser Widerstand oft, weil sie auf den Innenwiderstand der Batterien zählen und dann einen anderen sparen 0,001 Dollar pro Fernbedienung.
Dies ist keine gute Idee, wenn Sie über einen netzbetriebenen Spannungsregler mit Strom versorgen. Dadurch wird der Strom begrenzt, jedoch auf einem zu hohen Niveau. Wenn die LED nicht sofort zerstört wird, wird ihre Lebensdauer erheblich eingeschränkt. Daher wird ein kleiner Vorwiderstand empfohlen. Bei 5-V-Versorgung und 2 in Reihe geschalteten LEDs tritt ein Spannungsabfall zwischen 2,9 und 3,0 V auf. Für 100 mA benötigen Sie also einen 30-Ω-Widerstand. Die Spitzenleistung beträgt 300 mW, aber bei einem Tastverhältnis von 50% beträgt die durchschnittliche Leistung nur 150 mW, dann reicht ein 1/4 W-Widerstand aus.
quelle
Wenn Sie die LEDs in Reihe schalten, benötigen Sie eine höhere Spannungsversorgung, um sie alle anzusteuern. Wenn Sie sie parallel schalten, kann dies zu Problemen führen, wenn die LED-Eigenschaften nicht gut übereinstimmen oder wenn Ihr Transistor nicht den Strom aller LEDs gleichzeitig verarbeiten kann.
Möglicherweise haben sie aus Gründen der Flexibilität mehrere Mikrocontroller-Pins verwendet. Beispielsweise hat dieses Gerät jetzt die Möglichkeit, weniger LEDs zu beleuchten und so Batteriestrom zu sparen.
quelle
Es scheint mir, dass die Schaltung erwartet, dass die 3904 die durch sie fließende Strommenge auf die richtige Menge für die LED begrenzen. Da der Transistor anstelle eines Widerstands zur Strombegrenzung verwendet wird und jede parallel verdrahtete LED (oder LED-Folge) eine eigene Strombegrenzungsvorrichtung benötigt, bedeutet dies die Verwendung eines separaten Transistors für jede LED. Ich glaube nicht, dass ich eine Schaltung so entwerfen würde, da sie für das Beta der 3904 empfindlich ist und die Beta-Eigenschaften des Transistors normalerweise nicht sehr genau spezifiziert sind. Die Schaltung hat jedoch den Vorteil, dass der Strom für VDD etwas weniger empfindlich ist als wenn einfach ein hartschaltender Transistor und dann Vorwiderstände für die LEDs verwendet würden.
Was die Verwendung von zwei Prozessorstiften zur Steuerung von zwei separaten LEDs betrifft, würde ich vermuten, dass der Controller sie zu unterschiedlichen Zeiten aktiviert, wenn die LEDs in wesentlich unterschiedliche Richtungen gerichtet sind. Infrarot-Fernsignale wechseln normalerweise zwischen 50% PWM und Aus. Wenn während der "50% PWM" -Zeit zwei LED-Sätze abwechselnd angesteuert werden, würde der erforderliche Spitzenstrom um die Hälfte reduziert. Der einzige Nachteil wäre, dass alles, was nur Licht von einer LED sah, eine Trägerwelle voller Stärke sehen würde, aber etwas, das etwas Licht von beiden LEDs sah, eine Trägerwelle sehen würde, deren Stärke der Unterschied in der Stärke des Lichts der beiden LEDs war . Dieser Faktor könnte gemindert werden, indem beispielsweise ein 25% PWM-Signal verwendet wird und die beiden Lichtsätze in benachbarten Viertelzyklen arbeiten. Dies würde die Verwendung höherer LED-Ströme ermöglichen, was die verringerte Empfindlichkeit der Empfänger gegenüber PWM-Wellen von nicht 50% ausgleichen würde. Außerdem würde ein Gerät, das Licht von beiden LEDs sah, einen schönen 50% -Träger sehen.
quelle