Forum: Mikrocontroller und Digitale Elektronik Optokoppler Schaltung für UART Schnittstelle


von Gernot L. (jobe_graz)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bräuchte mal kurz Hilfe von Elektronik Experten. Zur 
Ausgangssituation - ich habe ein BMS für einen LiFeYPO4 Akku erworben, 
welches über eine UART Schnittstelle verfügt (nebst Handy App über 
Bluetooth). Die Schnittstelle würde ich gerne nutzen, um die Daten des 
BMS auszulesen (Protokoll habe ich vom Hersteller erhalten).
Vom Hersteller habe ich die Info bekommen, dass die Schnittstelle über 
einen Optokoppler laufen muss und das angehängte Diagramm dazu bekommen. 
Nachdem die Antworten vom Hersteller immer so 2 Wochen auf sich warten 
lassen, dachte ich, ich frag mal hier nach.

Die Schaltung, die von meiner Seite aufgebaut werden muss, ist der Teil 
rechts nach Pin A / Pin B.

Meine Fragen:
1. Welchen Optokoppler sollte man dafür nehmen?
2. Der Widerstand zu VCC sollte um die 4K sein, oder? Irgendwie ist der 
4er seitenverkehrt
3. VCC - muss welchen Wert haben?
4. Was ist ein Widerstand 100E? Ein Leistungwiderstand mit 100 Ohm? Mir 
ist die Bezeichnung 100E bis heute noch nicht untergekommen.

Danke für eure Hilfe,
   Gernot

: Bearbeitet durch User
von fop (Gast)


Lesenswert?

1. Je nach Baudrate, die Dinger sind meist nicht sonderlich schnell. Ich 
würde es vermutlich mit einem HCPL0601 probieren - vor allem weil die 
hier noch rumliegen. Wobei dadurch die Schaltung ein wenig ergänzt 
werden muss.
2. Ne, das hat Eagle einen Anfasser in Form eines + an den Text gemalt. 
Da steht 1 k  also 1000 Ohm.
3. Das was Du brauchst. 5 V oder 3,3 V sind gebräuchlich. Eventuell 
musst Du den 1k Widerstand anpassen. (Bei 5V machem dem HCPL0601 so 390 
Ohm Beine, damit die steigenden Flanken nicht ewig brauchen)
4. Ja, da sind 100 Ohm gemeint. Vermutlich fliessen da aber nur so 10 
bis 20 mA, so dass wegen der 40 mW kein Leistungswiderstand benötigt 
wird.

von Feurio (Gast)


Lesenswert?

Gernot schrieb:

>ich habe ein BMS für einen LiFeYPO4 Akku erworben

BMS? Ein Brandmeldesystem? Hoffentlich muß es nicht auslösen...

von Wolfgang (Gast)


Lesenswert?

Gernot L. schrieb:
> Der Widerstand zu VCC sollte um die 4K sein, oder?

Wie kommst du auf den Wert? Im Schaltplan steht 1kΩ, wobei der Wert sehr 
niedrig erscheint. Für die 100Ω gilt das gleiche. Du willst doch keine 
Festbeleuchtung damit betreiben. Welche Spannung kommt vom BMS zwischen 
PinA und PinB?

> 3. VCC - muss welchen Wert haben?
Den von deiner Schaltung, die das Signal verarbeiten soll.

von Karl B. (gustav)


Lesenswert?

Gernot L. schrieb:
> (Protokoll habe ich vom Hersteller erhalten).
> Vom Hersteller habe ich die Info bekommen, dass die Schnittstelle über
> einen Optokoppler laufen muss und das angehängte Diagramm dazu bekommen.

Hi,
die Schaltung invertiert. Stimmt das mit den Erfordernissen überein?

ciao
gustav

von Gernot L. (jobe_graz)


Lesenswert?

fop schrieb:
> 1. Je nach Baudrate, die Dinger sind meist nicht sonderlich schnell.

Ok also die Baudrate wäre 9600 Baud.


> 2. Ne, das hat Eagle einen Anfasser in Form eines + an den Text gemalt.

Ahhh - alles klar Danke.

> Da steht 1 k  also 1000 Ohm.
> 3. Das was Du brauchst. 5 V oder 3,3 V sind gebräuchlich. Eventuell
> musst Du den 1k Widerstand anpassen. (Bei 5V machem dem HCPL0601 so 390
> Ohm Beine, damit die steigenden Flanken nicht ewig brauchen)

Also meine Schaltung wäre nur eine einfache serielle Schnittstelle (RS 
232), die von einem PC gelesen werden soll. D.h. Theoretisch könnte ich 
da auch 12 V VCC nehmen, weil die da gleich verfügbar wären. Würde das 
praktisch auch funktionieren?


> 4. Ja, da sind 100 Ohm gemeint. Vermutlich fliessen da aber nur so 10
> bis 20 mA, so dass wegen der 40 mW kein Leistungswiderstand benötigt
> wird.

Vielen Dank für die Tipps.

Gernot

von Gernot L. (jobe_graz)


Lesenswert?

Wolfgang schrieb:
> Gernot L. schrieb:
>> Der Widerstand zu VCC sollte um die 4K sein, oder?
>
> Wie kommst du auf den Wert? Im Schaltplan steht 1kΩ, wobei der Wert sehr
> niedrig erscheint. Für die 100Ω gilt das gleiche. Du willst doch keine
> Festbeleuchtung damit betreiben. Welche Spannung kommt vom BMS zwischen
> PinA und PinB?

Da sollten Signale mit 3V kommen

>
>> 3. VCC - muss welchen Wert haben?
> Den von deiner Schaltung, die das Signal verarbeiten soll.

Siehe vorher

von Gernot L. (jobe_graz)


Lesenswert?

Karl B. schrieb:
> Gernot L. schrieb:
>> (Protokoll habe ich vom Hersteller erhalten).
>> Vom Hersteller habe ich die Info bekommen, dass die Schnittstelle über
>> einen Optokoppler laufen muss und das angehängte Diagramm dazu bekommen.
>
> Hi,
> die Schaltung invertiert. Stimmt das mit den Erfordernissen überein?
>

Ich nehme an - Ja, weil die Schaltung würde genau so vom Hersteller 
übermittelt.

von Gernot L. (jobe_graz)


Lesenswert?

Feurio schrieb:
> Gernot schrieb:
>
>>ich habe ein BMS für einen LiFeYPO4 Akku erworben
>
> BMS? Ein Brandmeldesystem?

Nein ein Batterie Management System

von Wolfgang (Gast)


Lesenswert?

Gernot L. schrieb:
> Also meine Schaltung wäre nur eine einfache serielle Schnittstelle (RS
> 232), die von einem PC gelesen werden soll.

Eine RS232-Schnittstelle verwendet für logisch 1 eine negative Spannung 
(-3..-15V) und für logisch 0 eine positive (+3..15V). Wo soll bei der 
Optokoppler-Schaltung die negative Spannung herkommen?

von Schlaubi Schlumpf (Gast)


Lesenswert?

> Wo soll bei der Optokoppler-Schaltung die negative Spannung herkommen?

War es nun DTR oder DTS?

von H.Joachim S. (crazyhorse)


Lesenswert?

Die negative Spannung ist nicht das Problem, die liefern dir TxD, DTR 
und auch RTS auch im Ruhezustand.
Wenn man das komplett über die RS232 versorgen will, braucht man Zugriff 
auf die Schnittstelle. Bei einem eigenen Programm kein Problem, setzt 
man eben DTR oder RTS und hat damit seine +10 oder 12V.

Der Emitter vom Optokoppler kommt also z.B. an RTS, die +Vcc an DTR. Und 
wenn die Software dann das DTR-Signal setzt, funktioniert alles 
wunderbar ohne weitere ext. Versorgung.
Noch einfacher wirds, wenn du statt der "echten" seriellen Schnittstelle 
(wo gibts die noch?) einen USB/RS232-Adapter nimmst. Da kannman i.a. 
schon mal den Ruhepegel der Steuerleitungen festlegen.

Oder noch einfacher: dann gleich einen USB/TTL-RS232-Adapter benutzen. 
Damit gehst du allen Pegel/Versorgungsproblemen aus dem Weg. 
Optokopplerschaltung muss dann aber auf nichtinvertierend angepasst 
werden.

edit: es geht auch nur mit der TxD-Leitung als Versorgung, 2x 
1N4148-Dioden und 2 Kondensatoren, wenn die Tx-Leitung Dauerfeuer 
schiesst.

: Bearbeitet durch User
von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

H.Joachim S. schrieb:
> "echten" seriellen Schnittstelle
> (wo gibts die noch?)

Hi,
bei mir (oldschool.)
Läuft nicht nur unter XP, sondern auch auf anderen "höheren" (Win) OS.
(Gerade dafür sogar ein Update bereitgestellt worden.)

ciao
gustav

von H.Joachim S. (crazyhorse)


Angehängte Dateien:

Lesenswert?

Ich habe auch noch eine :-), direkt auf dem Motherboard.
Die PCI-Karte mit 2xRS232 funktioniert seit Win10 nicht mehr, habe mich 
aber auch nicht weiter drum gekümmert. Eine "echte" reicht.

von Geb (Gast)


Angehängte Dateien:

Lesenswert?

Ich hab' so gemacht. Geht auch mit 115kBaud .

Grüsse

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.