เข็มทิศในสมาร์ทโฟน — สาระสำคัญ หลักการทำงาน และการประยุกต์ใช้

ผู้แต่ง: IT Sectr เผยแพร่เมื่อ: 2026-03-25 เวลาอ่าน: 8 นาที

เข็มทิศ (compass) ในสมาร์ทโฟนเป็นเซ็นเซอร์ดิจิทัลที่ใช้แมกนีโตมิวเตอร์ในการกำหนดทิศทางไปยังขั้วแม่เหล็กของโลก เทคโนโลยีนี้ช่วยให้แอปพลิเคชันนำทาง แผนที่ และความเป็นจริงเสริมสามารถกำหนดทิศทางของอุปกรณ์ในอวกาศได้อย่างแม่นยำ ตามข้อมูลของ STMicroelectronics, 2025 แมกนีโตมิเตอร์ MEMS สมัยใหม่ ให้ความแม่นยำในการกำหนดทิศทางสูงถึง 1–2 องศา

ประเด็นสำคัญ

  • เข็มทิศในสมาร์ทโฟนเป็นเข็มทิศดิจิทัลที่ใช้แมกนีโตมิเตอร์ MEMS วัดสนามแม่เหล็กโลก
  • แมกนีโตมิเตอร์สมัยใหม่ใช้ปรากฏการณ์ฮอลล์หรือปรากฏการณ์แมกนีโตรีซิสทีฟเพื่อกำหนดทิศทางของสนามแม่เหล็ก
  • การทำงานที่แม่นยำของเข็มทิศดิจิทัลต้องมีการสอบเทียบ — ชดเชยสนามแม่เหล็กปรสิตจากลำโพงและส่วนประกอบอื่น ๆ
  • แมกนีโตมิเตอร์ในสมาร์ทโฟนวัดสนามแม่เหล็กตามสามแกน (X, Y, Z) ทำให้สามารถกำหนดทิศทางได้ในทุกตำแหน่งของอุปกรณ์
  • เข็มทิศดิจิทัลถูกใช้ในแอปพลิเคชันนำทาง ความเป็นจริงเสริม บริการระบุตำแหน่งทางภูมิศาสตร์ และโปรแกรมดาราศาสตร์

เข็มทิศดิจิทัลในสมาร์ทโฟนคืออะไร?

เข็มทิศดิจิทัลในสมาร์ทโฟนเป็นเซ็นเซอร์ที่ใช้แมกนีโตมิเตอร์ วัดความเข้มของสนามแม่เหล็กโลกและกำหนดมุมอะซิมุท (มุมเทียบกับทิศเหนือแม่เหล็ก) ต่างจากเข็มทิศเชิงกล เข็มทิศดิจิทัลใช้ระบบไมโครอิเล็กโตรแมคคานิคอล (MEMS) ในการตรวจจับสนามแม่เหล็ก แมกนีโตมิเตอร์วัดสนามตามสามแกน ทำให้สามารถกำหนดทิศทางได้อย่างถูกต้องไม่ว่าสมาร์ทโฟนจะเอียงในทิศทางใด

เซ็นเซอร์ทำงานอย่างไร

แมกนีโตมิเตอร์ MEMS สมัยใหม่เป็นไมโครชิปขนาด 2×2×1 มม. ที่รวมอยู่ในตัวสมาร์ทโฟนพร้อมกับมาตรความเร่งและไจโรสโคป (เป็นส่วนหนึ่งของ IMU 9 แกน) เซ็นเซอร์ไม่เพียงวัดทิศทาง แต่ยังวัดความเข้มของสนามแม่เหล็กโลก (25–65 µT ขึ้นอยู่กับละติจูด) การมีวัตถุโลหะและสนามแม่เหล็กปรสิตจากลำโพง มอเตอร์สั่น และกล้อง สร้างความบิดเบือน ดังนั้นจึงจำเป็นต้องมีการแก้ไขซอฟต์แวร์ของการอ่านค่าเพื่อการทำงานที่แม่นยำ

เข็มทิศดิจิทัลแรกในโทรศัพท์มือถือปรากฏในปี 2009 ด้วยการเปิดตัว iPhone 3GS — สมาร์ทโฟนเครื่องแรกที่มีแมกนีโตมิเตอร์ในตัว ปัจจุบัน แมกนีโตมิเตอร์ถูกติดตั้งในสมาร์ทโฟนส่วนใหญ่ รวมถึงรุ่นประหยัด ตามข้อมูลของ Yole Group ตลาดแมกนีโตมิเตอร์ MEMS สำหรับอุปกรณ์มือถือเกิน 1.5 พันล้านหน่วยต่อปี ซึ่งยืนยันความต้องการเทคโนโลยีนี้

หลักการทำงานของแมกนีโตมิเตอร์

หัวใจของแมกนีโตมิเตอร์ MEMS คือธาตุตรวจจับที่เปลี่ยนคุณสมบัติทางไฟฟ้าภายใต้อิทธิพลของสนามแม่เหล็กภายนอก สมาร์ทโฟนสมัยใหม่ใช้ปรากฏการณ์ฮอลล์หรือปรากฏการณ์แมกนีโตรีซิสทีฟ (AMR — Anisotropic Magneto-Resistance) หลักการขึ้นอยู่กับความจริงที่ว่าวัสดุนำกระแสเปลี่ยนความต้านทานเมื่อสัมผัสกับสนามแม่เหล็ก และเวกเตอร์สนามแม่เหล็กถูกคำนวณจากการเปลี่ยนแปลงแรงดันไฟฟ้า

ปรากฏการณ์ฮอลล์และ AMR

เซ็นเซอร์ปรากฏการณ์ฮอลล์ตรวจจับการเปลี่ยนแปลงแรงดันไฟฟ้าที่ขอบของแผ่นเซมิคอนดักเตอร์ที่เกิดจากแรงลอเรนซ์ต่อประจุที่เคลื่อนที่ เซ็นเซอร์แมกนีโตรีซิสทีฟ (AMR) ใช้ฟิล์มเปอร์มาลลอย (NiFe) ซึ่งความต้านทานขึ้นอยู่กับทิศทางของสนามแม่เหล็ก เซ็นเซอร์ AMR ให้ขนาดที่เล็กกว่าและความไวที่สูงกว่าเมื่อเทียบกับเซ็นเซอร์ฮอลล์ ดังนั้นจึงครองตลาดในสมาร์ทโฟนสมัยใหม่

ประเภทความไวการใช้พลังงานขนาด
ฮอลล์ปานกลางต่ำปานกลาง
AMRสูงต่ำเล็ก
GMRสูงมากปานกลางเล็ก

ข้อมูลแมกนีโตมิเตอร์ถูกรวมกับการอ่านค่าของมาตรความเร่งเพื่อแก้ไขความเอียงและกำหนดทิศทางเหนือในระนาบแนวนอน อัลกอริทึมการรวมเซ็นเซอร์ใช้ตัวกรอง Madgwick หรือตัวกรอง Kalman เพื่อรวมข้อมูลจากแมกนีโตมิเตอร์ ไจโรสโคป และมาตรความเร่ง ซึ่งให้มุมอะซิมุทที่เสถียรและแม่นยำแม้ในระหว่างการหมุนเร็วและการเขย่าอุปกรณ์

ประเภทของแมกนีโตมิเตอร์ในอุปกรณ์มือถือ

ในอุตสาหกรรมมือถือ ใช้แมกนีโตมิเตอร์ MEMS สามประเภทหลัก: ปรากฏการณ์ฮอลล์, แมกนีโตรีซิสทีฟแบบแอนไอโซทรอปิก (AMR) และแมกนีโตรีซิสทีฟแบบยักษ์ (GMR) แมกนีโตมิเตอร์ AMR เป็นที่แพร่หลายที่สุดในสมาร์ทโฟนเนื่องจากความสมดุลที่เหมาะสมระหว่างความไว การใช้พลังงาน และต้นทุน ผู้ผลิตชั้นนำคือ AKM (Asahi Kasei Microdevices), STMicroelectronics และ Bosch Sensortec

ความไวของแมกนีโตมิเตอร์ AMR ในสมาร์ทโฟนทั่วไปคือ 0.3–1 µT โดยมีช่วงไดนามิก ±1000 µT (±8 เกาส์) ซึ่งเพียงพอสำหรับการวัดสนามโลก (30–65 µT) อย่างแม่นยำและชดเชยสนามปรสิต อัตราการสุ่มตัวอย่างของเซ็นเซอร์สามารถสูงถึง 100–200 Hz แต่แอปพลิเคชันส่วนใหญ่ใช้ 10–50 Hz เพื่อประหยัดพลังงาน การชดเชยอุณหภูมิและการเปลี่ยนรูปของตัวเครื่องโดยอัตโนมัติถูกใช้งานในระดับไดรเวอร์เซ็นเซอร์

การสอบเทียบเข็มทิศดิจิทัล

การสอบเทียบเข็มทิศเป็นกระบวนการชดเชยสนามแม่เหล็กปรสิตที่สร้างโดยส่วนประกอบของสมาร์ทโฟน: ลำโพง มอเตอร์สั่น กล้อง และแบตเตอรี่ หากไม่มีการสอบเทียบ การอ่านค่าของแมกนีโตมิเตอร์อาจเบี่ยงเบนจากทิศทางจริง 10–30 องศา ระบบสอบเทียบกำหนดเมทริกซ์ออฟเซ็ต (hard-iron bias) ตามสามแกนและนำไปใช้เพื่อแก้ไขการวัดทั้งหมดที่ตามมา

อัลกอริทึมและวิธีการสอบเทียบ

วิธีมาตรฐานของการสอบเทียบเข็มทิศคือการวาด “เลข 8”: ผู้ใช้หมุนสมาร์ทโฟนตามวิถีที่คล้ายกับเลข 8 ระหว่างการเคลื่อนไหว เซ็นเซอร์บันทึกสนามแม่เหล็กในทุกทิศทางที่เป็นไปได้ และอัลกอริทึมสะสมจุดและประมาณทรงกลมที่มีจุดศูนย์กลางเยื้องจากศูนย์ รัศมีของทรงกลมสอดคล้องกับขนาดของสนามแม่เหล็กโลก และจุดศูนย์กลางแสดงถึงเวกเตอร์ออฟเซ็ตปรสิต หลังจากการประมาณ ระบบจะคำนวณสัมประสิทธิ์การแก้ไขสำหรับแต่ละแกน

อัลกอริทึมการสอบเทียบสมัยใหม่จาก Qualcomm และ MediaTek ทำการสอบเทียบพื้นหลังอย่างต่อเนื่องโดยไม่ต้องให้ผู้ใช้ดำเนินการ พวกเขาวิเคราะห์การเปลี่ยนแปลงของสนามแม่เหล็กระหว่างการหมุนอุปกรณ์และอัปเดตพารามิเตอร์การแก้ไขโดยอัตโนมัติ หากเซ็นเซอร์ตรวจจับสนามปรสิตใหม่ (เช่น เมื่อติดเคสแม่เหล็ก) ระบบจะเริ่มการสอบเทียบใหม่ภายใน 1–2 วินาทีของการเคลื่อนที่ต่อเนื่องของอุปกรณ์

การใช้เข็มทิศในแอปพลิเคชันมือถือ

เข็มทิศดิจิทัลถูกใช้ในแอปพลิเคชันมือถือที่หลากหลาย การใช้งานหลักคือในบริการนำทางและแผนที่ (Google Maps, Yandex.Maps, 2GIS) ซึ่งกำหนดทิศทางของอุปกรณ์บนแผนที่เพื่อแสดงทิศทางการเคลื่อนที่ของผู้ใช้อย่างถูกต้อง ในแอปพลิเคชันความเป็นจริงเสริม (AR) เข็มทิศช่วยให้ตำแหน่งที่ถูกต้องของวัตถุเสมือนเทียบกับทิศทางหลัก

ในแอปพลิเคชันดาราศาสตร์ (Star Walk, SkySafari) เข็มทิศรวมกับมาตรความเร่งกำหนดทิศทางที่สมาร์ทโฟนชี้และแสดงพื้นที่ที่สอดคล้องกันของท้องฟ้ายามค่ำคืน แอปตกปลาและการท่องเที่ยวใช้เข็มทิศเพื่อทำเครื่องหมายจุดสนใจบนแผนที่พร้อมการอ้างอิงมุมอะซิมุท การติดตามฟิตเนสด้วย GPS ใช้การอ่านค่าเข็มทิศเพื่อกำหนดทิศทางการวิ่งหรือปั่นจักรยาน ซึ่งช่วยเพิ่มความแม่นยำในการแสดงเส้นทาง

การใช้เข็มทิศผ่าน Android API

เพื่อเข้าถึงเข็มทิศดิจิทัลบน Android ใช้เซ็นเซอร์ TYPE_MAGNETIC_FIELD จาก Sensor API นักพัฒนาลงทะเบียนตัวฟังการเปลี่ยนแปลงของการอ่านค่าแมกนีโตมิเตอร์และรับอาร์เรย์ของค่าความเข้มสนามแม่เหล็กตามสามแกนในหน่วยไมโครเทสลา เพื่อกำหนดมุมอะซิมุท ข้อมูลแมกนีโตมิเตอร์ถูกรวมกับข้อมูลมาตรความเร่งผ่านเมทริกซ์การหมุนโดยการรวมเซ็นเซอร์

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())
        // มุมอะซิมุท: 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 วัดเป็นเรเดียนและสามารถรับค่าตั้งแต่ -π ถึง π โดยที่ 0 สอดคล้องกับทิศเหนือแม่เหล็ก สำหรับการแสดงบนหน้าจอ ค่าจะถูกแปลงเป็นองศา (Math.toDegrees) ทำให้เป็นมาตรฐานในช่วง 0–360 สิ่งสำคัญคือต้องคำนึงถึงค่าคลาดเคลื่อนแม่เหล็ก — มุมระหว่างทิศเหนือแม่เหล็กกับทิศเหนือจริง (ภูมิศาสตร์) ซึ่งขึ้นอยู่กับตำแหน่งทางภูมิศาสตร์และเปลี่ยนแปลงตามเวลา Google Maps ปรับค่าคลาดเคลื่อนโดยอัตโนมัติผ่าน GeomagneticField API

คำถามที่พบบ่อย

เข็มทิศดิจิทัลในสมาร์ทโฟนทำงานอย่างไร?

เข็มทิศดิจิทัลใช้แมกนีโตมิเตอร์ MEMS — ชิปขนาด 2×2 มม. ที่วัดสนามแม่เหล็กโลกตามสามแกน ข้อมูลแมกนีโตมิเตอร์ถูกรวมกับการอ่านค่ามาตรความเร่งเพื่อกำหนดมุมอะซิมุท — มุมระหว่างทิศเหนือกับทิศทางของอุปกรณ์

ทำไมเข็มทิศบนโทรศัพท์แสดงทิศทางผิด?

การอ่านค่าเข็มทิศที่ไม่ถูกต้องมักเกิดจากการขาดการสอบเทียบ การรบกวนทางแม่เหล็กจากลำโพงหรือมอเตอร์สั่น รวมถึงเคสแม่เหล็ก วิธีแก้คือทำการเคลื่อนที่สอบเทียบเป็นรูป “เลข 8” หรือถอดอุปกรณ์เสริมแม่เหล็กออก สำหรับข้อผิดพลาดที่เกิดขึ้นอย่างต่อเนื่อง อาจต้องตรวจสอบเซ็นเซอร์

เข็มทิศจำเป็นต้องสอบเทียบหรือไม่ และทำอย่างไร?

ใช่ การสอบเทียบเข็มทิศจำเป็นเพื่อชดเชยสนามแม่เหล็กปรสิตภายในสมาร์ทโฟน ในอุปกรณ์สมัยใหม่ส่วนใหญ่ การสอบเทียบจะดำเนินการโดยอัตโนมัติในพื้นหลัง สำหรับการสอบเทียบด้วยตนเอง ให้วาด “เลข 8” ด้วยสมาร์ทโฟนในอากาศ — ระบบจะรวบรวมข้อมูลจากทุกมุมและแก้ไขการอ่านค่า

จะเข้าถึงเข็มทิศในแอปพลิเคชัน Android ได้อย่างไร?

บน Android การเข้าถึงเข็มทิศมีให้ผ่าน Sensor API ด้วยเซ็นเซอร์ TYPE_MAGNETIC_FIELD มุมอะซิมุทคำนวณผ่าน SensorManager.getRotationMatrix() และ getOrientation() ซึ่งรวมข้อมูลแมกนีโตมิเตอร์และมาตรความเร่ง มุมอะซิมุทที่ได้สามารถปรับสำหรับการแสดงบนหน้าจอ

สมาร์ทโฟนรุ่นใดมีเข็มทิศแม่นยำที่สุด?

เข็มทิศที่แม่นยำที่สุดติดตั้งในสมาร์ทโฟนที่มีเซ็นเซอร์ IMU สามเท่า (แมกนีโตมิเตอร์ + ไจโรสโคป + มาตรความเร่ง) และระบบสอบเทียบเชิงรุก ผู้นำคือรุ่นเรือธง Google Pixel, Samsung Galaxy S-series และ iPhone Pro — พวกเขาใช้แมกนีโตมิเตอร์ AKM และ Bosch ที่มีความไว 0.3 µT และการแก้ไขอัตโนมัติ

สรุป

  • เข็มทิศ (เข็มทิศดิจิทัล)ในสมาร์ทโฟนคือแมกนีโตมิเตอร์ MEMS ที่วัดสนามแม่เหล็กโลกเพื่อกำหนดมุมอะซิมุทและทิศทางของอุปกรณ์
  • แมกนีโตมิเตอร์สมัยใหม่ใช้ปรากฏการณ์ AMR (แมกนีโตรีซิสแตนซ์แบบแอนไอโซทรอปิก) ให้ความไว 0.3 µT และขนาดกะทัดรัด 2×2 มม.
  • การอ่านค่าเข็มทิศที่แม่นยำต้องมีการสอบเทียบเพื่อชดเชยสนามแม่เหล็กจากลำโพง มอเตอร์สั่น และกล้องของสมาร์ทโฟน
  • ทิศเหนือคำนวณผ่านการรวมเซ็นเซอร์ — การรวมข้อมูลแมกนีโตมิเตอร์กับมาตรความเร่งและไจโรสโคปเพื่อแก้ไขความเอียง
  • เข็มทิศดิจิทัลถูกใช้ในการนำทาง แผนที่ ความเป็นจริงเสริม ดาราศาสตร์ และการติดตามฟิตเนสเพื่อกำหนดทิศทางและทิศทางการเคลื่อนที่
  • บน Android การเข้าถึงเข็มทิศมีให้ผ่าน TYPE_MAGNETIC_FIELD ด้วยการคำนวณมุมอะซิมุทผ่าน getRotationMatrix และ getOrientation
  • ค่าคลาดเคลื่อนแม่เหล็ก (มุมระหว่างทิศเหนือแม่เหล็กและภูมิศาสตร์) ถูกแก้ไขโดยอัตโนมัติใน API การนำทางของ Google และ Apple

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม