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
Ich würde noch eine Diode von E nach B anschließen, denn RS232 Pegel können -10V und mehr betragen. Die Basis Emitter Diode verkraftet aber nur meist -5 bis -7V. Ein Spannungsteiler mit einem 2. 100k Widerstand würde auch reichen. Davon abgesehen mache ich es meist auch so.
> 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.
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).
Ich dachte an XOR 0xFF, weil RS232 ja negative Logik besitzt. (also <-3V logische 1; >3V logische 0) Ansonsten vielen Dank für eure Hilfe. Gruß Christian
Der UART von µC hat aber eine positive Logik (Ruhepegel high), somit passt das genau wieder.
Achso, jetzt ist mir eingefallen, was du gemeint hast. Anstelle der Diode einen 100kOhm Widerstand. Dachte am Anfang du meinstest einen einfachen Spannungsteiler anstatt einen Pegelwandler. Gruß Christian
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.
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.
Die reine Spannungsteilervariante wird in Verbindung mit einem in Hardware gegossenem UART nicht funktionieren. Mit einem (angepassten) Software-UART gehts.
Stimmt, Hardware-UART würde meckern, schon allein wegen Start- und Stoppbits. Gruß Christian
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.