Hi, da nun bald Semesterferien ins Haus stehen wollte ich die Zeit sinnvoll nutzen und meine Mathematik/etc Kenntnisse etwas vertiefen und eine IMU bauen, die aus einem Drucksensor BMP180, einem Beschleunigungssensor BMA180, einem 3 Achsen Magnetometer HMC5883L und einem noch nicht genauer bestimmten Gyroskop (vllt ein ITG3200) besteht. Diese sollen alle per I2C an einen Mikrocontoller angebunden werden, und dieser soll dann möglichst exakt die Lage im Raum berechnen. Ich habe schon diverse Projekte mit AVRs realisiert, aber hierfür ist ein AVR denke ich gnadenlos unterdimensioniert. Habt ihr Ideen welche Mikrocontroller dafür interessant wären? Ich habe mich über verschiedene Informiert und bin dabei auf die MSP430 Reihe gestoßen, aber ich glaub diese haben auch zu wenig Leistung, daher tendiere ich im Moment zu einem ARM, da dieser bestimmt auch eine größere Praxisrelevanz im Beruf hat. Welche Derivate könnt ihr mir da empfehlen in Hinsicht der Einarbeitungszeit, kosten für Programmer und Leistungsfähigkeit empfehlen? Die STM32 sehen sehr interessant aus, aber gibt es dazu auch praktische Beispiele, z.B. die Grundbeschaltung oder wie man die Hardware initialisiert, etc (ähnlich dem AVR Tutorial hier im Wiki) Viele Grüße ;)
Hallo josef, schau mal unter "openpilot", da gips sowas schon. Ansonsten denke ich wäre ein ARM Cortex M (STM, NXP, ...) oder DSP (TI, AD, ...) schon die Größenordnung. Aber je nachdem was DU machen willst (nur einfach auslesen wenige Berechnungen/s) geht's sicher auch kleiner. Wenn du realtime mit >100Berechnungen irgendwelche floating-vektorberechnungen machen willst ... Frage: Was willst Du genau? Grüße
Also funktionierende IMUs mit AVRs gibt's zuhauf. Ardupilot z.B. Aber Du hast natürlich recht, viel Luft nach oben ist da nicht. Ich würd 'nen stm32 nehmen, der scheint in der UAV-Gemeinde momentan auf dem Vormarsch zu sein und die AVRs zu verdrängen. Ich bastel momentan an einem Olimexino mit stm32 und nem 9DOF-Stick von Sparkfun (ADXL345,ITG-3200,HMC5843), BMP085 für den Luftdruck, MPXV7002DP für den Staudruck, SRF05 Ultraschall Entfernungsmesser für die Landung, EM-406a SiRF StarIII GPS Gruß Heiko
Also ich verwende einen Atxmega für meinen Quadcopter. Der macht neben der Steuerung/Regelung eben auch parallel die Lageberechnungen aus Gyro, Beschleunigungssensor, Magnetometer und Barometer (100 mal pro Sekunde momentan, per Komplementärfilter). Alles über I²C. Dafür würde sogar der Atxmega16D4 reichen, welcher für ~1,4€ zu haben ist. Bisher rechne ich sogar noch in float und habe immernoch einiges an Rechenzeit übrig. Solange ich da noch keine Engpässe habe stelle ich das auch nicht auf Festkomma um. Solange du nicht den rechenintensiven Kalman-Filter implementieren willst, reicht ein Atxmega mit 32 MHz dicke aus. Ansonsten würde ich auch einen ARM mit FPU nehmen und > 70 MHz.
Timmo H. schrieb: > Ansonsten würde ich auch einen ARM mit FPU nehmen und > 70 MHz. Wäre der neue STM32F4 da keine Option ?!? Der hätte ne FPU und 168 MHz. Also genug Luft nach oben.
Timmo H. schrieb: > Solange du nicht den rechenintensiven Kalman-Filter implementieren > willst, reicht ein Atxmega mit 32 MHz dicke aus. Ich muss mich korrigieren. Ich habe jetzt den Kalman-Filter implementiert für die Lageberechnung, und der braucht etwa 1ms auf dem xMega. Das I2C-Ausgelese braucht mehr Zeit :D
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.