Compass trong điện thoại thông minh — bản chất, nguyên lý hoạt động và ứng dụng

Tác giả: IT Sectr Đã đăng: 2026-03-25 Thời gian đọc: 8 phút

La bàn (compass) trong điện thoại thông minh là một cảm biến kỹ thuật số dựa trên từ kế, xác định hướng tới các cực từ của Trái Đất. Công nghệ này cho phép các ứng dụng điều hướng, bản đồ và thực tế tăng cường xác định chính xác hướng của thiết bị trong không gian. Theo STMicroelectronics, 2025, các từ kế MEMS hiện đại cung cấp độ chính xác xác định hướng lên tới 1–2 độ.

Những điểm chính

  • Compass trong điện thoại thông minh là la bàn kỹ thuật số dựa trên từ kế MEMS đo từ trường Trái Đất.
  • Các từ kế hiện đại sử dụng hiệu ứng Hall hoặc hiệu ứng từ điện trở để xác định hướng của từ trường.
  • Để la bàn kỹ thuật số hoạt động chính xác, cần hiệu chuẩn — bù trừ các từ trường ký sinh từ loa và các thành phần khác.
  • Từ kế trong điện thoại thông minh đo từ trường theo ba trục (X, Y, Z), cho phép xác định hướng ở bất kỳ tư thế nào của thiết bị.
  • La bàn kỹ thuật số được sử dụng trong các ứng dụng điều hướng, thực tế tăng cường, dịch vụ định vị và chương trình thiên văn.

La bàn kỹ thuật số trong điện thoại thông minh là gì?

La bàn kỹ thuật số trong điện thoại thông minh là một cảm biến dựa trên từ kế, đo cường độ từ trường Trái Đất và xác định góc phương vị (góc so với bắc từ). Khác với la bàn cơ học, la bàn kỹ thuật số sử dụng hệ thống vi cơ điện tử (MEMS) để phát hiện từ trường. Từ kế đo trường theo ba trục, cho phép xác định chính xác hướng ở bất kỳ độ nghiêng nào của điện thoại thông minh.

Cảm biến hoạt động như thế nào

Từ kế MEMS hiện đại là một vi mạch có kích thước 2×2×1 mm, được tích hợp vào thân điện thoại thông minh cùng với gia tốc kế và con quay hồi chuyển (như một phần của IMU 9 trục). Cảm biến không chỉ đo hướng mà còn đo cường độ từ trường Trái Đất (25–65 µT tùy theo vĩ độ). Sự hiện diện của các vật kim loại và từ trường ký sinh từ loa, động cơ rung và máy ảnh tạo ra méo mó, do đó cần hiệu chỉnh phần mềm các số đọc để hoạt động chính xác.

La bàn kỹ thuật số đầu tiên trong điện thoại di động xuất hiện vào năm 2009 với sự ra mắt của iPhone 3GS — chiếc điện thoại thông minh đầu tiên có từ kế tích hợp. Ngày nay, từ kế được lắp đặt trong đại đa số điện thoại thông minh, bao gồm cả các mẫu giá rẻ. Theo Yole Group, thị trường từ kế MEMS cho thiết bị di động vượt quá 1,5 tỷ đơn vị mỗi năm, xác nhận nhu cầu về công nghệ này.

Nguyên lý hoạt động của từ kế

Cốt lõi của từ kế MEMS là một phần tử cảm biến thay đổi đặc tính điện của nó dưới tác động của từ trường bên ngoài. Điện thoại thông minh hiện đại sử dụng hiệu ứng Hall hoặc hiệu ứng từ điện trở (AMR — Anisotropic Magneto-Resistance). Nguyên lý dựa trên thực tế rằng vật liệu mang dòng điện thay đổi điện trở khi tiếp xúc với từ trường và vectơ từ trường được tính từ sự thay đổi điện áp.

Hiệu ứng Hall và AMR

Cảm biến hiệu ứng Hall phát hiện sự thay đổi điện áp ở các cạnh của tấm bán dẫn gây ra bởi lực Lorentz tác dụng lên các điện tích chuyển động. Cảm biến từ điện trở (AMR) sử dụng màng permalloy (NiFe) có điện trở phụ thuộc vào hướng của từ trường. Cảm biến AMR cung cấp kích thước nhỏ hơn và độ nhạy cao hơn so với cảm biến Hall, do đó chúng chiếm ưu thế trong điện thoại thông minh hiện đại.

LoạiĐộ nhạyTiêu thụ điện năngKích thước
HallTrung bìnhThấpTrung bình
AMRCaoThấpNhỏ
GMRRất caoTrung bìnhNhỏ

Dữ liệu từ kế được kết hợp với số đọc của gia tốc kế để hiệu chỉnh độ nghiêng và xác định hướng bắc trong mặt phẳng ngang. Thuật toán kết hợp cảm biến sử dụng bộ lọc Madgwick hoặc bộ lọc Kalman để kết hợp dữ liệu từ từ kế, con quay hồi chuyển và gia tốc kế. Điều này cung cấp góc phương vị ổn định và chính xác ngay cả khi xoay nhanh và lắc thiết bị.

Các loại từ kế trong thiết bị di động

Trong ngành công nghiệp di động, ba loại từ kế MEMS chính được sử dụng: hiệu ứng Hall, từ điện trở dị hướng (AMR) và từ điện trở khổng lồ (GMR). Từ kế AMR được sử dụng rộng rãi nhất trong điện thoại thông minh nhờ sự cân bằng tối ưu giữa độ nhạy, tiêu thụ điện năng và chi phí. Các nhà sản xuất hàng đầu là AKM (Asahi Kasei Microdevices), STMicroelectronics và Bosch Sensortec.

Độ nhạy của từ kế AMR trong điện thoại thông minh điển hình là 0,3–1 µT với dải động ±1000 µT (±8 Gauss), đủ để đo chính xác từ trường Trái Đất (30–65 µT) và bù trừ các trường ký sinh. Tốc độ lấy mẫu của cảm biến có thể đạt 100–200 Hz, nhưng hầu hết các ứng dụng sử dụng 10–50 Hz để tiết kiệm năng lượng. Bù trừ tự động nhiệt độ và biến dạng vỏ được thực hiện ở cấp độ trình điều khiển cảm biến.

Hiệu chuẩn la bàn kỹ thuật số

Hiệu chuẩn la bàn là quá trình bù trừ các từ trường ký sinh được tạo ra bởi các thành phần của điện thoại thông minh: loa, động cơ rung, máy ảnh và pin. Nếu không hiệu chuẩn, số đọc của từ kế có thể sai lệch so với hướng thực từ 10–30 độ. Hệ thống hiệu chuẩn xác định ma trận bù (hard-iron bias) theo ba trục và áp dụng nó để hiệu chỉnh tất cả các phép đo tiếp theo.

Thuật toán và phương pháp hiệu chuẩn

Phương pháp hiệu chuẩn la bàn tiêu chuẩn là vẽ hình “số 8”: người dùng xoay điện thoại thông minh theo quỹ đạo giống như số 8. Trong quá trình di chuyển, cảm biến ghi lại từ trường ở mọi hướng có thể, và thuật toán tích lũy các điểm và xấp xỉ một hình cầu với tâm lệch khỏi số không. Bán kính hình cầu tương ứng với độ lớn từ trường Trái Đất và tâm đại diện cho vectơ bù ký sinh. Sau khi xấp xỉ, hệ thống tính toán các hệ số hiệu chỉnh cho mỗi trục.

Các thuật toán hiệu chuẩn hiện đại từ Qualcomm và MediaTek thực hiện hiệu chuẩn nền liên tục mà không cần sự can thiệp của người dùng. Chúng phân tích các thay đổi của từ trường trong quá trình xoay thiết bị và tự động cập nhật các tham số hiệu chỉnh. Nếu cảm biến phát hiện một trường ký sinh mới (ví dụ: khi gắn ốp từ tính), hệ thống sẽ bắt đầu hiệu chuẩn lại trong vòng 1–2 giây chuyển động liên tục của thiết bị.

Sử dụng la bàn trong ứng dụng di động

La bàn kỹ thuật số được sử dụng trong nhiều ứng dụng di động. Công dụng chính là trong các dịch vụ điều hướng và bản đồ (Google Maps, Yandex.Maps, 2GIS), xác định hướng của thiết bị trên bản đồ để hiển thị chính xác hướng di chuyển của người dùng. Trong các ứng dụng thực tế tăng cường (AR), la bàn đảm bảo vị trí chính xác của các đối tượng ảo so với các hướng chính.

Trong các ứng dụng thiên văn (Star Walk, SkySafari), la bàn kết hợp với gia tốc kế xác định hướng mà điện thoại thông minh đang chỉ và hiển thị khu vực tương ứng của bầu trời đêm. Các ứng dụng câu cá và du lịch sử dụng la bàn để đánh dấu các điểm quan tâm trên bản đồ với tham chiếu góc phương vị. Theo dõi thể dục với GPS sử dụng số đọc la bàn để xác định hướng chạy hoặc đạp xe, cải thiện độ chính xác hiển thị tuyến đường.

Sử dụng la bàn qua Android API

Để truy cập la bàn kỹ thuật số trên Android, cảm biến TYPE_MAGNETIC_FIELD từ Sensor API được sử dụng. Các nhà phát triển đăng ký một trình lắng nghe các thay đổi của số đọc từ kế và nhận một mảng các giá trị cường độ từ trường theo ba trục tính bằng microtesla. Để xác định góc phương vị, dữ liệu từ kế được kết hợp với dữ liệu gia tốc kế qua ma trận xoay bằng cách kết hợp cảm biến.

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())
        // góc phương vị: 0 = bắc, 90 = đông, 180 = nam, 270 = tây
    }

    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) {}
}

Góc phương vị thu được qua getOrientation được đo bằng radian và có thể nhận giá trị từ -π đến π, trong đó 0 tương ứng với bắc từ. Để hiển thị trên màn hình, các giá trị được chuyển đổi sang độ (Math.toDegrees) chuẩn hóa về phạm vi 0–360. Điều quan trọng là phải tính đến độ lệch từ — góc giữa bắc từ và bắc thực (địa lý), phụ thuộc vào vị trí địa lý và thay đổi theo thời gian. Google Maps tự động điều chỉnh độ lệch qua GeomagneticField API.

Câu hỏi thường gặp

La bàn kỹ thuật số trong điện thoại thông minh hoạt động như thế nào?

La bàn kỹ thuật số sử dụng từ kế MEMS — một chip 2×2 mm đo từ trường Trái Đất theo ba trục. Dữ liệu từ kế được kết hợp với số đọc gia tốc kế để xác định góc phương vị — góc giữa hướng bắc và hướng của thiết bị.

Tại sao la bàn trên điện thoại hiển thị sai hướng?

Các số đọc la bàn không chính xác thường do thiếu hiệu chuẩn, nhiễu từ từ loa hoặc động cơ rung, cũng như ốp từ tính. Giải pháp là thực hiện chuyển động hiệu chuẩn hình “số 8” hoặc tháo các phụ kiện từ tính. Đối với lỗi dai dẳng, có thể cần kiểm tra cảm biến.

La bàn có cần hiệu chuẩn không và làm thế nào?

Có, hiệu chuẩn la bàn là cần thiết để bù trừ các từ trường ký sinh bên trong điện thoại thông minh. Trong hầu hết các thiết bị hiện đại, hiệu chuẩn được thực hiện tự động trong nền. Để hiệu chuẩn thủ công, vẽ hình “số 8” bằng điện thoại thông minh trong không khí — hệ thống sẽ thu thập dữ liệu từ mọi góc độ và hiệu chỉnh số đọc.

Làm thế nào để truy cập la bàn trong ứng dụng Android?

Trên Android, quyền truy cập la bàn được cung cấp qua Sensor API với cảm biến TYPE_MAGNETIC_FIELD. Góc phương vị được tính qua SensorManager.getRotationMatrix() và getOrientation(), kết hợp dữ liệu từ kế và gia tốc kế. Góc phương vị kết quả có thể được điều chỉnh để hiển thị trên màn hình.

Những mẫu điện thoại thông minh nào có la bàn chính xác nhất?

La bàn chính xác nhất được lắp đặt trong điện thoại thông minh có cảm biến IMU ba (từ kế + con quay hồi chuyển + gia tốc kế) và hệ thống hiệu chuẩn chủ động. Dẫn đầu là các mẫu flagship Google Pixel, Samsung Galaxy S-series và iPhone Pro — chúng sử dụng từ kế AKM và Bosch với độ nhạy 0,3 µT và hiệu chỉnh tự động.

Tổng kết

  • Compass (la bàn kỹ thuật số) trong điện thoại thông minh là từ kế MEMS đo từ trường Trái Đất để xác định góc phương vị và hướng của thiết bị.
  • Các từ kế hiện đại sử dụng hiệu ứng AMR (từ điện trở dị hướng), cung cấp độ nhạy 0,3 µT và kích thước nhỏ gọn 2×2 mm.
  • Số đọc la bàn chính xác yêu cầu hiệu chuẩn để bù trừ từ trường từ loa, động cơ rung và máy ảnh của điện thoại thông minh.
  • Hướng bắc được tính qua kết hợp cảm biến — kết hợp dữ liệu từ kế với gia tốc kế và con quay hồi chuyển để hiệu chỉnh độ nghiêng.
  • La bàn kỹ thuật số được sử dụng trong điều hướng, bản đồ, thực tế tăng cường, thiên văn và theo dõi thể dục để xác định hướng và hướng di chuyển.
  • Trên Android, quyền truy cập la bàn được cung cấp qua TYPE_MAGNETIC_FIELD với tính toán góc phương vị qua getRotationMatrix và getOrientation.
  • Độ lệch từ (góc giữa bắc từ và bắc địa lý) được tự động hiệu chỉnh trong API điều hướng của Google và Apple.

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm