Quote:
Originally posted by wysiswyg
The wires was the easy part...By the way, wrapping wires together is generally a good idea to reduce interference.
|
Wrapping the wire as such does little to help with the induced fields. You must either shield with a magnetic and electrostatic shield or run balanced lines to cure that problem. The rise time of the pulse is an issue. But that is not the dominant component. The field from the motor magnets themselves are orders of magnitude larger than the earth's magnetic field so they tend to polarize the compass. If you could shield the motors and build the robot out of non-ferrous metals you might have a shot but you still run up against the variables of the building construction getting in the way of the earth's field. Although it hasn't been mentioned here yet, did you know that the earth's magnetic pole is not the north pole? If you are trying to base coordinates on an earth reference you must make corrections depending on your longitude. In Illinois we are almost directly south of the mag pole so no correction is needed but in the NW US or Alaska the mag pole is due east or maybe even southeast.
We did come across several compass chips that had reset lines to pulse the chip and surrounding area to kill the local fields and try to take a reading. That pulse was in the two amp range and required some external circuitry that was expensive and weighty. After weeks of walking down the compass path, we abandoned the research in lieu of a far simpler approach, the gyro. Yes it has it's faults but the accumulated errors over a 15 second period are small.
If you are still researching, check out magnetic shielding products. They are usually high nickel and laminated steel products. You may be able to put a shield between the robot and the compass. There must be a way to do it because my Dodge van has a compass that works fairly well although it only gives eight directions.