मैग्नेटोमीटर एक सेंसर है जो मुख्य दिशाओं को निर्धारित करने के लिए पृथ्वी के चुंबकीय क्षेत्र की तीव्रता को मापता है। मोबाइल उपकरणों में, यह डिजिटल कंपास के रूप में काम करता है, उचित अंशांकन के साथ 1–2 डिग्री तक की सटीकता प्रदान करता है। Bosch Sensortec Application Note, 2024 के अनुसार, आधुनिक MEMS मैग्नेटोमीटर केवल 0.5–2 mA की खपत करते हैं और 1.5×1.5×0.7 मिमी के पैकेज में फिट होते हैं।
मुख्य बिंदु
मोबाइल डिवाइस में मैग्नेटोमीटर हॉल प्रभाव पर आधारित तीन-अक्ष चुंबकीय क्षेत्र सेंसर है। यह X, Y और Z अक्षों पर चुंबकीय प्रेरण वेक्टर के प्रक्षेपण को मापता है। एक्सेलेरोमीटर के साथ संयुक्त, मैग्नेटोमीटर दिगंश निर्धारित करता है — उत्तर दिशा और फोन की धुरी के बीच का कोण।
आधुनिक स्मार्टफोन एनिसोट्रोपिक मैग्नेटोरेसिस्टिव प्रभाव (AMR) और हॉल प्रभाव पर आधारित MEMS मैग्नेटोमीटर का उपयोग करते हैं। AMR सेंसर (Asahi Kasei Microdevices से AKM श्रृंखला) 0.15 µT/LSB की संवेदनशीलता और ±1200 µT की रेंज प्रदान करते हैं — जो पृथ्वी के क्षेत्र (25–65 µT) को मापने के लिए पर्याप्त है।
| पैरामीटर | मान |
|---|---|
| प्रौद्योगिकी | AMR / हॉल प्रभाव |
| रेंज | ±1200 — ±1300 µT |
| खपत | 0.5–2 mA |
| आकार | 1.5×1.5×0.7 मिमी |
| संवेदनशीलता | 0.15 µT/LSB |
डिजिटल कंपास के बिना, नेविगेशन ऐप आंदोलन की दिशा निर्धारित नहीं कर सकते। Google Maps उपयोगकर्ता की दृष्टि दिशा के सापेक्ष मानचित्र अभिविन्यास प्रदर्शित करने के लिए मैग्नेटोमीटर का उपयोग करता है। जब सेंसर विफल हो जाता है, तो ऐप नीले दिशा तीर के बिना केवल मानचित्र पर स्थान दिखाता है।
हॉल प्रभाव एक भौतिक घटना है जिसमें चुंबकीय क्षेत्र के संपर्क में आने पर एक संवाहक प्लेट के किनारों पर विभवांतर उत्पन्न होता है। MEMS मैग्नेटोमीटर परमालॉय (NiFe) से बनी पतली फिल्म संरचनाओं का उपयोग करते हैं, जिनका प्रतिरोध बाहरी चुंबकीय क्षेत्र (AMR प्रभाव) के प्रभाव में बदलता है।
तीन चैनलों (X, Y, Z) में से प्रत्येक में व्हीटस्टोन ब्रिज में जुड़े चार मैग्नेटोरेसिस्टर होते हैं। चुंबकीय क्षेत्र प्रतिरोधों के प्रतिरोध को 2–3% तक बदल देता है, जो एक डिफरेंशियल एम्पलीफायर द्वारा वोल्टेज में परिवर्तित हो जाता है। एक अंतर्निर्मित 16-बिट ADC 100 Hz तक की आवृत्ति पर सिग्नल को डिजिटलीकृत करता है।
क्षेत्र के ऊर्ध्वाधर घटक को मापने के लिए, एक एकीकृत चुंबकीय सांद्रक (IMC) का उपयोग किया जाता है। यह NiFe की एक पतली फिल्म संरचना है जो क्षैतिज क्षेत्र को ऊर्ध्वाधर तल में विक्षेपित करती है, जिससे एक एकल AMR ब्रिज तीनों अक्षों को माप सकता है।
मैग्नेटोमीटर पृथ्वी के चुंबकीय क्षेत्र (पूर्ण संदर्भ) के सापेक्ष ओरिएंटेशन निर्धारित करता है, जबकि गायरोस्कोप केवल कोणीय परिवर्तन (सापेक्ष डेटा) मापता है। गायरोस्कोप छोटे अंतराल पर सटीक डेटा प्रदान करता है लेकिन ड्रिफ्ट त्रुटि जमा करता है। मैग्नेटोमीटर ड्रिफ्ट नहीं करता लेकिन चुंबकीय हस्तक्षेप के प्रति संवेदनशील है।
Android SensorManager.getRotationMatrix के माध्यम से तीन सेंसरों से डेटा जोड़ता है। मैग्नेटोमीटर का उपयोग लंबे अंतराल पर गायरोस्कोप ड्रिफ्ट को सही करने के लिए किया जाता है। मैग्नेटोमीटर के बिना, गायरोस्कोप 5 मिनट में 10–20 डिग्री की त्रुटि जमा करता है। Google ARCore (2024) के अनुसार, फ्यूजन एल्गोरिदम मैग्नेटोमीटर के साथ 1–3 डिग्री सटीकता प्राप्त करता है।
val accelerometerReading = FloatArray(3)
val magnetometerReading = FloatArray(3)
val rotationMatrix = FloatArray(9)
val orientationAngles = FloatArray(3)
SensorManager.getRotationMatrix(
rotationMatrix, null,
accelerometerReading,
magnetometerReading
)
SensorManager.getOrientation(
rotationMatrix, orientationAngles
)
// orientationAngles[0] — रेडियन में दिगंश
हार्ड आयरन — फोन के अंदर लौहचुंबकीय सामग्री (स्पीकर मैग्नेट, कंपन मोटर, धातु फ्रेम) द्वारा बनाया गया स्थायी चुंबकीय क्षेत्र। हार्ड आयरन विरूपण प्रत्येक अक्ष पर एक स्थिर ऑफसेट (बायस) के रूप में प्रकट होता है। सॉफ्ट आयरन — चुंबकीय रूप से पारगम्य सामग्रियों के कारण क्षेत्र दिशा में परिवर्तन जो क्षेत्र रेखाओं को विकृत करता है।
मैग्नेटोमीटर अंशांकन की मानक प्रक्रिया है फोन को आठ के आकार में घुमाना। प्रक्रिया के दौरान, सेंसर त्रि-आयामी अंतरिक्ष में बिंदु रिकॉर्ड करता है। विकृतियों के बिना, बिंदु 25–65 µT त्रिज्या वाले गोले पर स्थित होते हैं। हार्ड आयरन गोले के केंद्र को स्थानांतरित करता है, सॉफ्ट आयरन इसे दीर्घवृत्ताभ में बदल देता है। अंशांकन एल्गोरिदम ऑफसेट और स्केलिंग पैरामीटर की गणना करता है।
data class CalibrationParams(
val biasX: Float,
val biasY: Float,
val biasZ: Float,
val scaleX: Float,
val scaleY: Float,
val scaleZ: Float
)
fun applySoftIronCorrection(
raw: FloatArray, p: CalibrationParams
): FloatArray {
return floatArrayOf(
(raw[0] - p.biasX) * p.scaleX,
(raw[1] - p.biasY) * p.scaleY,
(raw[2] - p.biasZ) * p.scaleZ
)
}
डेवलपर डिवाइस के चलने पर डेटा एकत्र करके अपना स्वयं का मैग्नेटोमीटर अंशांकन लागू कर सकता है। दीर्घवृत्ताभ फिटिंग एल्गोरिदम गोले से वर्ग विचलन के योग को कम करके हार्ड आयरन और सॉफ्ट आयरन पैरामीटर ढूंढता है। Apache Commons Math लाइब्रेरी इस कार्य के लिए नॉनलाइनियर न्यूनतम वर्ग कार्यान्वयन (Levenberg-Marquardt) प्रदान करती है — सॉफ्टवेयर अंशांकन के बाद सटीकता 0.5 डिग्री तक पहुंच जाती है।
हार्ड आयरन को कम करने के लिए, निर्माता मैग्नेटोमीटर को फोन के ऊपरी हिस्से में, स्पीकर और कंपन मोटर से दूर रखते हैं। Apple के इंजीनियरों ने iPhone 16 Pro Max (2024) में मैग्नेटोमीटर के लिए परमालॉय फॉयल शील्डिंग का उपयोग किया, जिससे स्पीकर का प्रभाव 4 गुना कम हो गया। Samsung Galaxy S24 Ultra एक अतिरिक्त क्षतिपूर्ति सर्किट का उपयोग करता है जो प्रेरित क्षेत्र को घटाने के लिए स्पीकर करंट को रीयल-टाइम में मापता है। चुंबकीय माउंट वाले केस (जैसे कार होल्डर में) मजबूत विकृतियां पैदा करते हैं — उपयोग के बाद, मैग्नेटोमीटर पुन: अंशांकन तक गलत दिशा दिखा सकता है।
Android दो सेंसर प्रदान करता है: TYPE_MAGNETIC_FIELD (µT में कैलिब्रेटेड डेटा) और TYPE_MAGNETIC_FIELD_UNCALIBRATED (विरूपण अनुमान के साथ कच्चा डेटा)। नेविगेशन ऐप्स के लिए, कैलिब्रेटेड सेंसर का उपयोग करने की अनुशंसा की जाती है — सिस्टम अंतिम आठ-आकार की गति के आधार पर स्वचालित रूप से अंतर्निर्मित अंशांकन लागू करता है।
SENSOR_DELAY_NORMAL (200 ms) कंपास के लिए पर्याप्त है, SENSOR_DELAY_FASTEST (0 ms) — केवल विशेष अनुसंधान अनुप्रयोगों के लिए। मान प्राप्त करने के बाद, आप getRotationMatrix + getOrientation के माध्यम से उन्हें दिगंश में बदल सकते हैं। event.accuracy के माध्यम से सेंसर सटीकता की जांच करना महत्वपूर्ण है — SENSOR_STATUS_UNRELIABLE का मतलब अंशांकन की आवश्यकता है।
override fun onSensorChanged(event: SensorEvent) {
if (event.sensor.type == Sensor.TYPE_MAGNETIC_FIELD) {
val accuracy = event.accuracy
if (accuracy == SensorManager.SENSOR_STATUS_UNRELIABLE) {
showCalibrationHint()
return
}
System.arraycopy(event.values, 0,
magnetometerReading, 0, 3)
}
}
मैग्नेटोमीटर का उपयोग केवल कंपास के लिए नहीं किया जाता है। AR ऐप्लिकेशन, जिनमें Pokemon GO शामिल है, वास्तविक दुनिया के सापेक्ष कैमरा ओरिएंटेशन निर्धारित करने के लिए मैग्नेटोमीटर का उपयोग करते हैं। मैग्नेटोमीटर के बिना, ARCore स्क्रीन अक्ष मोड पर स्विच हो जाता है — ओरिएंटेशन केवल गायरोस्कोप द्वारा निर्धारित किया जाता है, जो सटीकता को कम करता है।
Android Auto पर आधारित ऑटोमोटिव नेविगेशन सिस्टम में, मैग्नेटोमीटर का उपयोग सुरंगों और घनी शहरी क्षेत्रों में GPS सिग्नल खोने पर गति की दिशा निर्धारित करने के लिए किया जाता है। कार के पहियों से ओडोमेट्री डेटा (OBD-II के माध्यम से प्राप्त) के साथ संयोजन में, मैग्नेटोमीटर 10–20 मीटर की स्थिति सटीकता के साथ GPS के बिना 5 मिनट तक नेविगेशन जारी रखने की अनुमति देता है। Google Maps Engineering Blog (2024) के अनुसार, हाइब्रिड एल्गोरिदम शहरी कैनियन में मार्ग हानि को 40% तक कम करता है।
नेविगेशन ऐप मैग्नेटोमीटर का उपयोग गति का दिगंश निर्धारित करने के लिए करते हैं — उत्तर और उपयोगकर्ता के वर्तमान शीर्षक के बीच का कोण। Google Maps में, मैग्नेटोमीटर डेटा नीला दिशा तीर प्रदर्शित करने के लिए GPS ट्रैक और आंदोलन इतिहास के साथ संयुक्त होता है। जब GPS सिग्नल खो जाता है (सुरंगों, भूमिगत मार्गों में), मैग्नेटोमीटर ओरिएंटेशन जानकारी का एकमात्र स्रोत बना रहता है।
एकीकृत ASIC (Bosch से BMM350, 2024) के साथ 3-अक्ष मैग्नेटोमीटर की नई पीढ़ी केवल 0.35 mA की खपत करती है और 200 Hz तक का समर्थन करती है। मोबाइल उपकरणों के लिए क्वांटम मैग्नेटोमीटर और हीरे में NV केंद्रों का विकास अभी तक प्रयोगशाला प्रयोगों के चरण से बाहर नहीं आया है। उम्मीद है कि 2028 तक, मोबाइल मैग्नेटोमीटर की सटीकता 0.01 µT तक पहुंच जाएगी।
अक्सर पूछे जाने वाले प्रश्न
फोन के साथ हवा में आठ का आंकड़ा बनाएं — यह डिजिटल कंपास को कैलिब्रेट करने का मानक इशारा है। यदि कंपास अभी भी गलत दिखाता है, तो केस की जांच करें: चुंबकीय माउंट और धातु तत्व मजबूत हार्ड आयरन विकृतियां पैदा करते हैं।
मुख्य कारण: फोन स्पीकर और कंपन मोटर से चुंबकीय हस्तक्षेप, केस बदलने के बाद अंशांकन की कमी, पास की धातु वस्तुओं का प्रभाव। प्रबलित कंक्रीट संरचनाओं वाले इनडोर स्थानों में, चुंबकीय क्षेत्र विशेष रूप से विकृत होता है।
हां, मेटल डिटेक्टर ऐप चुंबकीय क्षेत्र विसंगतियों का पता लगाने के लिए अंतर्निर्मित मैग्नेटोमीटर का उपयोग करते हैं। हालांकि, पता लगाने की गहराई 10–20 सेमी से अधिक नहीं होती है, और डिवाइस धातु के प्रकारों में अंतर नहीं करता है — यह अधिक एक शैक्षिक उपकरण है।
TYPE_MAGNETIC_FIELD सिस्टम द्वारा लागू अंशांकन के बाद डेटा लौटाता है। TYPE_MAGNETIC_FIELD_UNCALIBRATED बायस अनुमान के साथ कच्चे मान प्रदान करता है, जिससे डेवलपर अपना स्वयं का अंशांकन लागू कर सकता है।
एक्सेलेरोमीटर और मैग्नेटोमीटर डेटा के साथ SensorManager.getRotationMatrix का उपयोग करें, फिर getOrientation — पहला ऐरे तत्व (दिगंश) रेडियन में होगा। कंपास प्रदर्शित करने के लिए, डिग्री में बदलें: Math.toDegrees(azimuth).
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें