Forum: Mikrocontroller und Digitale Elektronik Transistorschaltung für IR-LED


von Stefan G. (second)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte gerne eine LED mit einer bestimmten Frequenz (ca. 100 Hz) 
pulsen. Stecke ich die LED SFH 487-2 mit Vorwiderstand an das Arduino 
an, funktioniert dies zwar, aber nur bis zu einer Reichweite von ca. 
5cm. Diese Reichweite möchte ich nun erhöhen.

Bin noch Anfänger und habe mich in die Transistorschaltung eingelesen. 
Die Schaltung habe ich laut Anhang ausgelegt, jedoch bekomme ich an der 
Diode nicht die gewünschte Frequenz.
Diese variert laut Multimeter bei ca. 600-900 Hz.

Könntet ihr mir helfen, was ich übersehen habe?

Als Transistor habe ich den 2N3904 ausgewählt. Ist dieser dafür 
geeignet?

Danke!

lg

von Erwin (Gast)


Lesenswert?

Mit den errechneten Werten für R1 und R2 und dem 2N3904 müsste es
schon mal halbwegs funktionieren. Ich hätte eher 27 Ohm und 680...
820 Ohm für R1 und R2 genommen, aber das kann man später optimieren.

Allerdings musst du aufpassen, denn diese IR-LEDs vertragen die
100 mA nicht auf Dauer: 1,5 V * 100 mA = 300 mW. Pmax = 200 mW.

Wenn die Frequenz nicht stimmt, ist das aber eher ein Problem der
Ansteuerung!

von Nobby Nic (Gast)


Lesenswert?

Sehr schön! Da sieht man sofort, dass sich einer bemüht.

Kleiner Tipp für die Zukunft: Du hast in der Rechnung Uce unterschlagen, 
das ist die Spannung die am Transistor zwischen Kollektor und Emitter 
abfällt. Beträgt im Linearbetrieb ~0,7V, und geht bei Sättigung (Ib > 
Ic/hfe) bis ~0,2V runter.

von U. M. (oeletronika)


Lesenswert?

> Stefan Gruber schrieb:
> Diese variert laut Multimeter bei ca. 600-900 Hz.
Hallo,
was für Multimetermessung ist das? Wie hast du gemessen?

Bei solch einfacher Frequenzanzeige von billigen Multimetern kann da 
alles mögliche angezeigt werden.
Mit dem Multimeter sollte man noch einen RC-Tiefpass zwischen schalten, 
damit tatsächlich die Grundwelle gemessen wird.

Ein Oszi wäre natürlich aussagekräftiger.
Du wirst aber sicher keinen haben.

Dann folgender Tip: Nimm mal einen kleinen Lautsprecher und schließe 
diesen über z.B. 100...470 Ohm an den Kollektor des Transistors an.
Mit einem Kopfhörerhörer wird es noch besser gehen.

100Hz ist ein gleichmäßiges Brummen, das kann man sehr gut von einem 
Signal über 600Hz unterscheiden.
Gruß Uwi

von oszi40 (Gast)


Lesenswert?

Man könnte ja z.B. mal den Strom messen oder zum optischen Ausrichten 
eine LED mit sichtbarem Licht testen und ein Blatt Papier damit 
beleuchten.
Dein DB http://pdf.datasheetcatalog.com/datasheet/siemens/SFH487.pdf

Für größere Entfernugen wirst Du eine Optik brauchen. Bei IR wird sich 
allerdings der Brennpunkt etwas verschieben gegenüber sichtbarem Licht.

von oszi40 (Gast)


Lesenswert?

Stefan Gruber schrieb:
> jedoch bekomme ich an der Diode nicht die gewünschte Frequenz.

Vergleiche Deine 100Hz Messung mit dem Oszi.  Entweder misst Du Mist mit 
dem Multimeter oder Dein µC hat einen kleinen Programmierfehler?

von Possetitjel (Gast)


Lesenswert?

Stefan Gruber schrieb:

> ich möchte gerne eine LED mit einer bestimmten Frequenz
> (ca. 100 Hz) pulsen. Stecke ich die LED SFH 487-2 mit
> Vorwiderstand an das Arduino an, funktioniert dies zwar,
> aber nur bis zu einer Reichweite von ca.5cm. Diese
> Reichweite möchte ich nun erhöhen.

Hmm. Das muss nicht zwingend am Sender liegen. Eventuell
ist auch der Empfänger etwas taub.

> Bin noch Anfänger und habe mich in die Transistorschaltung
> eingelesen. Die Schaltung habe ich laut Anhang ausgelegt,

Soweit sehr gut; grundsätzlich auch alles richtig. Dennoch
einige Anmerkungen:

1) Der Einwand von Nobby Nic, Du hättest die Kollektor-Emitter-
Sättigungsspannung vernachlässigt, ist zwar sachlich richtig,
aber Korinthenkackerei. Die maximal 0.3V machen keinen
dramatischen Unterschied. Wenn Du (korrekt) mit 3.2V (statt
3.5V) und 100mA rechnest, kommen eben 32 Ohm (statt 35 Ohm)
heraus. Naja.

2) Es ist übliche (und sinnvolle) Praxis, den Transistor im
Schalterbetrieb (!) zu übersteuern, d.h. mehr Basisstrom
einzuspeisen, als rein rechnerisch erforderlich ist. Du
kannst den Basisvorwiderstand (R2) also auf 1kOhm oder 680 Ohm
verringern, sofern Dein Arduino ca. 10mA liefern kann.

> jedoch bekomme ich an der Diode nicht die gewünschte Frequenz.
> Diese variert laut Multimeter bei ca. 600-900 Hz.

Das würde ich nicht glauben. Ein Oszi zur Kontrolle ist
angebracht.

> Könntet ihr mir helfen, was ich übersehen habe?

Du hast nichts übersehen. Man sollte Dir im Gegenteil einen
Sonderpreis für sorgfältiges Arbeiten zuerkennen, denn:

1) Du hast die Last (korrekt) in die Kollektorleitung
eingeschaltet;
2) Du hast der LED einen Vorwiderstand gegönnt, ohne eine
endlose Diskussion loszutreten, ob dieser notwendig ist; und
3) Du hast einen Basiswiderstand sinnvoller Größe eingebaut.

Das sind alles Dinge, die (leider) nicht selbstverständlich
sind.

> Als Transistor habe ich den 2N3904 ausgewählt. Ist dieser
> dafür geeignet?

Ja.

von Possetitjel (Gast)


Lesenswert?

Nobby Nic schrieb:

> Du hast in der Rechnung Uce unterschlagen, das ist die
> Spannung die am Transistor zwischen Kollektor und Emitter
> abfällt.

Sachlich richtig, aber... naja... Krümelkackerei.

> Beträgt im Linearbetrieb ~0,7V,

Nein.
Der Bipolartransistor ist in der Regel auch unter U_ce = 0.7V
noch im Linearbetrieb. Klingt komisch, ist aber so.

> und geht bei Sättigung (Ib > Ic/hfe) bis ~0,2V runter.

Ja - wobei das stark vom Transistor und dem Kollektorstrom
abhängt. Man kann auch U_ce_sat = 0.05V erreichen.

von Günter L. (Firma: Privat) (guenter_l)


Lesenswert?

Stefan Gruber schrieb:
>aber nur bis zu einer Reichweite von ca.
>5cm. Diese Reichweite möchte ich nun erhöhen.

Also soll das eine Lichtschranke werden?
Wie hast du den Empfänger konstruiert?

von Udo S. (urschmitt)


Lesenswert?

Ich würde auf eine deutlich andere Frequenz wie 100Hz gehen. Jede Lampe 
flimmert (für uns unsichtbar) mit 100Hz (Netz-Halbwellen) Besonders 
stark bei Leuchtstofflampen und den meisten Ledlampen, aber auch bei den 
Glühlampen.

: Bearbeitet durch User
von ArnoR (Gast)


Angehängte Dateien:

Lesenswert?

Possetitjel schrieb:
> 2) Es ist übliche (und sinnvolle) Praxis, den Transistor im
> Schalterbetrieb (!) zu übersteuern, d.h. mehr Basisstrom
> einzuspeisen, als rein rechnerisch erforderlich ist.

> 1) Du hast die Last (korrekt) in die Kollektorleitung
> eingeschaltet;

Das mag zwar üblich sein, aber ob das auch sinnvoll ist hängt doch sehr 
von den Gegebenheiten ab. Die Übersteuerung und die Position der LED in 
der Kollektorleitung verschwenden Energie und erlauben keine hohen 
Schaltfrequenzen.

In der Anwendung des TO kann man sehr gut eine andere Schaltungsvariante 
anwenden, die bei gleichem LED-Strom nicht nur weniger Gesamtstrom 
verbraucht, sondern auch noch weniger Aufwand benötigt.

In der oberen Schaltung liegt die LED in der Kollektorleitung, es fließt 
der Kollektorstrom und zusätzlich der Basisstrom. Wobei der Basisstrom 
nicht nur größer als unbedingt nötig ist, sondern auch noch "ungenutzt" 
wegfließt.

In der unteren Schaltung liegt die LED in der Emitterleitung und bekommt 
daher die Summe aus Basis- und Kollektorstrom. Der Basisstrom ist jetzt 
also Teil des Nutzstromes. Außerdem ist keine Basisstromeinstellung mit 
einem Widerstand nötig, weil der sich automatisch so einstellt, dass nur 
genau der notwendige Strom und kein bisschen mehr fließt.

Natürlich funktioniert diese Schaltungsvariante nur mit Lasten, die 
Versorgungsspannungen benötigen, die deutlich kleiner als die 
Eingangssteuerspannung sind.

von Schimanski (Gast)


Lesenswert?

UUUNNND: der Transistor wird im unteren Schaltungsvorschlag nicht in die 
Sättigung gefahren. Bei 100Hertz, wie hier kein Problem. Bei 40.000Hertz 
schon eher. Da sperrt der dann nicht mehr richtig, wenn man es nicht 
schafft, die Basis auch wieder "leerzuräumen". Dazu bedarf einer 
ordentlichen negativen Stomsp(r)itze. (Koppel-C übern Basisvorwiderstand 
reicht manchmal schon aus)

von Stefan G. (second)


Lesenswert?

Erwin schrieb:
> Wenn die Frequenz nicht stimmt, ist das aber eher ein Problem der
> Ansteuerung!
Mein Code sollte passen, denn wenn ich die LED mit Vorwiderstand direkt 
an den PIN und GND hänge, kommen die 100 Hz an.
Aber zur Kontrolle:
1
int pulse=1; // pulse size length in microseconds
2
3
void setup() {
4
  pinMode(13, OUTPUT);
5
}
6
7
void loop() {
8
        digitalWrite(13, HIGH);
9
        delayMicroseconds(pulse);
10
        digitalWrite(13, LOW);
11
        delayMicroseconds(4999); // 10ms


U. M. schrieb:
>> Stefan Gruber schrieb:
>> Diese variert laut Multimeter bei ca. 600-900 Hz.
> Hallo,
> was für Multimetermessung ist das? Wie hast du gemessen?
Voltcraft M-3850D. Habe mit FREQ gemessen.

> Ein Oszi wäre natürlich aussagekräftiger.
> Du wirst aber sicher keinen haben.
Nein, habe ich leider nicht zur Verfügung.

> Dann folgender Tip: Nimm mal einen kleinen Lautsprecher und schließe
> diesen über z.B. 100...470 Ohm an den Kollektor des Transistors an.
Das habe ich mit einem Buzzer probiert und der Unterschied war deutlich 
hörbar.


Nobby Nic schrieb:
> Sehr schön! Da sieht man sofort, dass sich einer bemüht.
Danke! :)

> Kleiner Tipp für die Zukunft: Du hast in der Rechnung Uce unterschlagen,
Das hätte ich bewusst gemacht, da (wie ich gelesen habe) die 
Auswirkungen sehr gering sind und als Anfänger möchte man es ja einfach 
belassen.

von Stefan G. (second)


Lesenswert?

Nun erstmal danke an die zahlreichen Antworten! :)

Ich konnte inzwischen ein sehr präzises IR-Messgerät auftreiben und 
dieses hat folgende Werte ausgespuckt (Zeit zwischen IR-Pulse in ms):
1
005,0285
2
000,0051
3
005,0346
4
000,0051
5
005,0349
6
000,0052
Das IR-Messgerät kann wahrscheinlich nur Flanken messen und so sind die 
0,0052ms ev. die abfallende Flanke des IR-Pulses.

Die (in diesem Fall) 200 Hz kommen also bei der LED raus, wenn auch 
etwas ungenau.

Das Problem liegt eher an meinen Strom. Ich konnte keine Spannung/Strom 
messen (UR1=3,3mV; UR2=3,0mV; Ic=30µA; Ib=2,7µA). Vom Arduino gehen aber 
4,95V raus.

Das Multimeter hat meinen Transistor mit hfe=137 bei Ib=10µA gemessen. 
Laut Datenblatt des 2N3904 sollte der Wert deutlich unter 40 liegen. 
Habe ich den hfe Wert bei meiner Schaltung von hfe=30 falsch ausgelegt?
http://www.fairchildsemi.com/ds/2N/2N3904.pdf
Wenn ich oben die gemessenen Ic/Ib Werte ansehe, habe ich nur eine 
Verstärkung von ~10.

Kann ich überhaupt hier sinnvol U/I messen oder bekommt das Multimeter 
bei 200Hz gar keinen anständigen Wert?

von Mike (Gast)


Lesenswert?

oszi40 schrieb:
> Man könnte ja z.B. mal den Strom messen oder zum optischen Ausrichten
> eine LED mit sichtbarem Licht testen und ein Blatt Papier damit
> beleuchten.

Mit einer genügend billigen Kamera (i.e. ohne IR-Sperrfilter), kann man 
sich auch das Licht der IR-LED auf dem Papier direkt angucken und hat 
dann nicht das Problem, dass der Abstrahlwinkel möglicherweise ganz 
anders ist, als bei der LED mit sichtbarem Licht.

Und die Abbildung des IR-Lichtes mit einer Linse läßt sich damit auch 
direkt kontrollieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.