Forum: Mikrocontroller und Digitale Elektronik MPU6050 mit Beagle Bone Black


von Julian O. (julian_o_1302)


Lesenswert?

Hallo Zusammen,

Ich arbeite für mein Masterthesisprojekt mit 
Linearaktuatoren/Schrittmotoren der Firma Nanotec mit einer SMCI33 
Steuerung von Nanotec.

Ich will die Aktuatoren über einen IMU ansteuern: Wenn der Sensor eine 
gewisse Neigung bzw. Winkelgeschwindigkeit bei einer Neigung misst, dann 
sollen die Aktuatoren verkürzen.
Die SMCI33 Steuerung der Motoren verfügt über einen Analog 
Positioniermodus.
Das heißt analog zu einer ±10V Spannungsflanke die bei einem 
Analogeingang der Steuerung anliegt wird der Aktuator angefahren.

Ich plane diese SPS Sensorsteuerung mit einem MPU-6050 und einem Beagle 
Bone Black Mikrokontroller zu verwirklichen. Das Beagle Bone Black soll 
über 1²C Kommunikation die Werte des MPU-6050 auslesen und anhand derer 
die Spannungsflanke liefern.

Meine Frage ist nun ob das so funktionieren sollte wie ich mir das 
vorstelle, ob es mögliche Probleme bei der Anwendung geben könnte und ob 
jemand hier vielleicht schon etwas ähnliches gemacht hat?

Welches Betriebsystem für den Beagle Bone Black wäre am besten? (Debian, 
Ubuntu, Angstrom,...)

Vielleicht gibt es auch einen anderen Sensor/Mikrokontroller der 
geeigneter wäre bzw ähnliche Anwendungen mit vorhandener Software?

Bin für Tips und Ratschläge sehr dankbar!

Lg
Julian

von Stefan O. (stefano)


Lesenswert?

Hallo!

Wenn du sonst wirklich keine anderen Anforderungen als die oben 
genannten hast dann tust du dir mit dem BeagleBone sicher keinen 
Gefallen.

I2C einlesen, bisschen rechnen und Analogwert ausgeben - dafuer ist kein 
OS notwendig bzw. sogar eher hinderlich.

Wenn du das ganze im Linux Userland machst hast du je nach 
Implementierung irrsinnige Latenzen und (zeitlich) unvorhersehbares 
Verhalten. Alles nicht gerade prickelnd fuer eine Regelungsaufgabe.

Wuerde dir irgend ein anderes Board nahelegen. STM32 Discovery, Arduino, 
etc... irgendwas in dieser Groessenordnung.

LG Stefan

PS: Habe schon mit dem Beaglebone gearbeitet und auch fuer I2C 
Peripherie Kernel Treiber geschrieben. Die MPU-6050 hab ich auch schon 
mal verwendet.

von Julian O. (julian_o_1302)


Lesenswert?

Hallo Stafan

Erstmal vielen Dank für deine Antwort!

Ich würde ansich gerne mit Arduino arbeiten, da ich da schon mal ein 
Projekt damit gemacht habe und mir die Etwicklungsumgebung bekannt 
ist...

Also meine Anforderungen sind in der Tat recht gering.
Ich will die Neigungs & Winkelgeschwindigkeitswerte des MPU-6050 
auslesen(speziell Pitch Winke). Hast du da schon Erfahrung mit dem DMP 
am Chip? Angeblich macht der Sensor die SensorFusion ja gleich auf dem 
eingebauten DMP Chip, was mir natürlich recht wäre wenn der Sensor 
gleich kalibrierte Werte ausgibt und ich mich nicht mehr mit SesorFusion 
herumplagen muss. Also funktioniert das grundsätzlich gut mit der 
Firmware(MotionApps) von Invensense und dem DMP? Angeblich kann man 
diese Firmware grundsätzlich auch auf dem MCU ausführen...

Anhand der Sensorwerte soll der Mikrocontroller ja eine analoge 
Spannungsflanke ausgeben. Da das Arduino ja mit 5V Spannungsversorgt 
wird könnte es mir maximal 5V auf einen Analogausgang bringen richtig? 
Also einen Spannungsbereich von 0-5V?!

Eine Anforderun hab ich noch vergessen: Der Mikrocontroller soll auch 
als Datalogger dienen und die Sensorwerte für spätere Analyse speichern. 
Welches Arduino Board wäre hier geeignet, denn das Arduino Uno hat ja 
keinen SD-Karten Slot?!

Danke für die Hilfe!
Lg
Julian

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.