PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Pegelwandler



Kampi
26.11.2011, 20:12
Hallo zusammen,

ich suche einen Pegelwandler um den UART Pegel von 3,3V meines XBee Funkmoduls auf 5V TTL Pegel für meinen Mega32 hoch zu setzen. Reicht da ein einfacher Transistor aus?
Desweiteren benötige ich ja nur einen Pegelwandler für die Strecke Tx RN-Control nach Rx vom XBee Funkmodul oder? Der Mega32 sollte die 3,3V sicher als High-Pegel interpretieren oder irre ich mich da?
Und für die Strecke von XBee zum Computer kann ich da einen einfachen MAX3232 nehmen? Laut Datenblatt benötigt dieser nur eine Spannung von mindestens 3V. Reicht der aus um die 3,3V Pegel des Funkmoduls auf die "normalen" RS232 Pegel zu bringen?

Danke für die Antworten
Gruß
Daniel

021aet04
26.11.2011, 20:50
Bei UART ist die Kommunikation nur in eine Richtung möglich (pro Leitung). Dadurch sollte es mit einem Transistor (von 3,3V auf 5V) bzw Spannungsteiler (von 5V auf 3,3V) helfen.

Der MAX3232 ist für die Spannungswandlung von 3,3V Systemen auf +/-5V geeignet. Dadurch sollte es mit einem MAX3232 funktionieren.

MfG Hannes

Besserwessi
26.11.2011, 20:57
Den Pegelwandler von 3,3 V auf 5 V kann man mit einem Transistor oder Mosfet (und Widerständen) machen. An sich sollte der Mega32 auch 3,3 V schon als High interpretieren - ist aber knapp, da ist also nicht viel Reserve. Man muss auch nicht den Umweg über die normalen RS232 Pegel machen. Es reicht wenn der Logicpegel stimmt.
Man muss auch noch klären ob das Signal invertiert werden muss ziwschen XBee und µC. Die HW UART ist da beim Mega32 festgelegt. Vom XBEE zum PC, also auf echte RS232 Pegel geht der MAX3232 (mit 3,3 V als Versorgung).

Kampi
26.11.2011, 21:14
Supi danke euch beiden für die Antworten :)
Ich hab gerade nochmal das Datenblatt des Mega32 durchstöbert aber ich habe keine direkte High - Low Pegelangaben gefunden und hab mich deswegen an den Pegeln für den Reset-Pin orientiert.
Das steht auf diesem Datenblatt auf Seite 287:

http://www.atmel.com/dyn/resources/prod_documents/doc2503.pdf

Dieser Pin erkennt einen High-Pegel mit einer Höhe von 0,9xVcc. Bei 5V würde das einen mind. High-Pegel von 4,5V bedeuten.
Ich denke mal da wäre es dann doch besser wenn ich sowohl für Rx als auch für Tx einen Transistor nehme. Einmal um aus 5V 3,3V zu machen und einmal um aus 3,3V 5V zu machen.
Stimmt das soweit?

021aet04
26.11.2011, 21:29
Hier sind einige Logikpegel zu finden. http://de.wikipedia.org/wiki/Logikpegel
Für TTL 5V sind für Low unter 0,8V und für high über 2V vorgesehen
Für CMOS 5V sind für Low unter 1,5V und für high über 3,5V vorgesehen

MfG Hannes

Besserwessi
26.11.2011, 23:35
Der Reset pin ist gerade kein guter Vergleich. In der selben Tabelle stehen auch die Werte für die anderen Pins (außer Reset und XTAL), also auch den RX pin. Die garantierte Grenze (min. Wert von V_iH )liegt bei 0,6 * Vcc, was bei 5 V Versorgung 3 V sind. Ein extra Wandler ist also nicht unbedingt nötig.

Für die Wandlung von 5 V nach 3,3 V reicht ein Spannungsteiler, vor allem bei den relativ geringen Geschwindigkeit der UART. Minimal aufwendiger und etwas besser wäre eine Kombination Diode + Widerstand (gegen 3,3 V), oder als Teiler mit Dioden dazu.

Da die normalen RS232 Pegelwandler das Signal noch invertieren müsste man noch klären ob das Signal invertiert werden muss -da hier eher die Direkte Verbindung vorgesehen ist, wird es vermutlich ohne Invertierung gehen.

Kampi
27.11.2011, 10:39
Danke nochmals für die Antworten :)


Der Reset pin ist gerade kein guter Vergleich. In der selben Tabelle stehen auch die Werte für die anderen Pins (außer Reset und XTAL), also auch den RX pin. Die garantierte Grenze (min. Wert von V_iH )liegt bei 0,6 * Vcc, was bei 5 V Versorgung 3 V sind. Ein extra Wandler ist also nicht unbedingt nötig.

Für die Wandlung von 5 V nach 3,3 V reicht ein Spannungsteiler, vor allem bei den relativ geringen Geschwindigkeit der UART. Minimal aufwendiger und etwas besser wäre eine Kombination Diode + Widerstand (gegen 3,3 V), oder als Teiler mit Dioden dazu.

Da die normalen RS232 Pegelwandler das Signal noch invertieren müsste man noch klären ob das Signal invertiert werden muss -da hier eher die Direkte Verbindung vorgesehen ist, wird es vermutlich ohne Invertierung gehen.

Ok dann lass ich den Vergleich mit dem Reset-Pin :)
Hab auch ein Fehler bei der Übersetzung der Tabelle gemacht. Ich dachte "Except" heißt "einschließlich" aber es heißt "ausschließlich".
Jetzt ergibt die Zeile "Input High Voltage except XTAL1 and RESET pins" auch mehr Sinn :D
Warum ist ein Spannungsteiler aus Widerstand und Diode besser?
Ich nehme mal an du meinst das so:

http://img13.imageshack.us/img13/2295/unbenanntdsy.png (http://imageshack.us/photo/my-images/13/unbenanntdsy.png/)
us[/URL]

Ich hab mir mal die Seite von 021aet04 angeschaut und da stand das beim "echten" RS232 eine negative Logik verwendet wird d.h. -15V bis -3V entspricht einem Low und das ist eine 1 und beim High genau so nur andersrum.
Da ich für die Verbindung zwischen Mega und XBee aber kein "echtes" RS232 verwende dürfte das mit der Invertierung ja hinfällig sein, vorallem weil man zwischen zwei Controllern ja auch keine Invertierung vornimmt :)
Und für die Strecke zwischen XBee und PC verwende ich ja sowieso einen richtigen Pegelwandler und der invertiert das Signal ja auch.

Besserwessi
27.11.2011, 13:38
Die Schaltung mit der Diode war anders gemeint: die Diode geht vom Ausgang des Mega32 zum XBee (Kathode zum AVR).

PICture
27.11.2011, 15:37
Hallo!

Vielleicht für unidirektional nur vereinfachen, falls doch nicht zu kompliziert: https://www.roboternetz.de/community/threads/54800-Bidirektionaler-Pegelwandler-Funktionsweise?p=524984&viewfull=1#post524984 . ;)

Kampi
28.11.2011, 09:33
Ok jetzt hab ich noch ne Frage wegen dem XBee am Computer.
Ich hab nochmal überlegt und es doch für besser gefunden wenn ich das XBee Modul per USB am PC anschließe. Erspart mir einen MAX232 und eine extra Spannungsversorgung für das Modul, da USB ja bereits 5V liefert. Nun suche ich nur noch einen Spannungsregler der mir aus 5V 3,3V machen kann. Kennt da jemand einen (einstellbaren) Spannungsregler der mit 5V Eingangsspannung auskommt und mir 3,3V machen kann? Optimal wäre es wenn es ein bedrahtetes Bauteil wäre.

Danke nochmals

Besserwessi
28.11.2011, 17:46
Als Regler könnte ein LP2950 gehen, den gibt es z.B. im To 92 Gehäuse, so wie kleine Transistoren.
Bei den meist nur 3 Pins ist aber auch SMD nicht so schwer zu löten.

P.S. einige der USB ICs haben sogar schon einen Regler für wenig Strom drin.

Kampi
28.11.2011, 18:28
Ja daran hab ich auch schon gedacht und mal beim FT232 geguckt. Dieser kann leider nur 50mA liefern und laut Datenblatt braucht das XBee leider 50mA....das ist also sehr dünn :(
Aber die Regler in dem TO92 Gehäuse reichen aus. Die können glaub ich bis 100mA oder so gehen?

Kampi
30.11.2011, 12:45
So für die Verbindung zwischen PC und XBee Modul hab ich nun das Ding hier vorgesehen:
http://de.rs-online.com/web/p/kommunikation/0406568/
Jetzt hab ich mir mal das Datenblatt hier angeschaut:
http://docs-europe.electrocomponents.com/webdocs/0aa3/0900766b80aa3598.pdf
und versteh ich das richtig das wenn man von J1 den Pin 1 mit Pin 2 verbindet, das dann der FT232 3,3V Logikpegel an allen Pins ausgibt?
Weil dadurch erspare ich mir ja dann den Pegelwandler für die Platine die an den Computer kommt.
Das USB-Modul wird dann weiter mit 5V versorgt, aber ich nehme die selbst generierten 3,3V für die Logikanschlüsse.
Ist das vom Denkansatz richtig so?

Danke und Gruß

021aet04
02.12.2011, 10:09
Das stimmt so. Wenn du bei J1 eine Verbindung zwischen 1 und 2 machst ist die Spannung an den Ausgängen 3,3V. Wenn du eine Verbindung bei J2 machst ist die Platine bzw deren Ausgänge über USB versorgt. Auf Seite 16 ist das Modul in der 3,3V Bus powered Konfiguration zu sehen (Figure 7).

MfG Hannes