Anbringen einer LED an den Rx-Pin des PIC

Ich brauche eine Möglichkeit, um zu wissen, ob microcontroller( PIC) irgendwelche Daten empfängt (oder sendet). Also dachte ich daran, ein separates zu behalten, LEDdamit es blinkt, wenn eine Datenübertragung stattfindet.

Aber ich muss wissen, wie ich das anschließe LED. Ist es in Ordnung, ein direkt an die LEDPins PICs Tx(und Rx) anzuschließen? Ich meine, wird es die Datenübertragung in irgendeiner Weise beeinflussen (z. B. durch Abfallen der Spannung usw. ...).

Antworten (3)

(Zumindest einige) PICs können nicht viel Strom treiben (*), aber auch für den RxD-Pin verwenden Sie besser einen Transistor, um die LED anzusteuern, da Sie vermeiden, den Sender am anderen Ende zu laden (wahrscheinlich ein MAX3232 oder ähnliches ?).

Geben Sie hier die Bildbeschreibung ein

Verbinden Sie den Eingang „Q“ mit der TxD/RxD-Leitung. Ein typischer Allzwecktransistor hat eine Verstärkung von etwa 100, dann reicht 1 mA Basisstrom aus, um 20 mA Kollektorstrom zu erhalten.

Für einen 5-V-Bus und eine Stromversorgung:
wählen R B = 3,9 kΩ, dann beträgt der Basisstrom (5 V - 0,7 V)/ 3,9 kΩ = 1,1 mA. Begrenzung des Kollektorstroms auf 20 mA (typische Anzeige-LED) R sollte (5 V - 2 V)/ 20 mA = 150 Ω sein.

Verwenden Sie für einen 3,3-V-Bus und eine Stromversorgung dieselben Gleichungen und ersetzen Sie 5 V durch 3,3 V. Dann betragen Ihre Widerstandswerte 2,2 kΩ bzw. 47 Ω.



Ein MOSFET, wie AndrejaKo vorschlägt, ist eine gute Alternative, aber stellen Sie sicher, dass Sie einen Gate-Typ mit Logikpegel haben , mit einer maximalen Gate-Schwellenspannung, die etwas unter der Busspannung liegt. (Es gibt Gate-FETs mit Logikpegel, bei denen das bis zu 4 V betragen kann, und dann erhalten Sie bei einer Busspannung von 3,3 V nicht genügend Drain-Strom.) Der wahre Vorteil des FET besteht darin, dass er kaum Treiberstrom benötigt, aber da wir für den BJT nur einen mA brauchen, werden wir damit auch keine Probleme haben.


(*) Dieser zufällige PIC-Controller spezifiziert einen Abfall von 700 mV bei nur 3 mA Ausgangsstrom, das ist ein Ausgangswiderstand von 230 Ω. Eine 2-V-LED, die direkt von einem 3,3-V-Ausgang angesteuert wird, senkt den Ausgang um 1 V bei nur 4 mA. Die meisten Anzeige-LEDs sind für 20 mA spezifiziert.

Gute Antwort stevenvh, +1 für das Hinzufügen von Vorschlägen zur Widerstandsgröße, viele andere beziehen sich nur auf das Ohmsche Gesetz
Auch wenn dies die "richtige" Vorgehensweise sein mag ... wenn Sie nicht <5 mA oder so vom MCU-Pin treiben können, würde ich den Wert dieser MCU in realen Anwendungen in Frage stellen. RS232-Transceiver sind außerdem sehr robust. Ich habe zahlreiche Designs, bei denen der Vorwiderstand und die LED direkt auf den Rx/Tx-Leitungen sitzen. Es funktioniert gut, auch wenn Sie nicht MAX verwenden, sondern billige 2nd-Source-Transceiver. Solange Sie nicht versuchen, 20 mA oder so etwas Verrücktes zu fahren, sollte es keine Probleme geben. Und wenn Sie sich für eine helle, moderne LED entscheiden, können Sie problemlos einen 10k-Widerstand verwenden.
@Lundin - Nun, Microchip schneidet in realen Anwendungen überhaupt nicht schlecht ab, selbst wenn dieses Datenblatt einen Abfall von 700 mV bei nur 3 mA und Vcc von 3,3 V angibt. Das ist ein Innenwiderstand von mehr als 200 Ω , nicht sehr gut.
@stevenvh Vielleicht bin ich mit Freescale verwöhnt, wo Sie + -20 mA durch einen einzelnen Pin (bei Vdd = 3 V) treiben können, ohne die Spezifikation zu verlassen. Allerdings muss man natürlich mit Rändern gestalten. Was die MAX-Transceiver betrifft, so haben die Standardgeräte eine Schwellenspannungsspezifikation von hoch > 2,0 V, niedrig < 0,8 V, so dass dies nie ein Problem sein sollte.
Übrigens ist die LED-Spezifikation von 20 mA für die optimale Helligkeit. Wenn Sie eine moderne superhelle mit etwa > 300 mcd verwenden, können Sie den Strom auf unter ein Zehntel dessen senken, was Sie mit klassischen LEDs verwenden würden. Wir sprechen dann eher von uA- als von mA-Strömen.
@Lundin - Die Helligkeit ist linear mit dem Strom, daher gibt es keinen optimalen Wert wie ein Maximum für Helligkeit / Strom. 2/3 der Anzeige-LEDs von Digikey sind auf 20 mA spezifiziert. Sie haben Recht mit Typen mit hohem Wirkungsgrad, die Sie mit niedrigerem Strom fahren können, aber sie sind möglicherweise teurer (ich habe es nicht überprüft).

Nein, Sie möchten die LED nicht über einen Low-Side-Schalttransistor anschließen, wie andere gezeigt haben. Im Normalfall ist der Ruhepegel beider Leitungen hoch, was dann dazu führen würde, dass die LED die meiste Zeit leuchtet. Es wird sehr schwierig sein, zu bemerken, dass es gelegentlich etwas dunkler wird. Was Sie möchten, ist, dass die LED nur leuchtet, wenn sich die Leitung im aktiven Zustand befindet, der niedrig ist. Hier ist eine einfache Schaltung:

Der Transistor wird in Emitterfolger-Konfiguration verwendet, was die Notwendigkeit eines Basiswiderstands eliminiert und auch den minimal möglichen Basisstrom für den resultierenden LED-Strom verwendet. Wenn die digitale Leitung niedrig wird, liegt der Emitter bei etwa 700 mV. Betrachtet man eine normale grüne LED, die etwa 2,1 V abfällt, verbleiben 2,2 V über R1. 2,2 V / 120 Ω = 18 mA, was knapp unter dem Maximum von 20 mA liegt, für das typische T1-3/4 und viele andere gängige LEDs ausgelegt sind.

Dies ist ein Fall, in dem Sie die LED-Lichtleistung maximieren möchten, was bedeutet, dass sie mit ihrem maximalen Strom betrieben wird. Die Linie wird für kurze Zeit niedrig, also sollten Sie diese kurze Zeit so sichtbar wie möglich machen. Wenn das nicht funktioniert, brauchen Sie eine Art Pulsdehnung, aber versuchen Sie dies zuerst.

Wenn Sie eine 3,3-V-Versorgung verwenden, stellen Sie R1 entsprechend ein. 3,3 V - 2,1 V - 700 mV = 500 mV über R1. 500mV / 20mA = 25Ω. Sie möchten etwas Spielraum lassen, daher sollte der Standardwert von 27 Ω gut funktionieren. Die 3,3-V-Versorgung ist ungefähr das Minimum, in dem Sie die Emitterfolgerkonfiguration verwenden möchten.

Sie sollten nicht versuchen, die Diode direkt an den Pin anzuschließen, da dies definitiv den Betrieb des Pins beeinflusst. Versuchen Sie stattdessen, die LED mit einem Logikpegel-Mosfet anzusteuern. Verbinden Sie den Gate-Pin des MOSFET mit dem Rx-Pin und den Drain mit der LED und einem Widerstand.

Geben Sie hier die Bildbeschreibung ein

Ignorieren Sie die im Schaltplan angezeigte Teilenummer. BS170 wäre viel billiger und würde für diesen Zweck gut funktionieren.