Sparkfun has released a lovely (if expensive) bit of silicon: a tilt-compensated magnetometer.
"The HMC6343 has three axis of magneto, three axis of accelerometer, and a PIC core running all the calculations. What you get is a compass heading over I2C that stays the same even as you tilt the board."
Not cheap at $250, but if you understand what a pain it would be do to that three-axis tilt-compensation yourself, you'll see why it's worth it.
Unless you've got a full IMU running and can use that to correct the magnetometer, I can't think of a good way to ensure it will be right. Maybe switch to a 4Hz GPS, like the UBlox 5, instead?
Does anyone else have any info if the setup suggested in the link I posted will work with a simple 3 axis mag sensor to get the heading...1Hz heading updates from my GPS is a bit too slow to get my auto landings right.
I will also have to change my code, as with the FMA sensor on the movable plate, it should not fight the imputs from the pilot anymore... suppose just lowering the gain will also work.
Hi Marty
Have a read here: http://www.uavs.net/horizon_sensing_autopilot.pdf on page 6. You set the sensor up so that you move the plate when you want to turn, so in normal flight the plate should always be close to horizontal. When you want to turn, you tilt the plate and the autopilot will think the plane is tilted and correct it.. so the plate will still he level in a turn.
uavs.net - This website is for sale! - uavs Resources and Information.
This website is for sale! uavs.net is your first and best source for all of the information you’re looking for. From general topics to more of what y…
For a slow moving blimp, won't the platform always be parallel to the ground anyway? If that is true, just use a simple 3-axis mag sensor, or a 2-axis compass unit (like this) that assumes it is level and does some calculations to give you more manageable data.
For a plane, you could wait to take readings until you are level.
I see another way to mount the FMA co-pilot is on a movable plate, so you move the plate to control the plane. Up to a point the plate should the stay parallel to the earth when the plane rolls or pitches. Would this sensor (or other compasses) not work if you mount it on the plate?
Good point about the unsuitability to inertial environments like a plane. But this would be awesome for a slow-moving blimp, where the inertial forces can be safely ignored. If only the chip were 1/10th the price. I guess we just need to wait 5 years and it will be.
After sleeping on it, I realize I was wrong on my second point above, given the inclination and declination of the Earth's magnetic field (from the field model and position) and a measured magnetic field vector (from a 3-axis magnetometer), you ca determine that you are parallel to a plane in 3D space, but you can't unambiguously determine what direction you are pointing. Additional data (or assumptions) is required to determine heading, pitch, and roll.
For a less expensive device, look at the PNI MicroMag 3-Axis magnetometer. You'll need some additional means of compensating for tilt.
Comments
Unless you've got a full IMU running and can use that to correct the magnetometer, I can't think of a good way to ensure it will be right. Maybe switch to a 4Hz GPS, like the UBlox 5, instead?
I will also have to change my code, as with the FMA sensor on the movable plate, it should not fight the imputs from the pilot anymore... suppose just lowering the gain will also work.
Have a read here: http://www.uavs.net/horizon_sensing_autopilot.pdf on page 6. You set the sensor up so that you move the plate when you want to turn, so in normal flight the plate should always be close to horizontal. When you want to turn, you tilt the plate and the autopilot will think the plane is tilted and correct it.. so the plate will still he level in a turn.
For a plane, you could wait to take readings until you are level.
For a less expensive device, look at the PNI MicroMag 3-Axis magnetometer. You'll need some additional means of compensating for tilt.
-
1
-
2
of 2 Next