Forum: Analoge Elektronik und Schaltungstechnik AVR, Optokoppler und Bus gesucht


von zuio (Gast)


Lesenswert?

Ich möchte Daten von mehreren (5) AVR zu einem AVR weiterübertragen, der 
diese dann verarbeiten soll. Das Ganze soll galvanisch getrennt sein.

Frage: Welche Optokoppler eignen sich, die Versorgung schwankt zwischen 
1,8 und 3,4V?
Die Verbindung geht ja nur in eine Richtung, das könnte ein Problem 
sein. Was für ein Protokoll eignet sich dafür?

Es handelt sich um eine private Bastelei und ich brauche, glaube ich, 
einen freundlichen Tritt in die Seite um in die richtige Richtung zu 
gehen..

von Stefan F. (Gast)


Lesenswert?

> Welche Optokoppler eignen sich

Jeder, würde ich sagen.

> Die Verbindung geht ja nur in eine Richtung, das könnte ein
> Problem sein.

Wieso? Zumindest vereinfacht es die Schaltung.

> Was für ein Protokoll eignet sich dafür?

Tja, wenn die Kommunikation nur unidirektional ist udn sich alle fünf 
Geräte eine Leitung teilen sollen, dann müssen die sich irgendwie 
untereinander abstimmen, wer wann senden darf. Zum Beispiel mit Hilfe 
einer Uhr. Für jeden legst Du bestimmte Zeitfenster fest, in denen sie 
senden dürfen.

Wenn Du jedoch 5 einzelne Leitungen hast, die am Ende nicht zusammen 
laufen, wird es Softwaretechnisch viel einfacher. Dann dürfen 
prinzipiell alle Sender gleichzeitig senden. In diesem wäre 
Empfängerseitig ein Controller mit mehreren seriellen Ports (wie Xmega) 
hilfreich. Notfalls wäre Soft-Seriell eine Alternative, google mal 
danach.

von zuio (Gast)


Lesenswert?

Stefan us schrieb:
> Jeder, würde ich sagen.

Wie dimensioniere ich sowas? Den Vorwiderstand bei max. Spannung auf 
max. Strom (absolut max. ratings) auslegen und hoffen daß es bei min. 
Spannung noch reicht?

Stefan us schrieb:
> Zum Beispiel mit Hilfe
> einer Uhr. Für jeden legst Du bestimmte Zeitfenster fest, in denen sie
> senden dürfen.

Klingt interessant.
Xmega möchte ich eher nicht. Das softserial werde ich mir mal anschauen.

von Stefan F. (Gast)


Lesenswert?

> Wie dimensioniere ich sowas?

Auch das hatten wir gerade erst durchgekaut: 
Beitrag "Schaltung für Optokoppler 4N28 (24V auf 5V)"

Das mit der Uhr war eher dazu gedacht, dich abzuschrecken. Die Uhren 
müssten ja genau gleich laufen, wie willst Du das sicherstellen?

Einfach wäre, wenn der Master reihum die 5 Sender auffordert, zu senden. 
Aber das wäre ja nicht mehr unidirektional.

von Oldie (Gast)


Lesenswert?

Punkt 1

> die Versorgung schwankt zwischen 1,8 und 3,4V

Damit hast du ein RICHTIGES Problem, da Optokoppler nun mal
ca. 1,5 Volt brauchen, aber einen relativ stabilen ON-Strom.
Wie willst du den stromsparend und preiswert bei 1,8...3,4 V
(es soll wohl Batteriespeisung sein) gewährleisten?

Das Protokoll ist dagegen Schnulli-Kram...

Wenn die durchschnittliche Sendedauer deutlich kleiner, als 1/20,
der Zeit ist, in der du unbedingt von allen Gebern was empfangen
haben willst, dann lass die jeweils zufällig (!) im Zeitraster von
vielleicht 15 * Sendedauer was senden.
Die Absender müssen sich nur eindeutig identifizieren und eine
Prüfsumme ranhängen, die auch überprüft wird.

Dann klappt das schon.

von Stefan F. (Gast)


Lesenswert?

Der CNY-17 hat bei 1mA 1,2 Volt. Mit weniger Strom würde ich es nur im 
Notfall versuchen. Für 1mA nimmt man dann einen 56 Ohm Vorwiderstand.

(3,4V - 1,2V) / 56 Ohm = 39mA

Ist viel mehr, für den Optokoppler ok und für den Mikrocontroller 
grenzwertig. Ich schätze, dass der Mikrocontroller bei 3,4V den Strom 
sogar auf etwas weniger begrenzen wird.

Einen Versuch ist es Wert. Könnte klappen.

von Route_66 H. (route_66)


Lesenswert?

Hallo!
Als Topologie bietet sich ggf. eine Stromschleife an. So könnte jeder 
Teilnehmer mit Hilfe zweier OK seine eigene Aussendung mithören. 
Kollisionen werden sofort erkannt. Später kann dann auch ein 
bidirektionales Protokoll gefahren werden.

von stefan us (Gast)


Lesenswert?

Und wenn man keine Idee hat, wie man Kollisionen erkennt und korrigiert, 
könnte man beim Ethernet Protokoll abgucken.

von stefan us (Gast)


Lesenswert?

Oder bei CAN.

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.