Datenübertragung mit AVR (2Microcontroller per I²C Bus)

Gast #699520
Lesenswert?
• ▲
▼
Hallo,
es geht um eine Datenübertragung über zwei ungeschirmte 
Adern(Schulprojekt).

An einem Robotergreifarm sollen 12 Eingangs- und 8 Ausgangssignale 
erfasst werden.
Im Roboterarm sind 4 ungeschirmte hochflexibele Adern vorinstalliert die 
genutzt werden(2 für Spannungsversorgung).
Die Aderanzahl der Leitungen reicht nicht aus um alle Abfragesignale 
schnell genug zu übermitteln.
Vorgegebene Taktfrequenz 10ms für 12 IN und 8 OUT Signale.
Am Roboterfuß werden die Signale über Profibus an eine SPS 
weitergegeben.

Habe vor die Signale mit einem Mikrocontroller zu codieren und am 
Roboterfuß wieder zu decodieren(Two-wire-Interface(I²C-Bus)).

Ist es sinnvoll dies mit 2 Microcontrollern per I²C Bus zu realisieren?

Schonmal Danke im Voraus
#699559
Lesenswert?
• ▲
▼
Michael wrote:

> An einem Robotergreifarm sollen 12 Eingangs- und 8 Ausgangssignale
> erfasst werden.

Binäre Signale oder analoge Signale?

> Im Roboterarm sind 4 ungeschirmte hochflexibele Adern vorinstalliert die
> genutzt werden(2 für Spannungsversorgung).
> Die Aderanzahl der Leitungen reicht nicht aus um alle Abfragesignale
> schnell genug zu übermitteln.
> Vorgegebene Taktfrequenz 10ms für 12 IN und 8 OUT Signale.

Hmm, bei 20 binären Signalen muss man 20 Bit in 10 ms übertragen, macht 
200 Baud. Schnarchlangsam.
Bei 20 8-Bit Analogsignalen wären es 1600 Baud, immer noch Zeitlupe.

> Ist es sinnvoll dies mit 2 Microcontrollern per I²C Bus zu realisieren?

Kann man machen. GGf. wäre RS232 auch machbar.

MfG
Falk
Gast #699613
Lesenswert?
• ▲
▼
es werden nur Binäre Signale abgefragt!

Weiß jemand ob es für so eine bidirektionale Datenübertragung 
irgendwelche Codebeispiele für die AVRs gibt?

Ist es sinnvoll es mit einem AVR zu machen oder eignet sich ein anderer 
µC besser?

danke
Gast #699695
Lesenswert?
• ▲
▼
Falk Brunner wrote:
> Hmm, bei 20 binären Signalen muss man 20 Bit in 10 ms übertragen, macht
> 200 Baud. Schnarchlangsam.

Falk, wach auf!

20Bit in 10ms entspricht 2000 Baud

> Bei 20 8-Bit Analogsignalen wären es 1600 Baud, immer noch Zeitlupe.

Dito... nur andere Werte:

20x 8-Bit Analogsignal entspricht 16.000 Baud

Bei den Baudangaben wurde noch nicht berücksichtigt, dass noch diverse 
Bits  Bytes für das Übertragungsprotokoll  die Adressierung 
draufgehen.

Trotzdem muss ich Falk zustimmen --> schnarchlangsam  ;o)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.