قطب‌نما در گوشی‌های هوشمند — ماهیت، اصل کار و کاربرد

نویسنده: IT Sectr منتشر شده: 2026-03-25 زمان مطالعه: 8 دقیقه

Compass (قطب‌نما) در گوشی هوشمند یک حسگر دیجیتال مبتنی بر مغناطیس‌سنج است که جهت قطب‌های مغناطیسی زمین را تعیین می‌کند. این فناوری به برنامه‌های ناوبری، نقشه‌نگاری و واقعیت افزوده امکان می‌دهد تا جهت‌گیری دستگاه در فضا را به دقت تعیین کنند. بر اساس داده‌های STMicroelectronics، 2025، MEMS-مغناطیس‌سنج‌های مدرن دقت تعیین جهت را تا ۱–۲ درجه تضمین می‌کنند.

نکات کلیدی

  • Compass در گوشی هوشمند — قطب‌نمای دیجیتال مبتنی بر MEMS-مغناطیس‌سنج که میدان مغناطیسی زمین را اندازه‌گیری می‌کند.
  • مغناطیس‌سنج‌های مدرن از اثر هال یا اثر مغناطیست مقاومتی برای تعیین جهت میدان مغناطیسی استفاده می‌کنند.
  • برای عملکرد دقیق قطب‌نمای دیجیتال کالیبراسیون — جبران میدان‌های مغناطیسی مزاحم از بلندگوها و سایر اجزا — لازم است.
  • مغناطیس‌سنج در گوشی هوشمند میدان مغناطیسی را در سه محور (X، Y، Z) اندازه‌گیری می‌کند که امکان تعیین جهت را در هر موقعیت دستگاه فراهم می‌کند.
  • قطب‌نمای دیجیتال در برنامه‌های ناوبری، واقعیت افزوده، خدمات موقعیت‌یابی جغرافیایی و برنامه‌های نجومی استفاده می‌شود.

قطب‌نمای دیجیتال در گوشی هوشمند چیست؟

قطب‌نمای دیجیتال (compass) در گوشی هوشمند — حسگری مبتنی بر مغناطیس‌سنج است که شدت میدان مغناطیسی زمین را اندازه‌گیری کرده و آزیموت (زاویه نسبت به شمال مغناطیسی) را تعیین می‌کند. بر خلاف قطب‌نمای مکانیکی، قطب‌نمای دیجیتال از سیستم‌های میکروالکترومکانیکی (MEMS) برای ثبت میدان مغناطیسی استفاده می‌کند. مغناطیس‌سنج میدان را در سه محور اندازه‌گیری می‌کند که امکان تعیین صحیح جهت را در هر زاویه گوشی هوشمند فراهم می‌کند.

ساختار حسگر

MEMS-مغناطیس‌سنج مدرن — یک میکروچیپ به ابعاد ۲×۲×۱ میلی‌متر است که در بدنه گوشی هوشمند همراه با شتاب‌سنج و ژیروسکوپ (در ترکیب IMU 9 محوره) یکپارچه شده است. حسگر نه تنها جهت، بلکه شدت میدان مغناطیسی زمین (۲۵–۶۵ µT بسته به عرض جغرافیایی) را نیز اندازه‌گیری می‌کند. وجود اشیاء فلزی و میدان‌های مغناطیسی مزاحم از بلندگوها، موتور ویبره و دوربین اعوجاج ایجاد می‌کند، بنابراین برای عملکرد دقیق نیاز به تصحیح نرم‌افزاری قرائت‌ها است.

اولین قطب‌نماهای دیجیتال در تلفن‌های همراه در سال ۲۰۰۹ با عرضه iPhone 3GS — اولین گوشی هوشمند با مغناطیس‌سنج داخلی — ظاهر شدند. امروزه مغناطیس‌سنج در اکثریت قریب به اتفاق گوشی‌های هوشمند، از جمله مدل‌های اقتصادی نصب می‌شود. طبق داده‌های Yole Group، بازار MEMS-مغناطیس‌سنج‌ها برای دستگاه‌های موبایل از ۱.۵ میلیارد واحد در سال فراتر می‌رود که تقاضا برای این فناوری را تأیید می‌کند.

اصل کار مغناطیس‌سنج

اساس MEMS-مغناطیس‌سنج را یک عنصر حساس تشکیل می‌دهد که ویژگی‌های الکتریکی خود را تحت تأثیر میدان مغناطیسی خارجی تغییر می‌دهد. در گوشی‌های هوشمند مدرن از اثر هال یا اثر مغناطیست مقاومتی (AMR — Anisotropic Magneto-Resistance) استفاده می‌شود. اصل بر این است که ماده حامل جریان تحت تأثیر میدان مغناطیسی مقاومت خود را تغییر می‌دهد و با تغییر ولتاژ، بردار میدان مغناطیسی محاسبه می‌شود.

اثر هال و AMR

حسگرهای مبتنی بر اثر هال تغییر ولتاژ در لبه‌های صفحه نیمه‌هادی را ثبت می‌کنند که تحت تأثیر نیروی لورنتس بر بارهای متحرک ایجاد می‌شود. حسگرهای مغناطیست مقاومتی (AMR) از لایه‌ای از پرمالوی (NiFe) استفاده می‌کنند که مقاومت آن به جهت میدان مغناطیسی بستگی دارد. حسگرهای AMR اندازه کوچک‌تری و حساسیت بالاتری نسبت به حسگرهای هال دارند، بنابراین در گوشی‌های هوشمند مدرن غالب هستند.

نوعحساسیتمصرف انرژیاندازه
هالمتوسطکممتوسط
AMRزیادکمکوچک
GMRبسیار زیادمتوسطکوچک

داده‌های مغناطیس‌سنج با قرائت‌های شتاب‌سنج برای تصحیح شیب و تعیین جهت شمال در صفحه افقی ترکیب می‌شوند. الگوریتم تلفیق حسگر (sensor fusion) از فیلتر ماجویک یا فیلتر کالمن برای ترکیب داده‌های مغناطیس‌سنج، ژیروسکوپ و شتاب‌سنج استفاده می‌کند. این امکان را فراهم می‌کند تا آزیموت پایدار و دقیقی حتی در چرخش‌های سریع و لرزش دستگاه به دست آید.

انواع مغناطیس‌سنج در دستگاه‌های موبایل

در صنعت موبایل از سه نوع اصلی MEMS-مغناطیس‌سنج استفاده می‌شود: مبتنی بر اثر هال، مغناطیست مقاومتی ناهمسانگرد (AMR) و مغناطیست مقاومتی غول‌پیکر (GMR). مغناطیس‌سنج‌های AMR به دلیل ترکیب بهینه حساسیت، مصرف انرژی و هزینه در گوشی‌های هوشمند بیشترین شیوع را دارند. تولیدکنندگان پیشرو — AKM (Asahi Kasei Microdevices)، STMicroelectronics و Bosch Sensortec.

حساسیت AMR-مغناطیس‌سنج یک گوشی هوشمند معمولی ۰.۳–۱ µT با محدوده دینامیکی ±۱۰۰۰ µT (±۸ گاوس) است که برای اندازه‌گیری دقیق میدان زمین (۳۰–۶۵ µT) و جبران میدان‌های مزاحم کافی است. فرکانس پرس‌وجوی حسگر می‌تواند به ۱۰۰–۲۰۰ هرتز برسد، اما بیشتر برنامه‌ها برای صرفه‌جویی در انرژی از ۱۰–۵۰ هرتز استفاده می‌کنند. جبران خودکار دما و تغییر شکل‌های تنشی بدنه در سطح درایور حسگر پیاده‌سازی شده است.

کالیبراسیون قطب‌نمای دیجیتال

کالیبراسیون قطب‌نما — فرآیند جبران میدان‌های مغناطیسی مزاحم تولید شده توسط اجزای گوشی هوشمند: بلندگوها، موتور ویبره، دوربین و باتری است. بدون کالیبراسیون، قرائت‌های مغناطیسی می‌توانند ۱۰–۳۰ درجه از جهت واقعی انحراف داشته باشند. سیستم کالیبراسیون ماتریس جابجایی (hard-iron bias) را در سه محور تعیین کرده و آن را برای تصحیح همه اندازه‌گیری‌های بعدی اعمال می‌کند.

الگوریتم‌ها و روش‌های کالیبراسیون

روش استاندارد کالیبراسیون قطب‌نما — کشیدن «عدد ۸»: کاربر گوشی هوشمند را در مسیر شبیه به عدد ۸ می‌چرخاند. در حین حرکت، حسگر میدان مغناطیسی را در همه جهت‌گیری‌های ممکن ثبت می‌کند و الگوریتم نقاط را جمع‌آوری کرده و کره‌ای با مرکز جابجا شده نسبت به صفر تقریب می‌زند. شعاع کره با بزرگی میدان مغناطیسی زمین و مرکز — بردار جابجایی مزاحم — مطابقت دارد. پس از تقریب، سیستم ضرایب تصحیح را برای هر محور محاسبه می‌کند.

الگوریتم‌های مدرن کالیبراسیون از Qualcomm و MediaTek کالیبراسیون پس‌زمینه پیوسته را بدون دخالت کاربر انجام می‌دهند. آنها تغییرات میدان مغناطیسی را هنگام چرخش دستگاه تحلیل کرده و به طور خودکار پارامترهای تصحیح را به‌روز می‌کنند. اگر حسگر میدان مزاحم جدیدی تشخیص دهد (مثلاً هنگام نصب قاب مغناطیسی)، سیستم در عرض ۱–۲ ثانیه حرکت مداوم دستگاه، کالیبراسیون مجدد را آغاز می‌کند.

کاربرد قطب‌نما در برنامه‌های موبایل

قطب‌نمای دیجیتال در طیف گسترده‌ای از برنامه‌های موبایل استفاده می‌شود. کاربرد اصلی — خدمات ناوبری و نقشه‌نگاری (Google Maps، Yandex.Maps، 2GIS) که جهت‌گیری دستگاه را روی نقشه برای نمایش صحیح جهت حرکت کاربر تعیین می‌کنند. در برنامه‌های واقعیت افزوده (AR) قطب‌نما موقعیت‌یابی صحیح اشیاء مجازی را نسبت به جهت‌های جغرافیایی تضمین می‌کند.

در برنامه‌های نجومی (Star Walk، SkySafari) قطب‌نما همراه با شتاب‌سنج جهتی را که گوشی هوشمند به آن نشانه رفته است تعیین کرده و ناحیه مربوط به آسمان پرستاره را نشان می‌دهد. برنامه‌های ماهیگیری و گردشگری از قطب‌نما برای علامت‌گذاری نقاط مورد علاقه روی نقشه با ارجاع به آزیموت استفاده می‌کنند. ردیابی تناسب اندام با GPS از قرائت‌های قطب‌نما برای تعیین جهت دویدن یا دوچرخه‌سواری استفاده می‌کند که دقت نمایش مسیر را افزایش می‌دهد.

استفاده از قطب‌نما از طریق Android API

برای دسترسی به قطب‌نمای دیجیتال در اندروید از سنسور TYPE_MAGNETIC_FIELD از Sensor API استفاده می‌شود. توسعه‌دهندگان یک شنونده برای تغییرات قرائت‌های مغناطیس‌سنج ثبت کرده و آرایه‌ای از مقادیر شدت میدان مغناطیسی را در سه محور به میکروتسلا دریافت می‌کنند. برای تعیین آزیموت، داده‌های مغناطیس‌سنج از طریق ماتریس چرخش sensor fusion با داده‌های شتاب‌سنج ترکیب می‌شوند.

kotlin
import android.hardware.Sensor
import android.hardware.SensorEvent
import android.hardware.SensorEventListener
import android.hardware.SensorManager

class CompassManager(
    private val sensorManager: SensorManager
) : SensorEventListener {

    private val magnetometer = FloatArray(3)
    private val accelerometer = FloatArray(3)
    private val rotationMatrix = FloatArray(9)
    private val orientation = FloatArray(3)

    override fun onSensorChanged(event: SensorEvent) {
        if (event.sensor.type == Sensor.TYPE_MAGNETIC_FIELD) {
            event.values.copyInto(magnetometer)
        } else if (event.sensor.type == Sensor.TYPE_ACCELEROMETER) {
            event.values.copyInto(accelerometer)
        }
        
        SensorManager.getRotationMatrix(
            rotationMatrix, null,
            accelerometer, magnetometer
        )
        SensorManager.getOrientation(rotationMatrix, orientation)
        
        val azimuth = Math.toDegrees(orientation[0].toDouble())
        // azimuth: 0 = شمال، 90 = شرق، 180 = جنوب، 270 = غرب
    }

    fun start() {
        sensorManager.registerListener(this,
            sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
            SensorManager.SENSOR_DELAY_UI)
        sensorManager.registerListener(this,
            sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
            SensorManager.SENSOR_DELAY_UI)
    }

    override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {}
}

آزیموت به دست آمده از طریق getOrientation بر حسب رادیان اندازه‌گیری می‌شود و می‌تواند مقادیری از -π تا π داشته باشد، که در آن ۰ معادل شمال مغناطیسی است. برای نمایش روی صفحه، مقادیر با نرمال‌سازی به محدوده ۰–۳۶۰ به درجه تبدیل می‌شوند (Math.toDegrees). مهم است که انحراف مغناطیسی — زاویه بین شمال مغناطیسی و حقیقی (جغرافیایی) که به موقعیت جغرافیایی بستگی دارد و با زمان تغییر می‌کند — در نظر گرفته شود. نقشه‌های گوگل به طور خودکار انحراف را از طریق GeomagneticField API تصحیح می‌کنند.

پرسش‌های متداول

قطب‌نمای دیجیتال در گوشی هوشمند چگونه کار می‌کند؟

قطب‌نمای دیجیتال از MEMS-مغناطیس‌سنج — چیپ ۲×۲ میلی‌متری که میدان مغناطیسی زمین را در سه محور اندازه‌گیری می‌کند — استفاده می‌کند. داده‌های مغناطیس‌سنج با قرائت‌های شتاب‌سنج برای تعیین آزیموت — زاویه بین جهت شمال و جهت‌گیری دستگاه — ترکیب می‌شوند.

چرا قطب‌نما در تلفن نادرست نشان می‌دهد؟

قرائت‌های نادرست قطب‌نما اغلب به دلیل نبود کالیبراسیون، تداخل مغناطیسی از بلندگوها یا موتور ویبره و همچنین قاب‌های مغناطیسی ایجاد می‌شود. راه‌حل — کالیبراسیون با حرکت «عدد ۸» یا حذف لوازم جانبی مغناطیسی. در صورت خطاهای مداوم ممکن است بررسی حسگر لازم باشد.

آیا قطب‌نما نیاز به کالیبراسیون دارد و چگونه انجام می‌شود؟

بله، کالیبراسیون قطب‌نما برای جبران میدان‌های مغناطیسی مزاحم داخل گوشی هوشمند ضروری است. در اکثر دستگاه‌های مدرن، کالیبراسیون به طور خودکار در پس‌زمینه انجام می‌شود. برای کالیبراسیون دستی، با گوشی هوشمند «عدد ۸» را در هوا بکشید — سیستم داده‌ها را از همه زوایا جمع‌آوری کرده و قرائت‌ها را تصحیح می‌کند.

چگونه در برنامه اندروید به قطب‌نما دسترسی پیدا کنیم؟

در اندروید دسترسی به قطب‌نما از طریق Sensor API با سنسور TYPE_MAGNETIC_FIELD انجام می‌شود. آزیموت از طریق SensorManager.getRotationMatrix() و getOrientation() محاسبه می‌شود که داده‌های مغناطیس‌سنج و شتاب‌سنج را ترکیب می‌کنند. آزیموت به دست آمده را می‌توان برای نمایش روی صفحه تطبیق داد.

کدام مدل‌های گوشی هوشمند دقیق‌ترین قطب‌نما را دارند؟

دقیق‌ترین قطب‌نماها در گوشی‌های هوشمند با حسگر سه‌گانه IMU (مغناطیس‌سنج + ژیروسکوپ + شتاب‌سنج) و سیستم کالیبراسیون فعال نصب شده‌اند. پرچمداران Google Pixel، Samsung Galaxy سری S و iPhone Pro — آنها از مغناطیس‌سنج‌های AKM و Bosch با حساسیت ۰.۳ µT و تصحیح خودکار استفاده می‌کنند.

خلاصه

  • Compass (قطب‌نمای دیجیتال) در گوشی هوشمند — MEMS-مغناطیس‌سنجی است که میدان مغناطیسی زمین را برای تعیین آزیموت و جهت‌گیری دستگاه اندازه‌گیری می‌کند.
  • مغناطیس‌سنج‌های مدرن از اثر AMR (مقاومت مغناطیسی ناهمسانگرد) استفاده می‌کنند که حساسیت ۰.۳ µT و اندازه فشرده ۲×۲ میلی‌متر را فراهم می‌کند.
  • قرائت‌های دقیق قطب‌نما برای جبران میدان‌های مغناطیسی بلندگوها، موتور ویبره و دوربین گوشی هوشمند نیاز به کالیبراسیون دارد.
  • جهت شمال از طریق sensor fusion — ترکیب داده‌های مغناطیس‌سنج با شتاب‌سنج و ژیروسکوپ برای تصحیح شیب — محاسبه می‌شود.
  • قطب‌نمای دیجیتال در ناوبری، نقشه‌نگاری، واقعیت افزوده، نجوم و ردیابی تناسب اندام برای تعیین جهت‌گیری و جهت حرکت استفاده می‌شود.
  • در اندروید دسترسی به قطب‌نما از طریق TYPE_MAGNETIC_FIELD با محاسبه آزیموت از طریق getRotationMatrix و getOrientation انجام می‌شود.
  • انحراف مغناطیسی (زاویه بین شمال مغناطیسی و جغرافیایی) به طور خودکار در APIهای ناوبری Google و Apple تصحیح می‌شود.

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید