> @12:10: "Along one particular axis." From what I understand, the axis of the ellipse will not necessarily be parallel to any particular magnetometer axis, but could be any possible rotation. Consider a large MLCC (They have Nickel terminals) directly off (and too close to) one corner of the magnetometer package. This would cause a concentration of magnetic flux that is more or less directly diagonal to some two axis of the chip. This would, in turn, cause higher apparent magnetic intensity aligned with the diagonal and thus the major axis of the ellipse would also be aligned with the diagonal.
@@ShawnHymel I'm also interested in tilt compensation! I'm working on making my own flight instrument for paragliding, and with the way my flight deck will hold the instrument, it will have to be tilt compensated. Thanks for this video, it's super helpful!
I have a question, it seems many tuts about hard and soft iron distortion is not quite accurate. As you can see, you subtract hard iron Vector, and left multiply soft iron Matrix, BASED ON YOUR IMU'S COORD SYS, which means both distortions are coming from the magnetic materials ON YOUR CHIP. Which means where ever you go, your calibration works. what you mentioned at 18:30, means assemble everything up, then calib right? The distortion from the enviroment, at a certain position, will only be a vector add to the earth mag field vector. And cuz they changes in diffrent position, it's a none linear transformation based on world axis. you simply can not calib them.
Correct on the ellipsoid. What I think is a better approach is continuous calibration. Every time you get a vector in a particular direction, store the scale. Eventually you get a full sphere of vectors. I don't think its a good idea having a completely separate calibration and use mode
Think I want to neglect the earth magnetic field by placing a strong magnet. Do I need to calibrate the hard iron and soft iron calibration. Another thing is I want to know whether the magnetometer behave as it is soclose to the magnet ?Because I didn't get desired behavior from the magnet.
Great video, I followed all instructions with this video and Adafruit configuration notes from their website and the only sketch that I could get to upload was the Blink sketch. How did you manage to upload imucal nosave? I've tried everything and get Error compiling for Adafruit Feather M0 (SAMD21). If you can help this would be great.
so my question is, if you only care about relative difference, do you still need to calibrate - that's an awful lot of trouble to go through. I just want it to tell me that the heading has changed by a few degrees, and then use that to update the car steering to put it back on course. But, I find that even calibrated, it isn't repeatable, or at least not that I can see.
Would the tilt compensation you briefly mention at the end also account for the Earth's magnetic flux lines being more vertical in reference to the ground the closer you get to the magnetic poles?
The PJRC MotionCal software download link (Windows) does not appear to be functional. I supposed there's still the Adafruit Jupyter notebook but it's kinda a bummer.
@@cyamite3435 I was able to download it using the Edge browser. There is a popup when I downloaded it using edge that didn't appear when I used chrome or brave. The popup is some sort of security message, but you can click the popup and proceed with the download.
The problem was that i was that the teeny was spending to much information to motion cal , I just added a 50ms delay in the nosave program and it worked fantastic
8:53 into the video. Raw shows -277 Uni shows -27.78 That looks like there is a rounding issue. -27.78 rounded to 3 dec pl is -27.8 not -27.7 which is what you would expect from the raw
Well done.
Brings back memories of the ArduPilot early days when IMU where implemented. Good source btw.
Great video, very very useful for drone builders. Thanks for sharing!
Garrett Evans Wow thank you Garrett, you've made my day!
Thanks for a complete explanation with visuals. Much appreciated 🎈
> @12:10: "Along one particular axis."
From what I understand, the axis of the ellipse will not necessarily be parallel to any particular magnetometer axis, but could be any possible rotation.
Consider a large MLCC (They have Nickel terminals) directly off (and too close to) one corner of the magnetometer package. This would cause a concentration of magnetic flux that is more or less directly diagonal to some two axis of the chip. This would, in turn, cause higher apparent magnetic intensity aligned with the diagonal and thus the major axis of the ellipse would also be aligned with the diagonal.
Plz make video on tilt compensation also.
Good to know there is interest! I can definitely see how tilt compensation would be useful.
@@ShawnHymel I'm also interested in tilt compensation! I'm working on making my own flight instrument for paragliding, and with the way my flight deck will hold the instrument, it will have to be tilt compensated. Thanks for this video, it's super helpful!
That would be a great video
I have a question, it seems many tuts about hard and soft iron distortion is not quite accurate.
As you can see, you subtract hard iron Vector, and left multiply soft iron Matrix, BASED ON YOUR IMU'S COORD SYS, which means both distortions are coming from the magnetic materials ON YOUR CHIP. Which means where ever you go, your calibration works. what you mentioned at 18:30, means assemble everything up, then calib right?
The distortion from the enviroment, at a certain position, will only be a vector add to the earth mag field vector. And cuz they changes in diffrent position, it's a none linear transformation based on world axis. you simply can not calib them.
Very good explanation, thanks
Correct on the ellipsoid.
What I think is a better approach is continuous calibration. Every time you get a vector in a particular direction, store the scale. Eventually you get a full sphere of vectors.
I don't think its a good idea having a completely separate calibration and use mode
Can you suggest a library for this? or any materials?
Very helpful!
Think I want to neglect the earth magnetic field by placing a strong magnet. Do I need to calibrate the hard iron and soft iron calibration. Another thing is I want to know whether the magnetometer behave as it is soclose to the magnet ?Because I didn't get desired behavior from the magnet.
I can't download MotionCal, anyone has a link please ?
how to validate the x, y, z,value if its correct or not
It would be nice if the Git page was still available. And then there seems so be some typos in the code provided with the writeup.
Awesome Shawn
Very helpful.
What magnetometer would you recommend for a 3-axis (azimuth, elevation, tilt) Satellite Antenna Tracker? Would it benefit from an accelerometer?
Great video, I followed all instructions with this video and Adafruit configuration notes from their website and the only sketch that I could get to upload was the Blink sketch. How did you manage to upload imucal nosave? I've tried everything and get Error compiling for Adafruit Feather M0 (SAMD21). If you can help this would be great.
so my question is, if you only care about relative difference, do you still need to calibrate - that's an awful lot of trouble to go through. I just want it to tell me that the heading has changed by a few degrees, and then use that to update the car steering to put it back on course. But, I find that even calibrated, it isn't repeatable, or at least not that I can see.
Has anybody gotten MotionCal (or the Adafruit Jupyter notebook) to work? I tried Windows, Linux, and Mac and didn't get anywhere.
Would the tilt compensation you briefly mention at the end also account for the Earth's magnetic flux lines being more vertical in reference to the ground the closer you get to the magnetic poles?
The PJRC MotionCal software download link (Windows) does not appear to be functional. I supposed there's still the Adafruit Jupyter notebook but it's kinda a bummer.
I have the same problem, any way to fix that ?
@@cyamite3435 I was able to download it using the Edge browser. There is a popup when I downloaded it using edge that didn't appear when I used chrome or brave. The popup is some sort of security message, but you can click the popup and proceed with the download.
Can you confirm…the compass in your smartphone is calibrated at the factory? Cuz when you buy a new iPhone, it just works when you power on.
great thank you but can you make course arm (spi, i2c, ......) that will be great please😊😊
it is great Suggestion
try making a simple inertial measurement unit (accelerometer) wired mouse, no light/laser or ball sensors
Motion cal doesnt respond
The problem was that i was that the teeny was spending to much information to motion cal , I just added a 50ms delay in the nosave program and it worked fantastic
8:53 into the video.
Raw shows -277 Uni shows -27.78
That looks like there is a rounding issue. -27.78 rounded to 3 dec pl is -27.8 not -27.7 which is what you would expect from the raw
depend if your round(), cast on int or others stuff
What if the magnetometer is hooked up to a raspberry pi?
also plese attached code shown in video mag_calibration_test.ino