Forum: Mikrocontroller und Digitale Elektronik Halb duplex USART 5v-3.3V


von Florian (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
Ich möchte mit einem STM32F030C6T6 eine Reihe von Dynamixel Servos 
ansteuern. Der STM läuft auf 3.3V und der MCU(ATmega8) in den Dynamixeln 
laufen auf 5V. Alle Geräte werden über eine 12V Leitung versorgt. Die 
Kommunikation verläuft über eine Halb Duplex USART Leitung. Nun zu 
meinem Problem:
Auf meiner STM MCU Platine habe ich nur minimalst Platz und will/muss 
kosten sparen, daher würde ich gerne nur einen 3.3V Regler einbauen und 
nicht noch extra einen 5V Regler um die Spannung des USARTs an zu 
passen. Im Datenblatt des STM steht, dass die I/O Pins 5V tolerant sind, 
ich bezweifle aber, dass ich einfach den USART vom STM an die 5V USART 
Leitung der Dynamixel legen kann, ohne dass etwas schief geht. Die 
ATmegas ziehen über Pullups die Leitung auf 5V und der STM wird das 
gleiche versuchen nur eben auf 3.3V, jedoch wird die Effektivspannung 
des USARTs dann über 3.3V aber unter 5V liegen. Meint ihr das geht so 
einfach oder schwäche ich die Kommunikation/ zerstöre den STM?

STM32F030C6T6 Datenblatt:
http://www.farnell.com/datasheets/1883133.pdf

Vielen Dank schon mal für eure Hilfe!

von Felix A. (madifaxle)


Lesenswert?

Mach es doch so:

https://de.wikipedia.org/wiki/Datei:Bidirektionaler_pegelumsetzer_wikide.svg

Links den STM (der so wie ich es verstanden habe) sendet und rechts den 
empfangenden Servo.

Funktionsweise:
zieht der STM seinen Pin gen Masse, so wird das rechte Potential auch 
auf Masse gezogen. Liegt der Pin auf 3,3V, sperrt der Mosfet und rechts 
liegen 5V an.

Achte aber auf einen kleinen Mosfet mit möglichst geringen Kapazitäten, 
wenn die Übertragungsrate hoch sein soll.

: Bearbeitet durch User
von Florian (Gast)


Lesenswert?

Felix A. schrieb:
> Mach es doch so:
>
> https://de.wikipedia.org/wiki/Datei:Bidirektionale...

Ja ein Pegelwandler ist eine logische Überlegung, die ich auch schon 
hatte, jedoch will ich ja die extra 5V Versorgung vermeiden. Extra ein 
LDO nur für den Pullup ist halt doof und möglicherweise zu vermeiden. 
Ich benötige für das Projekt zudem meherere dieser Platienen und da 
machen jede 10cent einen Unterschied.

von Felix A. (madifaxle)


Lesenswert?

Du brauchst die 5V doch gar nicht, wenn deine Servos diese selbst auf 
den Bus legen. Oder verstehe ich das falsch?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Florian schrieb:
> Im Datenblatt des STM steht, dass die I/O Pins 5V tolerant sind, ich
> bezweifle aber, dass ich einfach den USART vom STM an die 5V USART
> Leitung der Dynamixel legen kann, ohne dass etwas schief geht.

Na, was bitte heißt denn "5V-tolerant"? Du kannst Deinen STM mit 3.3V 
betreiben, und ein 5V-Signal an dessen UART anlegen, und brauchst 
keinerlei weitere Beschaltung.

Warum bezweifelst Du, daß das funktioniert?

von Florian (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Na, was bitte heißt denn "5V-tolerant"? Du kannst Deinen STM mit 3.3V
> betreiben, und ein 5V-Signal an dessen UART anlegen, und brauchst
> keinerlei weitere Beschaltung.
>
> Warum bezweifelst Du, daß das funktioniert?

Ich will nur nicht,dass es in Rauch aufgeht weil ich irgendetwas 
übersehen habe :)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nun, sieh' ins Datenblatt, und prüfe, ob die Eigenschaft "5V-tolerant" 
auch für die von der UART verwendeten I/O-Pins zutrifft.

Das reicht.

Ansonsten kannst Du natürlich zwei Widerstände als Spannungsteiler 
verwenden, z.B. 2k2 und 3k3.

von Florian (Gast)


Lesenswert?

Okay,
ich danke euch ^^

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
Noch kein Account? Hier anmelden.