AVR Controller über I2C verbinden


In Zukunft sollen bei unseren Bots die Intelligenz verteilt werden. Dies heißt, es werden Funktionalität auf andere Controller ausgelagert. Um das einfach zu Beschreiben sei hier der Greifer als Beispiel zu nehmen.

Der Greifer mit seinen drei Servomotoren und der Sensorik des Greifers wird nicht über das RNControl-Board gesteuert sondern über einen eigenen AVR-ATMega8 Controller. Dieser Controller steuert alle Servos und kann auch die Sensorik steuern. Über einen einfachen Befehlssatz können an den Slave-Controller Steuerkommandos gesendet werden.

Das RN-Control und der ATMega8 werden über eine Zweidrahtschnittstelle (I2C – sprich I quadrat C) verbunden. Das RN-Control ist der Master, der ATMega8 der Slave.

Das nachfolgende Vido zeigt zwei unserer RN-Controlboards. Das linke Board ist der Master, das rechte Board ist das Slave-Board. Der Master kann über die Tasten die Geschwindigkeit bzw. das Lauflichtmuster einstellen und übertragt an den Slave das LED-Muster. Der Slave führt den Befehl direkt aus und zeigt das Muster an.

Der geringe Zeitverzug liegt daran, dass ich beim Slave sehr viele RS232 Debug output verwendet habe, sobald ich das ausbaue, sieht man kaum noch Latenzzeiten.

  1. Hinterlasse einen Kommentar

Hinterlasse einen Kommentar