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
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.
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.
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.
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ạy | Tiêu thụ điện năng | Kích thước |
|---|---|---|---|
| Hall | Trung bình | Thấp | Trung bình |
| AMR | Cao | Thấp | Nhỏ |
| GMR | Rất cao | Trung bình | Nhỏ |
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ị.
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 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.
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ị.
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.
Để 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.
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ố 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ị.
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.
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.
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.
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
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.
Đọc thêm