Forum: Mikrocontroller und Digitale Elektronik Controller mit verschiedenen Spannungsquellen verbinden


von Uwe (Gast)


Lesenswert?

Hallo in die Runde,

ich habe ein µC-Board, welches ich über USB an einen Rechner anschließe. 
Über den USB-Anschluss bekommt das Board dann auch seine 
Spannungsversorgung.

Nun habe ich ein weiteres Board, welches an einem externen Netzteil 
hängt.

Ich möchte nun, dass die µC der beiden Boards über SPI Daten 
austauschen.

Kann ich die beiden Boards so einfach über SPI verbinden? Ich stelle mir 
die Frage, weil sie ja an zwei verschiedenen Spannungsquellen hängen.

Muss man eventuell die GND der beiden Boards miteinander verbinden?


Uwe

von Alexxx (Gast)


Lesenswert?

Ob das praktisch sinnvoll ist, hängt davon ab, ob dein Netzteil-Board 
auf Erde bezogen ist (wie PC => USB) hat zumindest Kondensatoren zu 
Erde.
Dann kann es Erdschleifen geben und es wird ESD-empfindlich.

>> Muss man eventuell die GND der beiden Boards miteinander verbinden?

=> Nein, nicht nur eventuell, sondern auf jeden Fall!

Dann haben die SPI-Signale den Pegel des jeweiligen Prozessors.
Also geht nur so direkt, wenn beide Prozessoren mit gleicher Spannung 
laufen. Sonst Pegelwandlung / (digitale)Optokoppler / RS485-Transceiver.

von P. F. (pfuhsy)


Lesenswert?

Hallo,

ich würde sagen, wenn beide Boards mit den selben Spannungswert arbeiten 
gibt es keine Probleme. Problemastisch würde es dann werden, wenn eins 
mit 5V und das andere mit 3,3V arbeiten, dann würde ich ein Pegelwandler 
dazwischen setzten. Die Masse aufjedenfalls miteinander verbinden, sonst 
könnte es zu komischen Effekten kommen.

Gruss

von P. F. (pfuhsy)


Lesenswert?

Alexxx schrieb:
> Ob das praktisch sinnvoll ist, hängt davon ab, ob dein Netzteil-Board
> auf Erde bezogen ist (wie PC => USB) hat zumindest Kondensatoren zu
> Erde.
> Dann kann es Erdschleifen geben und es wird ESD-empfindlich.
>
>>> Muss man eventuell die GND der beiden Boards miteinander verbinden?
>
> => Nein, nicht nur eventuell, sondern auf jeden Fall!
>
> Dann haben die SPI-Signale den Pegel des jeweiligen Prozessors.
> Also geht nur so direkt, wenn beide Prozessoren mit gleicher Spannung
> laufen. Sonst Pegelwandlung / (digitale)Optokoppler / RS485-Transceiver.

So was ähnliches kam mir auch gerade in den Sinn :-).

von Uwe (Gast)


Lesenswert?

Hallo,

vielen Dank für die Antworten!


Würde es Sinn machen, den SPI-Bus mit Optokopplern einfach zu 
entkoppeln? Mit 6N137 oder ähnlich?

Das wäre ja kein großer Aufwand!

Beide Controller laufen auf 5V.

Uwe

von Björn P. (bjrn_g)


Lesenswert?

Wenn du Optokoppler für deine SPI-Taktfrequenz findest, "könntest" du 
das tun, jedoch wäre einfacher sich auf [Pegelwandler] zu konzentrieren.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@ Uwe (Gast)

>Würde es Sinn machen, den SPI-Bus mit Optokopplern einfach zu
>entkoppeln? Mit 6N137 oder ähnlich?

Nein.

>Das wäre ja kein großer Aufwand!

Aber reichlich sinnlos. Eine reine Angstmaßnahme von Leuten, denen 
elementare Kenntnisse der Elektrotechnik fehlen. Es gab hier schon 
"Experten", die Relais per Optokoppler ansteuern wollten (sicher ist 
sicher, OMG!)

>Beide Controller laufen auf 5V.

Womit erst recht keine Optokoppler gebraucht werden.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Falk Brunner schrieb:
> Es gab hier schon
> "Experten", die Relais per Optokoppler ansteuern wollten (sicher ist
> sicher, OMG!)

Diese Teile werden doch zu 1000en verkauft

schon mal typische Arduino Relaisplatinen gesehen ?

wobei das da noch Sinn hat, der Optokopplerstrom kann locker vom Portpin 
getrieben werden, der Relaisstrom vom Kopplertransistor. Nur am PI fehlt 
Spannung weil die eben auf 5V berechnet sind und bei 3,3V flattern 
können oder abgeschaltet mit 5V am PI Port winken.

Du bemängelst die doppelte Trennung, Relais + Optokoppler ?

bei vielen dieser Platinen ist der Aufbau so unsauber, da freut man sich 
über eine doppelte Trennung

von Falk B. (falk)


Lesenswert?

@Joachim B. (jar)

>> Es gab hier schon
>> "Experten", die Relais per Optokoppler ansteuern wollten (sicher ist
>> sicher, OMG!)

>Diese Teile werden doch zu 1000en verkauft

Freßt Scheiße, Milliarden Fliegen können nicht irren!

>schon mal typische Arduino Relaisplatinen gesehen ?

Nö.
Das hier sieht OK aus

http://www.seeedstudio.com/wiki/Relay_Shield_V2.0

> Nur am PI fehlt
>Spannung weil die eben auf 5V berechnet sind und bei 3,3V flattern
>können oder abgeschaltet mit 5V am PI Port winken.

Weil die "Künstler", die diese Boards "entworfen" haben nicht mal 1 
Schritt weiter gedacht haben. Ein auf 3,3V berechneter Vorwiderstand 
(incl. Reserve) läuft auch bei 5V.

>Du bemängelst die doppelte Trennung, Relais + Optokoppler ?

Ja.

>bei vielen dieser Platinen ist der Aufbau so unsauber, da freut man sich
>über eine doppelte Trennung

Frickelmist bleibt Frickelmist und wird duch eine doppelte Trennung 
nicht besser. Im Gegenteil, der Murks wird als scheinbar solide Lösung 
erkannt und weitergegeben!

von WehOhWeh (Gast)


Lesenswert?

Uwe schrieb:
> Hallo,
>
> vielen Dank für die Antworten!
>
>
> Würde es Sinn machen, den SPI-Bus mit Optokopplern einfach zu
> entkoppeln? Mit 6N137 oder ähnlich?
>
> Das wäre ja kein großer Aufwand!
>
> Beide Controller laufen auf 5V.
>
> Uwe

SPI ist subotimal für Optokoppler weil taktsynchron - einige 
Verzögerungen wirken doppelt. Das mach die Sache langsam.
Wenn, dann UART, weil asynchron.

Eine bessere Alternative für Optokoppler wären hier "digitale Trenner". 
Beispiele:
SPI : ADUM1301
UART: ADUM1201

Es gibt noch andere, von Silabs z.B.

Das geht sehr viel einfacher als mit Optokopplern, man spart sich fast 
immer das Timinggerechne, weil die um Größenordnungen schneller sind.

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.