Wednesday, February 18, 2015

Mach Ma # define MPU6050 // combo + ACC #define FORCE_ACC_ORIENTATION (X, Y, Z) {accADC [ROLL] = -X


Ryan had a vague idea of soldiers, went to get IMU device triaxial accelerometer and gyroscope like to do some speed-related applications. Do not understand anything, will pick MPU-6050 is purely friends with this one Comparison little peace of mind. This article is mainly soldiers of google Ryan notes and experimental experience finishing yourself to write something not many. [References] found a lot of links back and forth, after reading experience feel sympathy and outline the following: (1) Accelerometer & Gyro Tutorial * This is a detailed explanation of the principles and formulas triaxial accelerometers and gyroscopes derivation, reading (2) Bear laboratory: the use of Arduino + MPU6050 inertial apache campground myrtle beach sc detector control Servo * introductory article, this quick start to the novice just good (3) Arduino Sensors * introductory article, you can read (4) MPU-6050:.. DMP Data from i2cdevlib * introductory apache campground myrtle beach sc article, the content is very rich, will Reading. * There offer Arduino / Processing (The Teapot Demo) demonstration apache campground myrtle beach sc program. (5) Gyroscopes and Accelerometers on a Chip * and * the article with the author on an article talking about how to get the value of the gyroscope to calculate the rotation angle, the content is very rich reading. * There are provided Arduino / Processing (ShowGY521Data) demonstration program. (6) MPU-6050 / w DMP accelerometer demo * have provided Arduino / Processing (mpuAccelerometerDemo) demonstration program. (7) Guide to gyro and accelerometer with Arduino including Kalman filtering * introductory article, the content is very rich. (8) Arduino Sketch to automatically calculate apache campground myrtle beach sc MPU6050 offsets apache campground myrtle beach sc * Based I2Cdevlib the calibration apache campground myrtle beach sc program has provided Arduino (MPU6050_calibration) demonstration program. (9) Understanding raw values of accelerometer and gyrometer * . I2Cdevlib supplement (10) Reading a IMU Without Kalman: The Complementary Filter * Complementary Filter real for demonstration (11) Simple Kalman Filter * Kalman Filter as a real demonstration (12) A practical approach to Kalman filter and how.. . to implement it (13) TKJElectronics / Example-Sketch-for-IMU-including-Kalman-filter * Kalman Filter as a principle illustrated with real * has provided Arduino / Processing (MPU6050) demonstration program (14) http:. apache campground myrtle beach sc // invensense.com/mems/gyro/mpu6050.html * Original (InvenSense) product page, do not want to see / read data sheet, or at least can be found Gyro Accel Sensitivity values here. for reference. (15) FIFO Overflow * Arduino + MPU6050 sometimes FIFO Overflow Monitor can see the problems, solutions, please refer to the above link. (Thanks to Greg pointing Iron Man) [2014/8/29, update] (16) Changing Acceleration Sensitivity on MPU6050 with Kalman Filter apache campground myrtle beach sc * Change accel sensitivity approach [experimental environment] yo take long article apache campground myrtle beach sc with the above link, it is best to match the actual Arduino and DIY MPU-6050, so as not to doze off. Please prepare .. (1) MPU-6050 + Arduino Uno * The MPU-6050 pin welded on, to make it horizontally in the breadboard.
* With the Arduino Uno's pin connection for: GND <-> GND VCC <-> 3.3V SDA <-> A4 SCL <-> A5 INT <-> D2 (some examples of programs, such as The Teapot Demo, it needs connect this pin) (2) I2Cdevlib * Private Ryan can not read data sheet, but also not able to fill the register value manipulation MPU-6050. Fortunately, there I2Cdevlib library Jeff Rowberg development can be called with, save a lot of trouble. * Download I2Cdevlib, and remitted to the Arduino IDE inside.
* Setup () inside a line accelgyro.initialize () do initialize action. Then trace inside, you will see there are a set gyro and accel range of code seems to change the MPU-6050's sensor range, can this start void MPU6050 :: initialize () {setClockSource (MPU6050_CLOCK_PLL_XGYRO); setFullScaleGyroRange (MPU6050_GYRO_FS_250); setFullScaleAccelRange (MPU6050_ACCEL_FS_2); setSleepEnabled (false);! // thanks to Jack Elston for pointing this one out}. (2) correction offset value Many articles have mentioned inside or sensor offset calibration problems before using MPU-6050, it must first adjust the offset value, when it is placed horizontally, pour out the detection values ax:. 0 ay: 0 az: 16384 (accel range: +/- 2g) gx: 0 gy: 0 gz: 0 [MPU6050_calibration] * from Arduino Sketch to automatically calculate MPU6050 offsets apache campground myrtle beach sc * Private Ryan experience, I feel only program out of the offset value measured more correct.
(4) Kalman Filter and Complementary Filter measurement there will be errors. Number of articles which have mentioned, accel value is stable in the long term, it may oscillate violently in the short term, while the gyro value on the contrary, in the short term, reliable, for a long time but it will drift. Kalman Filter or Complementary Filter accel and gyro values are combined to calculate the closer to the real situation apache campground myrtle beach sc of the measured value of the algorithm. [MPU6050] * from TKJElectronics / Example-Sketch-for-IMU-including- Kalman-filter * there's math, Ryan soldiers have surrendered.
[Complementary Filter] * from Reading a IMU Without Kalman: The Complementary Filter apache campground myrtle beach sc [question or supernatural apache campground myrtle beach sc phenomenon] (1) Ryan's soldiers still can not understand the gyro drift phenomenon, in the end what kind of problem * (thanks friends Ryan Chao pointing) me. understanding that there must be restrictions physical sensor resolution, even if corrected to zero, it is impossible to exactly zero, this little bit of error would have been cumulative drift into a soldier's friends * Ryan observed: the The Teapot Demo Small airplane standing for a long time, you will see the aircraft gradually turning heads. apache campground myrtle beach sc This should be the drift. (2) When running the demonstration program, and occasionally will encounter arduino + MPU-6050 frozen phenomenon usually restart arduino can be ruled out, not sure what causes it in the end. * users are mostly apache campground myrtle beach sc pointing toward poor contact pin or pins not strong enough, causing momentary interruption caused by the sensor. (Thank you, Miss pilgrimage, Wu Zhiyun ..) ( 3) When running demonstration programs, such as The Teapot Demo, occasionally aircraft will encounter inconsistent rotation direction and the direction of rotation MPU-6050 phenomenon is a bit like YPR interpreted as YRP. Obviously wiring or MPU-6050 placement orientation nothing has changed before, but this time the results are correct, then the next time the results will not right. very strange, I do not know what causes it. * This MPU-6050 (other sensors are similar) actually have a face-up concept. meaning that its internal sensors which direction is already set Yaw, Pitch which is what is Roll. Before running the demonstration program, apache campground myrtle beach sc you must first determine the orientation of the sensor have to put right. (Thanks Greg Tsai pointing Iron Man ) * In the final analysis is actually the MPU-6050 Private apache campground myrtle beach sc Ryan took the wrong side of the funny ..: -. <MPU-6050 above a small aircraft, but also represents apache campground myrtle beach sc the direction YPR [2014/8/29, update] * this. Articles apache campground myrtle beach sc in the face of the book in this discussion thread. apache campground myrtle beach sc
Mach Ma # define MPU6050 // combo + ACC #define FORCE_ACC_ORIENTATION (X, Y, Z) {accADC [ROLL] = -X; accADC [PITCH] = -Y; accADC [YAW] = Z;} #define FORCE_GYRO_ORIENTATION (X , Y, Z) {gyroADC [ROLL] = Y; gyroADC [PITCH] = -X; gyroADC [YAW] = -Z;}
Ryan Chao recently just looking at this, three fairly good understanding, I understand that there are certain physical limitations sensor resolution, even if corrected to zero, it is impossible apache campground myrtle beach sc to exactly zero, this little bit of error would have been Cumulative become friends drift. 2 library to write their own, so I did not come across this problem, then an occasional encounter, but also not had time to trace, please share ~
[Ryan GI's other articles] axis * homemade homemade big big axis, components papers, (1) Remote Control (Drone, Quadcopter, Futaba, Maker, Arduino, Animatronic Eye) is automatically reported to the ball in baseball
* Automatic newspaper ball baseball, (1) the concept and prototype (Arduino, MPU-6050, HC-06) * automatic newspaper ball in baseball, (2) the first version of the test works (Arduino, NanoWii, microSD, MPU6050

No comments:

Post a Comment