ausgefallenes serielles bussystem mit ATMEGA

OP #1083478
Lesenswert?

Grüßt Euch!

Bevor ich mich mit den ATMEL controllern beschäftigt habe ich bereits 
Erfahrungen mit c-control, open controller etc.. sammeln können. Ich 
benötige ein Bussystem mit >150 Teilnehmern und >100m Leitungslänge. 
(bzw. Theoretisch). 19k2 Bd sollten hier genügen.
Ich dachte an ein serielles System. Jeder Teilnehmer sollte das Signal 
aktiv noch einmal verstärken und zum nächsten Teilnehmer weiterleiten. 
An einer Lösung mit Optokopplern hatt ich dabei gedacht.



So das war erstmal mein Gedankenansatz. Hat jemand ne gute Idee wie ich 
das Ganze umsetzen könnte? Oder teilt mir zumindest Eure Meinungen mit.

Danke.
Grundprinzip:
                                          GND|                GND|
------           ----------        ------------        ------------
|    |-Tx--------| MAX232 |-Tx-----|          |-Tx-----|          |-Tx---
| PC |           |        |        | OPTO     |        | OPTO     |
|    |-Rx--------|        |-Rx-----|          |-Rx-----|          |-Rx---
------           ----------        -----------|        -----------|
                   5V| GND|        Tx| Rx| 5V|         Tx| Rx| 5V|
                                     |   |   |           |   |   |
                                    ATMEGA              ATMEGA


Optokoppler (2fache Ausführung):

                                  -------------------
                                  |                 |
                      >-Tx--------|------   --------|---------5V
(vom vorherigen OPTO oder MAX232) |     >   <       |
                          GND-----|------   --------|---> Tx zum ATMEGA
                                  |                 | und nä.
                                  |                 | OPTO
                                  |                 |
                     >-Rx --------|------   --------|---------5V
(vom nachfolgenden OPTO)          |     >   <       |
                          GND-----|------   --------|---> Rx zum ATMEGA
                                  |                 | und vorherigen
                                  ------------------- OPTO
#1083491
Lesenswert?

Bastler From le wrote:
> Grüßt Euch!
>
> Bevor ich mich mit den ATMEL controllern beschäftigt habe ich bereits
> Erfahrungen mit c-control, open controller etc.. sammeln können. Ich
> benötige ein Bussystem mit >150 Teilnehmern und >100m Leitungslänge.
> (bzw. Theoretisch). 19k2 Bd sollten hier genügen.
> Ich dachte an ein serielles System. Jeder Teilnehmer sollte das Signal
> aktiv noch einmal verstärken und zum nächsten Teilnehmer weiterleiten.
> An einer Lösung mit Optokopplern hatt ich dabei gedacht.

Das Problem: Ein Mega ist gerade beschäftigt, ausgefallen oder hat 
keinen Strom bedeutet ein Absturz für alle, die dahinter sind.

<Update>
Streich das. Die Megas hängen ja nicht direkt in Reihe.

Nichtsdestotrotz bekommst du Probleme mit Kollisionen.
</Update>

Wegen der Verstärkung hast du auch eine Menge Stress wegen Kollisionen 
und co.

Schau dir mal RS485 (>150 Teilnehmer wird da aber schwer) oder CAN an.

Gibt auch noch einen Haufen weiterer Systeme. Das Beste: Für die meisten 
gibt es Bustreiber-Bausteine, die dann automatisch Pegelwandeln. Die 
CAN-Dinger können auch teilweise Nachrichten filtern, dass dein Mega nur 
die Interessanten bekommt und für den Rest keine CPU-Zeit verschlendert.
OP #1083506
Lesenswert?

Danke erstmal für deine Antwort.
Selbst wenn ein MEGA ausfällt oder ähnliches -> die anderen werden doch 
trotzdem mit daten versorgt. und optokoppler sind so gut wie totsicher..
hatte dein update später erst gesehen. sorry

tja.
das die teilnehmer nur nacheinander kommunizieren können ist schon 
klar.. das sollte softwaremäßig geregelt sein

Karl-heinz Strunk wrote:
> Bastler From le wrote:
>> Grüßt Euch!
>>
>> Bevor ich mich mit den ATMEL controllern beschäftigt habe ich bereits
>> Erfahrungen mit c-control, open controller etc.. sammeln können. Ich
>> benötige ein Bussystem mit >150 Teilnehmern und >100m Leitungslänge.
>> (bzw. Theoretisch). 19k2 Bd sollten hier genügen.
>> Ich dachte an ein serielles System. Jeder Teilnehmer sollte das Signal
>> aktiv noch einmal verstärken und zum nächsten Teilnehmer weiterleiten.
>> An einer Lösung mit Optokopplern hatt ich dabei gedacht.
>
> Das Problem: Ein Mega ist gerade beschäftigt, ausgefallen oder hat
> keinen Strom bedeutet ein Absturz für alle, die dahinter sind.
>
> <Update>
> Streich das. Die Megas hängen ja nicht direkt in Reihe.
>
> Nichtsdestotrotz bekommst du Probleme mit Kollisionen.
> </Update>
>
> Wegen der Verstärkung hast du auch eine Menge Stress wegen Kollisionen
> und co.
>
> Schau dir mal RS485 (>150 Teilnehmer wird da aber schwer) oder CAN an.
>
> Gibt auch noch einen Haufen weiterer Systeme. Das Beste: Für die meisten
> gibt es Bustreiber-Bausteine, die dann automatisch Pegelwandeln. Die
> CAN-Dinger können auch teilweise Nachrichten filtern, dass dein Mega nur
> die Interessanten bekommt und für den Rest keine CPU-Zeit verschlendert.
Gast #1083514
Lesenswert?

Ne, ist zu umständlich mit weiterleiten usw. Da wartest du ja ewig.

Steig auf RS485 um, da kannst du auch lange Leitungen haben, und alle 
Slaves hängen parallel an der Schnittstelle. Unterstützt dann sogar auch 
Multimaster-Betrieb.
Manche verwenden gerne CAN-Treiber anstatt der RS485-Treiber, das ist 
glaub ich deswegen, weil die CAN-Treiber open-collector sind, bin aber 
nicht sicher.

Du musst halt ein entsprechendes Protokoll mit Adressierung usw. 
implementieren. Und die Slaves müssen halt irgendwie ihre Adressen 
zugewiesen bekommen (DIP-Switch, EEPROM, etc.).

Ralf
#1083516
Lesenswert?

Bastler From le wrote:
> Danke erstmal für deine Antwort.
> Selbst wenn ein MEGA ausfällt oder ähnliches -> die anderen werden doch
> trotzdem mit daten versorgt. und optokoppler sind so gut wie totsicher..
> hatte dein update später erst gesehen. sorry
>

Dass früher oder später mal einer von denen tot ist, ist sicher. Da hast 
du Recht.

OK, ich werde mal deutlicher:

Es gibt Bussysteme, bei denen exisitieren diese Probleme nicht. Für 
diese Bussysteme gibt es auch Bausteine, die in etwa deinen Optokopplern 
entsprechen.

Wenn du gar nichts auf unsere Meinung gibst und nur deine Lösung 
bestätigt haben willst, probier sie erstmal an 10 Teilnehmern aus.

> tja.
> das die teilnehmer nur nacheinander kommunizieren können ist schon
> klar.. das sollte softwaremäßig geregelt sein

Ja, aber wenn Nummer 1 was sendet, kommt das wegen der Schaltzeiten bei 
Nr 150 wirklich später an.
Das gilt es zu beachten.
OP #1083517
Lesenswert?

Ralf wrote:
> Ne, ist zu umständlich mit weiterleiten usw. Da wartest du ja ewig.
>
> Steig auf RS485 um, da kannst du auch lange Leitungen haben, und alle
> Slaves hängen parallel an der Schnittstelle. Unterstützt dann sogar auch
> Multimaster-Betrieb.
> Manche verwenden gerne CAN-Treiber anstatt der RS485-Treiber, das ist
> glaub ich deswegen, weil die CAN-Treiber open-collector sind, bin aber
> nicht sicher.
>
> Du musst halt ein entsprechendes Protokoll mit Adressierung usw.
> implementieren. Und die Slaves müssen halt irgendwie ihre Adressen
> zugewiesen bekommen (DIP-Switch, EEPROM, etc.).
>
> Ralf


RS485 ? kann ich den die ATMEGA dazu nutzen?
#1083528
Lesenswert?

Bastler From le wrote:
> Karlsein
>>
>> Ja, aber wenn Nummer 1 was sendet, kommt das wegen der Schaltzeiten bei
>> Nr 150 wirklich später an.
>> Das gilt es zu beachten.
>
>
> hm hatte ich mir auch schon gedacht.. in bus system mit clock wo alle
> teilnehmer direkt parallel liegen würde bräucht ich quasi..


RS485. Schaus dir echt mal an. Links poste ich nicht ohne Grund.


So, ich klink mich aus. Wie schon gesagt: Wenn du beratungsresistent 
sein willst, bastel nicht sofort alle 150 Teilnehmer.


Und wirklich: Deine Probleme werden massiv sein.
OP #1083531
Lesenswert?

Karl-heinz Strunk wrote:
> Bastler From le wrote:
>> Karlsein
>>>
>>> Ja, aber wenn Nummer 1 was sendet, kommt das wegen der Schaltzeiten bei
>>> Nr 150 wirklich später an.
>>> Das gilt es zu beachten.
>>
>>
>> hm hatte ich mir auch schon gedacht.. in bus system mit clock wo alle
>> teilnehmer direkt parallel liegen würde bräucht ich quasi..
>
> Nutzt dir GAR nichts, weil deine Clock ja auch über die Optos laufen
> würde.
>
> Sonst kannst du dir die Optos sparen.
>
>
> So, ich klink mich aus. Wie schon gesagt: Wenn du beratungsresistent
> sein willst, bastel nicht sofort alle 150 Teilnehmer.
>
>
> Und wirklich: Deine Probleme werden massiv sein.

ja ich bastel erstmal mit weniger teilnehmer..
150 is ja nur ein theroretischer wert..
danke trotzdem erstmal

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