I'd like some opinions on the viability of adding an external magnetometer for use with the APM 2.0 purple kit I'm installing on my 600EFL.
The problem I am trying to overcome is interference from the Neu 1917 in-runner I have in my heli. When in the mission planner I can calibrate the mag and get good readings near the motor, consistent and accurate to ~10 degrees, however when I spin up the motor (rotor head off of course) I can watch the mag loose it's accurate bearing no doubt due to the coils in the motor charging/discharging. Rather than relocate my APM, I would like to install an external mag on the tail of the heli. Then I would have to sort out how to ignore the internal mag and substitute the external mag's signal.
Is it viable?
Want to help me figure it out :-)
BTW the GPS does just fine this close to the motor...
Yes, this is indeed an issue and needs to be sorted out for the trad heli. I think 3dr may come up with an option to allow you to separate the compass from the main board. Ahead of that..if it were me, I'd buy the unassembled APM2 and try to remotely connect the daughterboard with a long-ish cable. It's a bit of a challenge with those really small pins though.
BTW, on my most recent heli I used an APM with no daughter board at all and then it's quite straightford to connect an external GPS and compass. the only issue then is you give up on having a dataflash..that was the sacrifice I chose..
Thanks for the heads up Randy, but I bought the assembled kit and figured I would be able to distance the APM far enough from the motor to avoid the conflict. Now I've got it way too close, but I don't want to have to move it... I'm sure I will be okay for the time being just using the heli in "stabilize" mode while I learn the platform better. With luck I'll find a solution before I am confident enough to fly a hands off mission anyway.
I'd like to put an external magnetometer on a board HMC5883L at least 6" above the battery and power distribution with an APM 2 similar to what NAZA looks like. I already got the the uBlox Lea6 working with onbaord GPS disabled. I'm using it on a 3DR Hexa with 880 motors and 4S 8000mAh battery and can't get compass solid. How would I disable the onboard magnetometer and how would I connect the external board to the APM 2? Maybe someone can ponit me in the right direction. Thanks!
The conventional wisdom with the compass is that a remote module cannot be done with the 2.0, so now we have the 2.5 :-) I have mine, but it's not installed yet. The problem lies in the fact that the I2C com port which is available externally on the 2.0 is the same com port which already has the HMC5883L on it. The 5883 is I2C only, and you cannot change it's address...
Four *possible* solutions would be to:
1- Physically remove the 5883 from the 2.0, then use the open com port externally.
2- Disable the 5883 on the 2.0 in some manner (maybe cut traces, remove the SCL&SDA from the 2x6, ect) then use the open com port.
3- Build an I2C to SPI converter, attach it to the external compass module, set the SPI address differently than the MPU6000 (because it is on the SPI com port) and use the 2.0's external SPI port.
4- dismount the entire daughter board and build a 2x8 cable (don't forget the powers and grounds) to go between the two. I read up some on this and it seems possible but there could be data corruption if the cable is too long or not properly shielded.
Options 1, 2, and 4 all require fantastic solder rework skills to keep from bricking your 2.0, and option 3 requires both hardware AND programming skills....
My $0.02, buy the 2.5 and keep the 2.0 for another cool project some time that wouldn't mind having the mag on-board or until a 3DR compass module that puts out SPI or has a different I2C address comes around.
I hear you regaring v2.5, thanks Jeff. Option #2 migth actually work for me. Looking at the PCB I think I have identified SDA & SCL. According to the schematics they are using DRDY (Data Ready) as well. I don't find DRDY on the external I2C port of the APM2 (just SCA, SDL, 3.3 VCC, GND). The idea is now to cut the SDA, SCL and DRDY traces as shown below and then use SCA, SDL, 3.3 VCC, GND from the ext. connector and run DRDY with a cable directly connected to the PCB indicated in green below (actually, I just realize that DRDY is avalable on pin 8 of the M6SMD connector visible on the upper left wher it is easier to solder).
Hope this makes sense. Any comments, verifications, improvements are more then welcome!
Why not just remove the mag?
There's probably also another compatible mag out there with a different address.
Would it be possible to shield the mag from the interference. I'm assume the interference from 600-700 size motors is quite powerful?
Would running an external gyro fix the drift issue?
If I wanted to use the stick, I'll go fly a model with a piezo gyro ;)
from the APM 2.5 schematics it seems they are just breaking SDA when using an external magneto. DRDY stays connected to PC6 (A14 Atmega). The 3DR magneto doesn't have a DRDY pin broken out. I'm wondering what relevance it has then. Maybe someone can shade some light DRDY?