Schnittstelle zweier Steuerungen

Hallo zusammen,

ich habe mal eine Frage bezüglich "Schnittstelle Messeinheit und Maschine"

ich bin sehr neu in dem Gebiet und habe sehr wenig Fachwissen.

Stellt euch vor ich habe ein Durchmesser-Messgerät. Wird ein Eigenbau sein. Die Steuerung will ich mit dem sog. Arduino Micro Board, mit eingebautem ATmega32u4 Mikrocontroller, realisieren.

Nach dem der Kunststoffdraht die Messeinheit durchlaufen hat gelangt es in die Abzugsanlage. Dort sind zwei Kunststoffrollen, die das Material kontunierlich aus dem Extruder abziehen.

Die Abzugsanlage wird selbst konstruiert. Steht auch schon bereit. Für die Steuerung der Abzugsanlage habe ich mir für ein Atmel Atmega32 Mikrocontroller entschieden. Dies wird mit dem Programmiersoftware AVR Studio 4 codiert.

Jetzt zu der Eigentlichen Sache.
Weist der Messgerät eine Abweichung des Durchmessers auf, soll es ein Signal an die Abzugsanlage senden, damit es seine Geschwindigkeit erhöht oder verkleinert.

Ich weiss nicht, wie ich die Schnittstelle der beiden Anlagen realisieren kann. Und ist eine dritte Steuereinheit notwendig?

Ich wäre für jede Hilfe sehr dankbar.

Zerreiße seit Tagen mein Kopf damit, komme echt nicht weiter.

mfG Niko

Als Schnittstelle zwischen den Arduino könntest du z.B. I2C verwenden.
Das ist ein Bus-System und du könntest evtl. noch mehr Komponenten daran anschließen.
Du müsstest nur darauf auchten, dass die Länge der Verbindung nicht zu groß wird, sonst brauchst du noch zusätzliche Busextender.

Die von Dir gewählten µCs haben I2C eingebaut. Diese Schnittstelle eignet sich gut für kurze Entfernungen. Wie weit sind sie voneinander entfernt?

OK, nur Zweiter ...

agmue:
Die von Dir gewählten µCs haben I2C eingebaut. Diese Schnittstelle eignet sich gut für kurze Entfernungen. Wie weit sind sie voneinander entfernt?

OK, nur Zweiter ...

Unter einem Meter. Ca. 70 cm

Niko91:
Unter einem Meter. Ca. 70 cm

Dann funktioniert es auch ohne Extender.
Pullups am I2C nicht vergessen.

Niko91:
Unter einem Meter. Ca. 70 cm

Mit Abschirmung und ggf. etwas kleineren PullUp-Widerständen (4,7 bis 2 kOhm) sollte das gehen. Probieren geht über Studieren, hängt natürlich von der elektromagnetischen "Verseuchung" ab.

Die Bibliothek Wire.h erledigt den schwierigen Teil, der Rest ist "einfach".

Sollte der Slave beim Master eine Aktion auslösen wollen, bei Deinem Projekt eher nicht, solltest Du eine Interrupt- oder Meldeleitung vorsehen. Kann nicht schaden.

Los geht's :slight_smile:

generelle Frage: warum ein Teil wird ein Teil des Projekts mit der Arduino IDE programmiert und der andere mit dem AVR Studio? Im Sinne der Wartbarkeit sollte man sich für eine Umgebung entscheiden.

Ist da die einfache TTL serielle Schnittstelle nicht einfacher?

uwefed:
Ist da die einfache TTL serielle Schnittstelle nicht einfacher?

Das würde ich so nicht unterschreiben.
Zumindest nicht am Atmega328. Da besteht das Problem, das die auf den Pins D0 und D1 liegt und damit andere Probleme aufwerfen kann. Und für beide Schnittstellen benötigt man einen Sketch der nicht trivial ist.

Der Vorteil von I2C ist das es ein Bus-System ist und man kann weitere Komponenten ansteuern.
Letztendlich gibt es für beide Schnittstellen ausführliche Dokumentationen und Demo-Sketche im Web.