Hey, für ein Projekt haben wir vor eine Einheit zu bauen, die die Neigung eines Schiffes (roll pitch yaw) messen kann. Zunächst hatten wir vor dieses mit einen einfachen Beschleunigungssensor zu realisieren. Wie wir hier im Forum allerdings nachlesen konnten, ist dieses nur möglich, wenn der Beschleunigungssensor selbst nicht beschleunigt wird, sodass für die Neigungsberechnung zusätzlich ein Gyroskop verwendet werden muss. Das Schiff wird dabei eine relativ langsame Geschwindigkeit (4 Knoten) aufweisen, die Wellenhöhe wird nicht mehr als 2 m betragen. Zunächst hatten wir vor das Ganze mit einem Raspberry Pi 2 zu bauen, bei dem die Datenübertragung direkt über WLAN stattfindet. Allerdings findet man im Internet hauptsächlich Tutorials bei denen Arduinos verwendet werden. Welche Vorteile haben diese im Vergleich zum Raspberry Pi? Könnt ihr uns weiterhin bestimmte Sensoren empfehlen? Wir haben bei Amazon das Modul MPU6050 gefunden, das sowohl ein Gyro- als auch Beschleunigungssensor enthält. Der Sensor ist dabei nur ein kleiner Teil unseres Projekts und könnte notfalls erstmal auch weggelassen werden, da das Schiff sehr genaue Daten liefert und unser Sensor zunächst nur als Vergleich dienen soll. Nun stellt sich uns die Frage, ob das Ganze in einen relativ kurzen Zeitraum (3 bis 4 Wochen) realistisch ist, zumal wir keinen technischen Studiengang studieren? Danke im Voraus Gini
Gina C. schrieb: > Zunächst hatten wir vor das Ganze mit einem Raspberry Pi 2 zu bauen, bei > dem die Datenübertragung direkt über WLAN stattfindet. Allerdings findet > man im Internet hauptsächlich Tutorials bei denen Arduinos verwendet > werden. Welche Vorteile haben diese im Vergleich zum Raspberry Pi? Datenblätter lesen und im Anschluss daran eine Vergleichstabelle ist wohl zu viel gefordert? Aber kurz: Das wird in 3-4 Wochen, ohne jegliche technische Grundlagen, nicht realisierbar sein.
Ich wuerde dafuer einen 3 Achsen Winkelbeschleunigungssensor und einen 3 Achsen linear Beschleunigungssensor verwenden und miteinander verrechnen. Ein Arduino mit einem 8 Bit Prozessor sollte genuegen.
Gina C. schrieb: > realistisch Eher optimistisch. Eine Beschleunigung und eine statische Schräglage sind 2 verschieden Schuhe. > Datenübertragung direkt über WLAN stattfindet Entfernung? Abschirmung? Störungen?
Falls nur um das Ergebnis geht ist euch vielleicht hiermit geholfen https://play.google.com/store/apps/details?id=de.lorenz_fenster.sensorstreamgps&hl=de
Hallo gini, die MPU6050 ist dafür sehr gut geeignet und wird vielfach im Bereich Quadrokopter etc. eingesetzt. Das Teil gibt es bereits fertig montiert mit ATmega328 Prozessor (z-B. Multiwii board) für ca. 20€. Jede Menge Software dafür ist verfügbar. Wollt Ihr eigentlich was fertiges oder was zum selbst bauen? pit
Sofern es "nur" um die reine Funktion geht sich irgendwelche Werte ausgeben zu lassen und der Rest keine Rolle spielt, kann man mit Beispielen sicherlich in kurzer Zeit etwas zusammen stecken. Ob eure Technischen Fähigkeiten dann ausreichen um Fehler zu erkennen und etwas mit den Daten anzufangen ist wieder eine andere Sache. Ich würde in jedem Fall dann auch zu einem Arduino raten, weil der Raspberry das ganze eher komplizierter macht bzw. einen mit viel mehr drum rum erschlägt. Grundsätzlich sind Arduinos wirkliche Mikrocontroller die in Echtzeit arbeiten und komplexe Zeitkritische Abläufe abwickeln können. Ein Raspberry ist ein Computer der auf dieser Ebene schwieriger klar kommt und eher mit fertigen Modulen Kommunizieren kann. Das wäre bei euch zwar der Fall aber wenn es kein WLAN sein muss ist ein Arduino der einfachere Weg. Auf jeden Fall sollte einer von euch in irgendeiner Form Programmiererfahrung haben um zumindest die Zusammenhänge zu verstehen.
Gina C. schrieb: > Zunächst hatten wir vor das Ganze mit einem Raspberry Pi 2 zu bauen, bei > dem die Datenübertragung direkt über WLAN stattfindet. Allerdings findet > man im Internet hauptsächlich Tutorials bei denen Arduinos verwendet > werden. Welche Vorteile haben diese im Vergleich zum Raspberry Pi? Im Arduino ist ein schnuckeliger kleiner uC ohne Betriebssystem eingebaut. Damit kann man schnell und deterministisch Daten abholen und auswerten. Mman muss ihn natürlich auch für solche Echtzeit programmieren (können). Als Beispiel: ein delay() ist nur Rechenzeitverschwendung und hat in so einem Programm nichts zu suchen. Der RPi hat ein mächtiges Linux mit allen Vor- und Nachteilen. In der embedded-Umgebung ist so ein Rechenbolide eher das Frontend für das User-Interface und die Connectivity. Wegen des aufwändigen Multitasking-OS hat ein delay() hier die Auswirkung, dass der Prozessor solange irgendwas anderes macht. Und hoffentlich rechtzeitig damit fertig wird...
@Gina Ruf bei Measurment Specialties in Dortmund an. Die bieten solche Sensoren als fertiges Produkt mit gewünschter Schnittstelle an. Bei nur 3-4 Wochen ist das die sicherste Variante. Dazu dann einen Mikrocontroller nach Wahl und WLAN Modul. Fertig.
Lothar M. schrieb: > Der RPi hat ein mächtiges Linux mit allen Vor- und Nachteilen. ... und dafür braucht und hat er die vielfache Rechenleistung eines ATMega. Allerdings ist auch die Leistungsaufnahme dementsprechend höher und ist meist nicht als nebensächlich abzuhaken. Rechne mal mit 5W. Das ist zwar viel weniger als ein PC verschlingt, aber selbst eine Autobatterie wird damit in ein paar Tagen leer.
Hi, einer schrieb: > Falls nur um das Ergebnis geht... In einem Android ist das alles drin was Du brauchst, inkl Wlan. Wenn Ihr ein Problem habt eine passende App zu schreiben, such mal nach RFO Basic, das ist super simpel. Der Stromverbrauch ist natürlich auch nicht ohne. Gruß, Norbert
Hey, vielen Dank für die vielen sehr hilfreichen Antworten! Da im Projekt eher der Weg zu dem Ergebnis als das Ergebnis selbst zählt, wäre die Lösung mit Android bzw. einer bereits fertig montierten Einheit nur im Notfall eine Option. Wir würden also schon gerne versuchen das Ganze selbst zu bauen. Dafür werden wir nun den Arduino sowie den MPU6050 verwenden. Die Datenübertragung über WLAN ist nicht unbedingt notwendig, sodass wir den Arduino einfach an einen PC verbinden werden. Später wäre es eventuell denkbar, die Daten direkt auf einer SD Karte zu speichern. Da wir dann allerdings die Uhrzeit benötigen, müssten wir noch ein RTC Modul einbauen. Ich denke mal das würde den Zeitrahmen des Projekts übersteigen.
Hy Warum mittels Beschleunigungssensor? Mit einem Inclinometer lässt sich das doch einfacher bewerkstelligen. Gruß Horsti
Gina C. schrieb: > Da wir dann allerdings die Uhrzeit benötigen, müssten wir > noch ein RTC Modul einbauen. So schlimm ist das nun auch wieder nicht. Die "dicken" Betriebssysteme haben eine Uhr eingebaut, die vom Quarz des Prozessors gesteuert wird, und die du nur abzurufen brauchst. Wenn du WLAN benutzt, wirst du auch die Zeit aus dem Internet beziehen können, und sonst steht evtl. GPS mit seiner überaus genauen Zeit zur Verfügung.
Gina C. schrieb: > Das > Schiff wird dabei eine relativ langsame Geschwindigkeit (4 Knoten) > aufweisen, die Wellenhöhe wird nicht mehr als 2 m betragen. Die Frage ist doch inwieweit die kleinen Beschleunigungen eines Schiffs wirklich die Messwerte des 3 Achsen-Beschleunigungssensors verfälschen. Ein Schiff hat zunächst mal relativ kleine Beschleunigungen, am ehesten würde ein Versatz bei starkem Wellenschlag das Ergebnis verfälschen. Ihr könnt ja im ersten Schritt erst mal nur aus den Werten des Beschleunigungssensors eure Schräglagen berechnen und dann im zweiten Schritt schauen inwieweit sich das ändert wenn ihr die Gyrowerte dazurechnet. Zum Verrechnen sucht mal nach Kalman Filter
Lothar M. schrieb: > Als Beispiel: ein delay() ist nur > Rechenzeitverschwendung und hat in so einem Programm nichts zu suchen. Solche pauschalen Verallgemeinerungen sind eines Programmierers nicht würdig. Es kann für alles gute Gründe geben. Auch für ein delay() oder noch provokanter: goto. Irgendwas macht die CPU immer. Ob sie nun in einer main-Loop im Kreis läuft oder an einer anderen Stelle spielt überhaupt keine Rolle. Alles ist nur von der konkreten Anwendung abhängig und nicht von irgendwelche Lehrbuchmeinungen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.