UART Pegelwandler (selfmade) richtig?

OP #4020465
Lesenswert?

Hallo,

ich habe zwei Bluetoothmodule. Diese laufen mit 3,3V. Mein uC muss 
allerdings wegen diverser anderer Peripherie mit 5V betrieben werden. 
Daher muss ein Pegelwandler für UART her.

Ich dachte dabei ans selber erstellen. Klappt das so wie ich mir das 
gedacht habe (Anhang)?

Es handelt sich einmal um das BTM-222 und einmal um das BLK-MD-SPK-B.

Da ich das BLK-MD-SPK-B nur ab und an eventuell mal programmieren muss 
dachte ich mir das ich die Module einfach mittels "jumper" an die UART 
verbindung hängen kann.

Ich danke euch schonmal.
Angehängte Dateien:
OP #4020495
Lesenswert?

Ja cool das dass doch einfacher geht als gedacht :)

Dann änder ich das mal. Aber wie ich gezeichnet habe würde theoretisch 
auch klappen!?

Klappt es mit einem Spannungsteiler als mit i2c oder reicht es da 
vollkommen aus die Leitungen einfach auf 3V3 zu pullen und gut ist?
#4020507
Lesenswert?

Hallo, viel zu umständlich.. Wie schon die Vorredner es geschrieben 
haben, wird dein Controller die high Pegel aus der 3V3 Seite als high 
erkennen.
Für 5V ausgehend 3V3 eingehend nimmst Du einfach einen einen schnellen 
Mosfet. Spannungsteiler sind nicht so toll wenn Du hohe 
Übertragungsraten hast.

Oder noch besser, wenn es mit der anderen Peripherie passt und dein 
Controller es unterstützt, versorge ihn doch mit 3V3. Dann brauchst du 
nichts mehr wandeln.
#4020514
Lesenswert?

Bülent C. schrieb:
> Spannungsteiler sind nicht so toll wenn Du hohe
> Übertragungsraten hast.

Obige Dimensionierung 2K2/4K7 verbindet problemlos einen 5V ATtiny841 
mit einem 3,3V Raspberry Pi bei 115200 bps über 20cm. Viel schneller 
wird er hier vmtl. auch nicht arbeiten.

Im Prinzip hast du recht, bei 8 MHz SPI könnte das ein Thema sein, oder 
bei meterlangem Kabel. Aber nicht bei UART mit dafür normalen Bitraten 
auf kurze Distanz.
#4020525
Lesenswert?

A. K. schrieb:
> Bülent C. schrieb:
>> Spannungsteiler sind nicht so toll wenn Du hohe
>> Übertragungsraten hast.
>
> Obige Dimensionierung 2K2/4K7 verbindet problemlos einen 5V ATtiny841
> mit einem 3,3V Raspberry Pi bei 115200 bps. Viel schneller wird er hier
> vmtl. auch nicht arbeiten.
>
> Im Prinzip hast du recht, bei 8 MHz SPI könnte das ein Thema sein. Aber
> nicht bei UART mit dafür normalen Bitraten.

Ein weiterer Aspekt ist der erhöhte Stromverbrauch. Da bratet er 
unnötig, um nur einen Highpegel zu zerteilen.

Wenn ich mich nicht irre, wird die maximale Übertragungsrate durch das 
Tiefpassverhalten des Spannungteilers in Verbindung mit dem I/O Port 
begrenzt.
#4020538
Lesenswert?

Bülent C. schrieb:
> Ein weiterer Aspekt ist der erhöhte Stromverbrauch. Da bratet er
> unnötig, um nur einen Highpegel zu zerteilen.

Ja. Bei Batteriebetrieb würde ich das nicht machen. Unter 1mA treiben 
einen aber nicht in jeder Schaltung in die Pleite.

> Wenn ich mich nicht irre, wird die maximale Übertragungsrate durch das
> Tiefpassverhalten des Spannungteilers in Verbindung mit dem I/O Port
> begrenzt.

Richtig. Aber ist das hier relevant?
OP #4020543
Lesenswert?

also das ist mein ersten UART projekt. Bislang kam ich immer mit i2c au, 
dies kann das BTM222 nicht. Auch finde ich es langsam nervig ständig 
PCA9515 als i2c levelshifter einzusetzen. Werden teuer auf dauer, habe 
ich gerade nicht da und kriege ich bis zum Wochenende nicht. Gleiches 
gilt für UART levelshifter. Daher kam mir diese idee. Freue mich das es 
auch einfacher geht.

Da ich noch nichts mit UART gemacht habe und ich mir das BTM222 nicht 
gerade zerschießen möchte ein paar Daten:

ATMega128, 16Mhz Quarz,  5v
BTM222, 3,3v
Baudrate Standard 19.....
Verbindung auf der selben Platine. Leiterbahnen 4-5 cm lang.

Befehle kommen per Handy rein und sollen verarbeitet werde,  Werte 
werden per BT ans Handy gegeben und sollen angezeigt werden.

Nichts zeitkritisches. Das Handy soll rein als "Fernbedienung" 
fungieren.
#4020549
Lesenswert?

A. K. schrieb:
> Ja. Bei Batteriebetrieb würde ich das nicht machen. Unter 1mA treiben
> einen aber nicht in jeder Schaltung in die Pleite.

Das wissen wir ja eben nicht, ob es Batteriebetrieben sein sollte. 
Ausserdem müssen wir ja Energiebewusst denken :-)

A. K. schrieb:
>> Wenn ich mich nicht irre, wird die maximale Übertragungsrate durch das
>> Tiefpassverhalten des Spannungteilers in Verbindung mit dem I/O Port
>> begrenzt.
>
> Richtig. Aber ist das hier relevant?

Kommt auf die Anforderung und seinem Platinen Layout an.. Auf einer 
Platine wimmelt ja es nur so an Kapazitäten.
#4020558
Lesenswert?

Rene H. schrieb:

> ATMega128, 16Mhz Quarz,  5v
> BTM222, 3,3v
> Baudrate Standard 19.....
> Verbindung auf der selben Platine. Leiterbahnen 4-5 cm lang.
>
> Befehle kommen per Handy rein und sollen verarbeitet werde,  Werte
> werden per BT ans Handy gegeben und sollen angezeigt werden.
>
> Nichts zeitkritisches. Das Handy soll rein als "Fernbedienung"
> fungieren.

Wegen welcher Peripherie musst Du deinen ATMega mit 5V betreiben?
OP #4020576
Lesenswert?

Also alleine schon durch den 16Mhz Quarz muss der ATMega zwingend mit 5V 
betrieben werden.

Der Verbrauch ist erstmal nicht wirklich Vorrangig. Betrieben wird das 
ganze an einem 500VA Ringkerntrafo, 2x 30V gleichgerichtet mit 
Mittelanzapfung und Schaltregler zu 5V und 3,3V.

Also wieviel da "verbraten" wird ist mir egal. Es muss funktionieren.

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