PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 15V Signal ohne Leistungsverlust auf 5V Signal umwandeln



swiss
07.09.2008, 21:35
Hallo zusammen.

Ich möchte mir einen Protokolleser für das d132 system von carrera basteln. Die Daten werden auf der Schiene zu den einzelnen Komponenten wie Weichen und Fahrfeugen übermittelt. Die Spannung beträgt 15V und wird bei einer Datenübertragung in Manchestercode ein und ausgeschaltet. Die datenübertragung beträgt ca. 10kBaud. Nun möchte ich die daten mit meinem Atmega8 mit horchen und nach einer Manchester -> bit umwandlung an den seriellen Anschluss meines PC's senden.

Jetzt habe ich folgendes Problem:

Wie kann ich die 15V Logikpegel, ohne grosse Verlustleistung oder gar signalstörungen zu verursachen, auf 5V TTL Pegel umwandeln um die Daten am Atmega empfangen zu können?

Würde ein paralell geschalteter Kondensator und ein nachgeschalteter PullUp Widerstand (ist im Atmega integriert) funktionieren oder muss ich einen Optokoppler einsetzen?

Carrera Schiene mit 15V 0-----||-----0 Atmega mit 5V

Ich hoffe ihr könnt mir weiter helfen.

Besserwessi
07.09.2008, 21:47
Wenn die Daten wirklich als 0V / 15 V codiert sind, dann könnte man einen einfachen Spannungsteiler auf etwas weniger als 1/3 nehmen, also z.B. 22 Kohm und 10 KOhm.

wkrug
07.09.2008, 22:28
Eventuell könnte das mit einem MAX232 gehen.
Die Daten der seriellen Schnittstelle sind zwar mit +/- 12...15V codiert, aber vieleicht funktioniert es auch mit 0V 15V??

PsiQ
08.09.2008, 01:02
Wenn die Daten wirklich als 0V / 15 V codiert sind, dann könnte man einen einfachen Spannungsteiler auf etwas weniger als 1/3 nehmen, also z.B. 22 Kohm und 10 KOhm.

jup, nen hochohmigen spannungsteiler, und dann noch eine z-diode mit 5,2V als schutz,
wobei der avr auch 4,5V als high erkennen sollte, ist also unkritisch ob da nun 0V .. 5V oder
0,2V .. 4,5V ankomme.
den genauen "erkennungswert" findet man im Datenblatt.

Besserwessi
08.09.2008, 16:28
Eine 5,2 V zenderdiode hilft nur richtig, wenn da noch ein extra Widerstand vor dem Eingang ist. Bei einem relativ hochohmigen Teiler sollten aber auch die internen Schutzdioden schon reichen.

PsiQ
08.09.2008, 16:35
ja, ich meinte (schrieb) ja hinter einem hochohmigen Teiler.

swiss
12.09.2008, 20:09
Vielen Dank für die Antworten.

Ich habe heute das Schienenstück erhalten dass umgebaut werden soll. Ich werde mal versuchen die Daten die 0V / 15V codiert sind mit einem hochohmigen Spannungsteiler und einer zenerdiode auf 0V / 5V zu bekommen.

Muss ich da einen Mindeststrom beachten? könnte es sein, dass wenn der Spannungsteiler zu hochohmig wird, dass der AVR die 5V nicht mehr erkennt?

PsiQ
12.09.2008, 20:49
Wenn der Teiler viel zu groß wird, hasste nicht genug strom um den internen kondensator schnell genug umzuladen,
mit 20k-10k wird das aber gut klappen, 200k-100k "sollte" auch gehen.
kommt auch drauf an, wielange du in der software warten kannst(umladen) um den port abzufragen.
Was genau der controller als high und als low pegel erkennt findest du im datenblatt, da müsste auch was zu den porteigenschaften zu finden sein.

Neutro
13.09.2008, 19:35
Ich würde die Signalanpassung mit einem Optokoppler durchführen. Hat zudem noch den Vorteil das man eine galvanische Trennung inklusive hat.
so kann der Controller keinen Schaden nehmen.

swiss
14.09.2008, 08:40
Danke für die Antworten.

Da mir nun mein AtMega8 am herzen liegt :-P studiere ich an der Optokoppler variante herum. Dazu babe ich aber noch ein paar Fragen, denn es wäre meine erste Schaltung mit Optokoppler.

Können die Optokoppler mit Transistorausgang die 10kBaud problemlos übertragen? Leider habe ich noch keinen Optokoppler gefunden der mit 15V Eingangsspannung arbeitet. Hast du da einen Vorschlag? Ich müsste eine Variante im DIL gehäuse haben, da ich die SMD-Bauteile nnicht löten kann.

Wenn es nichts passendes gibt werde ich die Schaltung wie oben vorgeschlagen mit einem Spannungsteiler realisieren :-)

Besserwessi
14.09.2008, 09:51
Wenn der Widerstand am Ausgang nicht zu hoch ist, und die Schaltschwelle einigermaßen stimmt, sind 10 kBaud mit den meisten Optokopplern noch möglich. Die meisten Optokoppler sind ohnehin noch in DIL/DIP oder ähnlichen Gehäusen. Mein Vorschlag wäre ein 4N36 oder 4N37 oder CNY17. Die Unterschiede sind eher gering.

Ansteuerung an der Senderseite ist so wie bei einer LED. An die 15 V also mit einem Vorwiderstand von etwa 1-2.2KOhm und zur Sicherheit eine Dioden antiparallel zum Optokoppler um eine zu hohe negative Spannung zu verhindern.
Bei den Optokopplern mit rausgeführtem Basis pin kann man die Geschwindigkeit noch etwas erhöhen durch einen Widerstand (ca. 100-300 K) von Basis zu Emitter. 10 kBaud sollten aber auch noch ohne gehen.

Hubert.G
14.09.2008, 09:56
Den Eingang eines Optokoppler betreibst du wie eine LED, also mit Vorwiderstand.
Bis 10kHz sollten fast alle gängigen Typen gehen, CNY17, 4N25 bis 4N28

Neutro
14.09.2008, 09:59
Guten Morgen swiss,

Optokoppler bestehen im einfachsten Fall aus einer LED und einem Transistor in einem Gehäuse. Die LED wird wie eine "normale" LED angesteuert. Das heißt U=2.5V, I=20mA. Wenn du den Vorwiderstand
berechnen willst musst du also 15V-2,5V/20mA rechnen.
Da Optokoppler für gewohnlich immer in Schnittstellen eingesetzt werden, sind sie also für Datenübertragungszwecke bestens geeignet.
Zudem gibt es noch Varianten mit eingebautem Schmitt Trigger um Signale zu formen.
Bitte daran denken das du die Masse von der Eingangsseite (LED) nicht mit der Masse vom Ausgang (Transistor) verbindest, sonst ist die Galvanische Trennung dahin....
Geeignete Typen könnten z.B. ein PS 2501 oder HCPL Typen sein.

MfG

Neutro

Hubert.G
14.09.2008, 10:39
Ein Opto mit SchmittTrigger wäre ein H11L1, für den genügen auch schon 5mA, das wären 2k7 bis 3k3 als Vorwiderstand.

swiss
16.09.2008, 17:27
Vielen Dank an alle :-)

Dann werde ich mich in den nächsten Tagen mal bei Conrad nach einem Optokopler umsehen. Scheint wirklich keine Hexerei zu sein. SchmittTriger werde ich höchst warscheilich nicht brauchen da die Schaltflanken sehr steil sind.