SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By max246
#192632
I am desperate to find a device that provide me a HEADING without drift over time ( about 8 hours of use ).

I had my faith on BOSCH BN055 but it let me down, then tried on a cheap compass but was much worse and now waiting to get HMC6343 ( it is very expensive!) and hoping that high price = well done and no drift.

I see a lot of drones use MPU-6050, but is this module good enough? I dont want to end up to buy this module and having no library that compensate the drift.
By jremington
#192633
The absolute heading is established by the magnetometer, and it should not drift with time. In my hands, the heading determined by the BNO055 does not drift over time.

If the heading does drift, there is a problem with the power supply, or interference from changing nearby "soft iron" (electrical currents) or hard iron configurations. A new device won't help in those situations.

Test the sensor on your workbench in a stable environment, and with a stable power supply.
By max246
#192634
The issue that it works fine on the table, but when the module goes on a car ( fair away from magnetic field ) and stable power supply, it gets a drift overtime.
Other people are having the same issue, you can google it.

I would like to have a similar configuration of a drone as this project needs to be outside with a change of soft and hard iron, so in theory HMC6343 should do. But I hoped BN055 would have avoided this issue.
By jremington
#192637
From what you describe, the problem is very clearly due to soft/hard iron changes. All magnetometers will drift in those circumstances, guaranteed.

You will never be "fair away from magnetic field".
By max246
#192641
I was far away from the car magnetic field, of course not to get zero interference but enough to avoid the module to conflict.

Drone have this module MPU-6050, so wonder if this has a better performance as it is used by everyone.
By theropod
#192642
Would not receiving a GPS signal be doable with an Arduino, and provide this data, sans magnetics?

RS
By max246
#192644
I am going to have a GPS signal as well, not sure how that will give me the heading. Comparing the previous to the next one?
By jremington
#192646
The GPRMC sentence, among others, gives your current heading relative to true North, by comparing the current and previous positions.

Due to the inaccuracy of GPS coordinates, the reported true heading is very inaccurate at low velocities.

http://aprs.gids.nl/nmea/
By max246
#192648
low velocities = ?
I suppose I need to enable that message because what I get is
$GNRMC,230123.80,V,,,,,,,191216,,,N*66
$GNRMC,230123.86,V,,,,,,,191216,,,N*60
$GNRMC,230123.92,V,,,,,,,191216,,,N*65
$GNRMC,230124.04,V,,,,,,,191216,,,N*6D
$GNRMC,230124.10,V,,,,,,,191216,,,N*68
$GNRMC,230124.16,V,,,,,,,191216,,,N*6E
$GNRMC,230124.22,V,,,,,,,191216,,,N*69
$GNRMC,230124.28,V,,,,,,,191216,,,N*63
$GNRMC,230124.34,V,,,,,,,191216,,,N*6E
By jremington
#192654
The "V" and empty fields mean no satellite fix.

GPS modules require you to be outside, or at least near a window, with a clear view of the sky.
By max246
#192657
Sorry my bad, was looking at the wrong log file:

$GNRMC,160235.02,A,4625.83224,N,00945.80358,E,0.417,252.44,211216,,,A*75
$GNRMC,160235.08,A,4625.83224,N,00945.80357,E,0.417,252.45,211216,,,A*71
$GNRMC,160235.14,A,4625.83224,N,00945.80356,E,0.417,252.45,211216,,,A*7D
$GNRMC,160235.20,A,4625.83224,N,00945.80355,E,0.417,252.46,211216,,,A*7A
$GNRMC,160235.44,A,4625.83224,N,00945.80352,E,0.417,252.48,211216,,,A*71

I think I need to enable something to output the magnetic field. I will check.

But what is low speed for you? 3.3km/h ? or less ?
By jremington
#192672
But what is low speed for you?
You can decide for yourself. Try moving at different speeds and see if the "true course" output is stable and makes sense.

For GPS modules I've used, when walking the reading is often nonsense, but of course that will depend on the number of satellites in view, the presence of nearby buildings, canyon walls and trees, etc..
By max246
#192678
Ok thanks, I am using a high precision UBLOX module which has a rover and base, probably going to give me accurate heading.
By max246
#192702
I found out that GNRMC returns the heading only if you move around, but otherwise it returns nothing. thanks for the tip