Unidirektionaler Pegelwandler RS232 -> TTL

#1003550
Lesenswert?

Guten Abend!

Ich habe mir eine GPS-Maus gekauft. Diese liefert mir die NMEA-Daten mit 
RS232 Pegeln. Also hab ich sie mal aufgeschraubt, musste jedoch 
feststellen, dass dort KEINE TTL-kompatiblen abgezapft werden können.

Da ich diese Pegelwandlung nur einkanalig und unidirektonal (GPS-Maus 
RS232 -> TTL  ATMega) brauche, wäre ein MAX232 total Overkill. D.h. 
Pegelwandler selbst bauen. (siehe Anhang)

Gibt es irgendwelche Einwände gegen dieses Entwurf?
RS232 ist wohl eine Spannungsschnittstelle, aber >100k Eingangsimpedanz 
dürfte ja nicht ausmachen.

Gruß
Christian
Angehängte Dateien:
#1003591
Lesenswert?

> Ein Spannungsteiler mit einem 2. 100k Widerstand würde auch reichen.

Dann in der Software XOR 0xFF ?
Hm, das wäre auch eine Idee.

Obwohl ich lieber bei dem Pegelwandler bleibe, denn vielleicht wird das 
Ganze
 dann doch mal nur mit 3.3V betrieben.

Also den Anhang kann ich bedenkenlos aufbauen?
Ok, viel kann ja nicht kaputt gehen. =)
Output ist ja maximal VCC; nur an die Sperrspannung der BE-Diode habe 
ich garnicht gedacht.

Zum Thema Flankensteilheit:

bei logischer 0 hat RS232 min. 3V

=> (3V - 0,7V) / 100kOhm = 0,000023 A

=> mit hfe = 100 max. BC-Strom von 0,0023 A

=> 5V / 0,0023 A = 2200 Ohm


so grob 5fach Übersteuert sind wir bei R2 = 10kOhm


Jetzt meine Frage:
Um gute Schaltzeiten zu erzielen sollte ich den Transistor ja möglichst 
wenig in Sättigung bringen, oder?
Ist aber eher eine allgemeine Frage, denn 9600 Baud sind da schon drin.
Aber wie siehts aus, wenn es mal flotter sein sollte ( > 100k Baud)?

Gruß
Christian
----------------------
EDIT:
@rufus:

Deine Empfehlung ist gut, jedoch bruach ich keine 4 Leitungen.
Klar ist platzmäßig eher nicht das Problem (v.a. wenn als SMD), aber mal 
schauen. Für 9600 Baut müsste die Schaltung reichen, für Baudraten 
darüber wäre ein IC schon sinnvoll. Oder eben Kollektorwiderstand 
verkleinern.
Angehängte Dateien:
#1003596
Lesenswert?

Christian L. wrote:
>> Ein Spannungsteiler mit einem 2. 100k Widerstand würde auch reichen.
>
> Dann in der Software XOR 0xFF ?
> Hm, das wäre auch eine Idee.

Wieso XOR 0xFF? Der Widerstand bildet nur einen Spannungsteiler, mehr 
nicht.

> Jetzt meine Frage:
> Um gute Schaltzeiten zu erzielen sollte ich den Transistor ja möglichst
> wenig in Sättigung bringen, oder?
> Ist aber eher eine allgemeine Frage, denn 9600 Baud sind da schon drin.
> Aber wie siehts aus, wenn es mal flotter sein sollte ( > 100k Baud)?

Das Abschalten kann man durch einen Kondensator (100pF) parallel zu dem 
100k Vorwiderstand beschleunigen, oder mit einer Schottky Diode zwischen 
Basis und Kollektor den Transistor am Sättigen hindern.
Oder einen kleinen Mosfet wie den BS170 verwenden. Dann sollten selbst 
1MBaud kein Problem sein, wenn der Pullup ausreichend klein ist (z.B. 
1kOhm).
#1003623
Lesenswert?

Benedikt K. wrote:
> Ja, genau. Man muss irgendwie verhindern, dass der Transistor eine zu
> hohe negative Spannung an die Basis bekommt. Und allzu hochohmig braucht
> so ein Eingang auch nicht zu sein, der MAX232 hat glaube ich irgendwas
> im Bereich von wenigen 10kOhm.

Ja, ich dachte am Anfang, dass du meistest, ich solle NUR einen 
Spannungsteiler verwenden. Also KEIN Pegelwandler; alles OHNE 
Transistor.

Müssten wohl die internen Schutzdioden der ATMegas abkönnen, aber mit so 
einem Pfusch wird erst garnicht angefangen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren