Hallo, ich möchte gerne RS232 über Infrarot mit einem AVR senden. Habe dafür eine sehr einfache, ich nenn se jetzt mal standart Schaltung gefunden (IR_std), nun möchte ich aber die Reichweite erhöhen und habe die Schaltung etwas modifiziert (IR_mod). Da ich aber kein Experte in Sachen Elektronik bin wollte ich einfach mal fragen ob man das überhaupt so machen kann oder ob es da berechtigte Einwände gibt. Möchte nicht gleich den AVR beim ersten Versuch kaputt machen. Die RS232 geschwindigkeit braucht nicht hoch sein 2400 baud reichen. In den Bildern ist mit RS232 TX der TXD pin des avr gemeint.
>Schau dir mal den PNP nochmal an. Das kann so nicht funktionieren.
hmm ok, hilft mir nicht wirklich viel weiter...
ich hab das so verstanden das wenn txd auf low ist, das ding überhaupt
erst senden kann (siehe IR_std) sonst fehlt halt GND für die IR diode,
Die IR_std ist übrigens aus ner Elektor schaltung (April 2010 S.32 Fun
mit Firefly)
Habe das ganze auch mal mit ltspice simuliert und da scheint es zu
funktionieren, bin aber halt einfach nicht sicher...
GG schrieb: > Habe das ganze auch mal mit ltspice simuliert und da scheint es zu > funktionieren, bin aber halt einfach nicht sicher... Dann hast du garantiert die 9V nicht mitsimuliert. Der PNP wird niemals Sperren, weil seine Basis nicht positiv genug wird.
Der PNP sperrt, sobald Emitter und Basis auf gleicher Spannung liegen (Basis darf bis zu 0,5V negativer sein). Hier ist sie durchgehend mindestens 4V negativer. Der Transistor wird immer leiten. Warum nimmst du nicht zweimal NPN?
hmm also die 9V sind schon mit in der Simulation und die basis des PNP wird doch über den 10K pullup hochgezogen...
ließ dir mal einen Artikel über Transistoren durch. Beispielsweise auf Wikipedia. Ich habe alles erklärt, was man braucht um mit ganz wenig Hintergrundwissen den Fehler zu entdecken. Eigentlich habe ich den Fehler schon ganz genau beschrieben...
GG schrieb: > hmm also die 9V sind schon mit in der Simulation und die basis des PNP > wird doch über den 10K pullup hochgezogen... Ja .... auf 5V. Damit der PNP aber sperrt müssen es mindestens 8.5V sein
39 Ohm bei 7V gibt auch deftig Strom (über 150mA). Das macht die LED (ohne Blick ins Datenblatt) nicht lange mit... Und dein BC547 der findet das noch viel schlimmer. R1 und R2 sind bei AVRs unnötig. Es gibt nur 0V oder 5V, wenn der Pin auf Ausgang gestellt ist. Da brauchste keinen Pulldown/-up.
Ich hab LTspice leider nicht. Aber ich bin mir sicher, dass das auch in silico nicht funktioniert. Sonst wäre LTspice ziemlicher Müll. Du hast als Basissignal vielleicht auch 0/9V angegeben (kann das jetzt nicht prüfen).
ne, ist soweit ok, habt ja recht, hab übersehen das die Spannung an der Diode gerade mal um 0.1V absinkt also die ganze Zeit die 9V drauf liegen, nur der Strom der durch die diode fließt geht von etwas 110mA runter auf 40nA. Argh hatte mich schon gefreut das mal etwas auf anhieb klappt...
Bong schrieb: > 39 Ohm bei 7V gibt auch deftig Strom (über 150mA). Das macht die LED > (ohne Blick ins Datenblatt) nicht lange mit... Wenn ich als Anfänger dazu einen Kommentar ablassen darf. Die LED soll in seiner Schaltung ja 40khz moduliert angesteuert werden. Ich habe die LD274 selbst im Einsatz und kann sagen, dass sie im Impulsbetrieb wesentlich mehr als 150mA verträgt. Ich habe zb. einen 6 Ohm Widerstand im Einsatz bei 36khz Impulsbetrieb, ohne Probleme. Korrigiert mich wenn ich falsch liege mfg
So vielleicht. Wobei ich mir nicht ganz sicher bin, ob das mit den Dioden die optimale Lösung ist. Weglassen kann man sie in der Form nicht. Sonst baust du einen Kurzen zwischen den Portpins. Schnell genug müssten die 1N4148 schon sein. Die Frage ist, ob der Transistor sperrt, wenn beide Signale auf Nullpegel haben. Müsste schon passen, scließlich ist ein Transistor ein stromgesteuertes Bauteil. Und Strom fließt bei Nullpegeln keiner mehr.
C. S. schrieb: > Ich habe zb. einen 6 Ohm Widerstand im Einsatz bei 36khz Impulsbetrieb, > ohne Probleme. Wie sieht der Impulsbetrieb denn aus? Wenn die 36kHz kontinuierlich anliegen, und das mit einem Dutycycle von 50%, dann senkt das bestimmt die Lebensdauer. Die LED muss ja nicht in zehn Sekunden abrauchen. Außerdem ist nicht der Widerstand, sondern das Produkt seines Kehrwertes und der Spannung (aka Strom) entscheidend. Also?
Sorry, der Schaltplan ist Quatsch. Das wäre eine ODER-Schaltung. Du brauchst ein UND.
So. Das könnte jetzt sogar klappen. Was für Widerstände verwendest du denn da immer?
unabhängig vom Level des Timer output pins muss ein low an TXD sozusagen GND für die IR diode "freischalten"
Mach mal ne Wahrheitstabelle. Ich glaube, wir reden grad aneinander vorbei. Du willst doch nur, dass die LED mit 40kHz blinkt, wenn TXD auf high ist. Wenn TXT auf low ist, dann soll die LED Maulaffen feilhalten.
GG schrieb: > low an TXD sozusagen > GND für die IR diode "freischalten" nein ein High an TxD lässt die LED im Takt des CF Signals blinken, so verstehe ich den Schaltplan von Bong
...erstmal vielen Dank an alle für die Hilfe, aber ich beschäftige mich morgen damit weiter...
Ja, dann hatte ich das schon richtig verstanden. Nur eben mit TX invertiert. Was ist denn eigentlich der Ruhepegel von TX? Beim Ruhepegel darf kein IR ausgestrahlt werden, sonst erkennt das ein intelligenter Empfänger als Störsignal und relaxxxt. Im Anhang dann der korrekte Schaltplan nach Wunsch. War aber der Letzte. Der nächste kostet nen Fünfer. Meine Frage zu Widerstand gilt noch...
Bong schrieb: > Meine Frage zu Widerstand gilt noch... Meinst du nun den Vorwiderstand für die LED, oder die Basiswiederstände? Für die Impulsbelastbarkeit finden sich bei IR-LED üblicherweise Kennlinien im Datenblatt, die die Belastbarkeit in Abhängigkeit von Frequenz und Tastverhältnis angeben.
Uwe ... schrieb: > Für die Impulsbelastbarkeit finden sich bei IR-LED üblicherweise > Kennlinien im Datenblatt, die die Belastbarkeit in Abhängigkeit von > Frequenz und Tastverhältnis angeben. Weiß ich, bin aber jetzt zu faul zum Nachschlagen, schließlich route ich gerade meine eigene Schaltung. Ich würde halt auf Nummer sicher gehen und wenn nötig eher mehrere LEDs einbauen, wenn ich schon keine Ahnung habe und das Ganze auf stirb oder gedeih machen muss.
Oh sorry, hab deine erste Frage schon wieder vergessen gehabt. Ich meinte den Vorwiderstand, davon war - glaube ich - auch im gesamten Post die Rede. Ich wollte ihn etwas heimtückisch auf die Fährte des 1-Watt-Widerstands bringen.
Software-UART über 200 Ohm auf BD135 und IR-LED mit 15 OHM an den Kollektor kleben......bei 5 Volt funzt dat gut. Hab da irgendwann mal die Beispielapplication von Atmel bissl modifiziert, (Timing für 36KhZ in die Schleife packen, paar Bits andersrum senden)
Martin Morse schrieb: > Software-UART über 200 Ohm auf BD135 und IR-LED mit 15 OHM an den > Kollektor kleben......bei 5 Volt funzt dat gut. > Hab da irgendwann mal die Beispielapplication von Atmel bissl > modifiziert, > (Timing für 36KhZ in die Schleife packen, paar Bits andersrum senden) Ich hab das entweder falsch verstanden, oder das ist ne extreme Bastellösung. Was willste da denn andersrum senden? Ist doch gar nicht nötig? Wie modulierst du die Trägerfrequenz auf das TX-Signal?
Oh man so simpel, 100000 Dank @ Bong! Nur damit ichs auch kapiert habe, wenn TX H Pegel hat ist T2 geöffnet und so bekommt T1 keinen Strom ab, damit sendet auch nix
..noch ne kleine Frage am Rande. Da ich grad nur 1/4W Widerstände zur Verfügung habe könnte ich doch anstelle von dem einem 1W Vorwiderstand der IR diode doch auch soetwas machen oder? +9V | ------------ | | ------ ------ | | | | R1 R2 R3 R4 | | | | ------ ------ | | ------------ | | IR wobei R1...R4 = um die 150 ... 180 Ohm das müsste doch noch im Rahmen liegen und die IR diode bekommt noch genug Leistung ab.
Häng halt einfach vier Widerstände mit einem viertel des gewünschten Widerstands in Reihe. Find ich irgendwie optisch und mathematisch einfacher. Wenn du das nach deinem Schaltplan machen möchtest, dann würde ich eher 4x330R => 82R5 einsetzen (hoffe, ich hab das jetzt richtig gerechnet ohne Formel). Seriell: Rg = R1 + R2 Parallel: Rg = (R1 x R2) / (R1 + R2) Sollte passen. Du willst vermutlich deine LED etwas mehr bestromen? Tu was du nicht lassen kannst. Ich würde es erst mit korrekten Werten ausprobieren und dann basteln, wenn es von der Reichweite her nicht klappt. Aber behalt im Kopf, dass du auch mehrere LEDs verwenden kannst (In Reihe, musst dann nur den Widerstand anpassen, Spannung reicht ja locker für 5 IR-LEDs)
GG schrieb: > Nur damit ichs auch kapiert habe, wenn TX H Pegel hat ist T2 geöffnet > und so bekommt T1 keinen Strom ab, damit sendet auch nix Jo, solange die Spannung an der Basis unter 0,6V liegt, passiert bei T1 gar nichts. Musst halt dafür sorgen, dass T2 ordentlich durchgesteuert ist (UCE<<0,6V). Sollte aber bei dem niedrigen Strom durch R1 kein Problem sein.
Anbei nen RS232-Transmitter auf Softwarebasis, ca. 2400 Baud bei 3 MHZ XTAL. An PD1 nen 200 Ohm Widerstand auf Basis von BD135. Emitter von BD135 auf Ground. Open Collector etwa Widerstand ca. 10 Ohm, dann IR-Diode und dann auf VCC.
In der Routine UART_set: ;420 µs ldi baud,15 sbiloop: sbi PORTD,TxD ldi temp,b Uarts_set1: dec temp brne Uarts_set1 nop nop nop nop cbi PORTD,TxD ldi temp,b Uarts_set2: dec temp brne Uarts_set2 dec baud tst baud brne sbiloop ret wird 15 Mal an und ausgeschaltet. Dies repräsentiert ein gesetztes Bit. Gesamtdurchlaufzeit : 420 µs / 2380 Baud 420 µs / 15 = 28 µs also etwa 36 khz Übigens war VCC bei etwa 3,6 Volt :-) 5 Volt kann bei 10 Ohm vielleicht nicht jede IR-LED ab.....besonders bei regem Sendebetrieb hab ja nur alle 2 Sekunden ein Byte übertragen damals. Funktioniert hats jedenfalls :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.