2012-12-13 3 views
2

우리가 개발중인 사용자 정의 안드로이드 장치에서 자력계는 실제로 내부 스피커에 가깝게 배치됩니다. 스피커의 영구 자석이 자력계의 값에 영향을 미치고 있습니다. x, y, z 값은 자력계가보고 할 수있는 최대 값에 도달했습니다.영구 자장이있는 상태에서 자력계 보정

다시 보정하면 문제를 해결할 수 있습니까? 하드 아이언 교정 기술을 사용해야합니까? 자력계 드라이버에서 처리 할 수 ​​있습니까? 아니면 펌웨어에서만 수행해야합니까?

답변

2

예, Android 기기에서 강철 및 연철의 영향을 보상 할 수 있습니다. 어느 센서 (또는 둘다)가 센서 주변의 자기장을 왜곡하고 있는지 판별해야합니다. 하드 아이언 오프셋은 쉽게 결정하고 보정 할 수 있습니다. 구의 타원체로 연철이 비뚤어지면 처리하기가 훨씬 어려울 수 있습니다. 귀하의 구현은 아마도 귀하가 특별히 보상해야하는 것에 달려 있습니다. 좋은 소식은 센서가 고정되어 있으므로 큰 계산을 한 번 수행 한 다음 오프셋을 적용하면됩니다.

단단한 철 및 연철 보상에는 몇 가지 다른 접근법이 있습니다. 가장 간단한 방법은 http://memsense.com/docs/MTD-0802_1.2_Magnetometer_Calibration.pdf입니다. 최소 제곱합을 사용하는보다 어려운 접근법은 여기에 설명되어 있습니다. http://cache.freescale.com/files/sensors/doc/app_note/AN4248.pdf. 단단한 철 오프셋은 그다지 어렵지는 않지만 연철의 오프셋은 타원이나 타원체에 대한 피팅 데이터와 상당한 양의 선형 대수를 필요로합니다. 나는 둘 다의 버전을 시도하고 그들은 모두 작동합니다. 각각에는 처리 능력의 정도와 자기장의 왜곡 정도에 따라 장단점이 있습니다.