Bộ rung trong thiết bị di động: nguyên lý, loại và cấu tạo

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

Bộ rung (motor rung) là một thiết bị điện cơ tạo ra rung động trong điện thoại di động để phản hồi xúc giác và thông báo. Điện thoại thông minh hiện đại sử dụng hai loại motor rung chính: khối lệch tâm quay (ERM) và bộ truyền động cộng hưởng tuyến tính (LRA). Theo All About Circuits, 2024, bộ truyền động LRA cung cấp tốc độ phản hồi nhanh gấp 3 lần so với ERM.

Những điểm chính

  • Bộ rung (motor rung) là thiết bị tạo dao động cơ học trong điện thoại thông minh, được sử dụng cho thông báo và phản hồi xúc giác.
  • Có hai loại motor rung chính: ERM (khối lệch tâm quay) và LRA (bộ truyền động cộng hưởng tuyến tính), khác nhau về nguyên lý hoạt động và đặc tính.
  • Motor ERM quay một khối lượng mất cân bằng tạo ra rung ly tâm, nhưng có thời gian phản hồi chậm 20–50 ms.
  • Bộ truyền động LRA di chuyển nam châm tuyến tính và cung cấp cảm giác xúc giác chính xác hơn với thời gian phản hồi 5–15 ms.
  • Việc điều khiển motor rung được thực hiện qua API Vibrator trên Android và UIFeedbackGenerator trên iOS với hỗ trợ các mẫu rung tùy chỉnh.

Motor rung trong điện thoại thông minh là gì?

Motor rung (bộ rung) là một thiết bị điện cơ thu nhỏ chuyển đổi năng lượng điện thành dao động cơ học để tạo ra rung động trên thân điện thoại thông minh. Mục đích chính của motor rung là thông báo xúc giác về cuộc gọi đến, tin nhắn và cảnh báo mà không cần sử dụng tín hiệu âm thanh. Trong các thiết bị hiện đại, motor rung cũng được sử dụng để phản hồi xúc giác khi tương tác với màn hình cảm ứng.

Mục đích và ứng dụng

Motor rung đầu tiên trong điện thoại di động xuất hiện năm 1992 trên mẫu Motorola Startac để thông báo cuộc gọi im lặng. Ngày nay, rung được sử dụng không chỉ cho thông báo mà còn để xác nhận hành động của người dùng: nhấn phím, vuốt, chạm. Trong điện thoại thông minh hiện đại, motor rung là một phần của hệ thống phản hồi xúc giác cùng với Taptic Engine và bộ truyền động áp điện. Chất lượng rung ảnh hưởng trực tiếp đến cảm nhận về thiết bị: rung chính xác và nhanh được liên kết với chất lượng cao cấp.

Các loại motor rung cho thiết bị di động

Trong ngành công nghiệp di động, hai loại motor rung chính được sử dụng: ERM (khối lệch tâm quay) với khối lượng mất cân bằng quay và LRA (bộ truyền động cộng hưởng tuyến tính) với chuyển động tuyến tính của nam châm. Việc chọn loại phụ thuộc vào yêu cầu về chất lượng phản hồi xúc giác, chi phí và không gian có sẵn bên trong thân điện thoại. Thiết bị giá rẻ thường sử dụng ERM, trong khi thiết bị cao cấp sử dụng LRA.

ERM — motor khối lệch tâm quay

ERM (Eccentric Rotating Mass) là motor rung cổ điển bao gồm motor DC với khối lượng mất cân bằng trên trục. Khi có điện áp, rotor bắt đầu quay và lực ly tâm của khối lượng mất cân bằng truyền đến thân thiết bị, tạo ra rung động. Biên độ rung được điều chỉnh bằng điện áp (2–5 V), tần số bằng tốc độ quay. Motor ERM rẻ để sản xuất, nhưng có quán tính: thời gian tăng tốc đến tốc độ hoạt động là 20–50 ms, sau khi dừng thêm 10–20 ms dư rung quán tính.

LRA — bộ truyền động cộng hưởng tuyến tính

LRA (Linear Resonant Actuator) là motor rung trong đó nam châm di chuyển dọc theo một trục trong từ trường của cuộn dây. Nam châm được treo trên các phần tử đàn hồi đảm bảo trở về vị trí ban đầu. LRA hoạt động ở tần số cộng hưởng (thường 150–200 Hz), đạt biên độ tối đa với mức tiêu thụ điện năng tối thiểu. Thời gian phản hồi của LRA là 5–15 ms, khiến nó nhạy hơn đáng kể so với ERM. LRA nhỏ gọn hơn ERM với lực rung tương đương, lý tưởng cho thiết bị cao cấp.

Tham sốERMLRA
Nguyên lýQuay khối lượng mất cân bằngChuyển động tuyến tính của nam châm
Thời gian phản hồi20–50 ms5–15 ms
Dư rung10–20 ms1–3 ms
Độ chính xácThấpCao
Chi phíThấpTrung bình

ERM và LRA: so sánh đặc tính

Khi chọn motor rung cho điện thoại thông minh, nhà sản xuất xem xét một số tham số chính: thời gian phản hồi, độ chính xác điều khiển biên độ, mức tiêu thụ điện năng và kích thước. Motor ERM chiếm ưu thế về chi phí và dễ điều khiển — chúng chỉ cần điện áp DC để hoạt động. Bộ truyền động LRA yêu cầu driver phức tạp hơn với tạo tín hiệu AC tần số cộng hưởng, nhưng cung cấp cảm giác xúc giác chính xác hơn 3–4 lần.

Theo nghiên cứu của Precision Microdrives, bộ truyền động LRA tiêu thụ ít hơn 40–50% năng lượng so với motor ERM khi tạo rung tương đương về cảm nhận. Điều này là do chế độ hoạt động cộng hưởng: biên độ tối đa đạt được với công suất đầu vào tối thiểu. Đồng thời, motor ERM có thể hoạt động trong dải tần số rộng hơn, tạo rung với cường độ khác nhau chỉ bằng cách thay đổi điện áp.

Cách motor rung hoạt động trong điện thoại

Motor rung trong điện thoại thông minh được điều khiển thông qua driver nhận lệnh từ bộ xử lý trung tâm hoặc bộ điều khiển phản hồi xúc giác chuyên dụng. Driver chuyển đổi lệnh kỹ thuật số thành tín hiệu điện: cho ERM — điện áp DC ở mức nhất định, cho LRA — tín hiệu AC ở tần số cộng hưởng với biên độ có thể điều chỉnh. Điện áp cung cấp cho motor rung thường là 2–5 V ở dòng 50–200 mA.

Chipset Snapdragon hiện đại (Qualcomm) và Dimensity (MediaTek) có khối điều khiển rung tích hợp hỗ trợ các mẫu xúc giác tùy chỉnh. Bộ xử lý gửi đến driver một chuỗi lệnh chỉ định biên độ, thời lượng và dạng sóng cho mỗi xung. Dựa trên thư viện các hiệu ứng được cài đặt sẵn, hệ thống có thể tạo rung cho 10–30 loại thông báo khác nhau với đặc tính cảm giác xúc giác riêng.

Trên iOS, việc điều khiển motor rung được thực hiện qua Core Haptics với hỗ trợ các mẫu phức tạp. Trên Android trước phiên bản 8.0 (API 26), việc điều khiển bị hạn chế: nhà phát triển chỉ có thể bật và tắt rung với thời lượng cố định. Bắt đầu từ Android 8.0, lớp VibrationEffect xuất hiện với hỗ trợ dạng sóng tổng hợp, hiệu ứng sóng và biên độ có thể điều chỉnh.

Sử dụng rung trong ứng dụng di động

Rung trong ứng dụng di động được sử dụng cho một số kịch bản: thông báo sự kiện (cuộc gọi, tin nhắn), xác nhận xúc giác của hành động (nhấn nút, chuyển công tắc), phản hồi xúc giác trong trò chơi và tính năng trợ năng cho người khiếm thính. Mỗi kịch bản yêu cầu tham số rung khác nhau: xung ngắn để xác nhận, rung kéo dài cho thông báo.

Rung được cấu hình đúng cách cải thiện đáng kể trải nghiệm người dùng. Phản hồi xúc giác ngắn khi nhấn nút tạo cảm giác tương tác vật lý và giảm tải nhận thức. Trong trò chơi, rung được sử dụng để tạo sự đắm chìm: mô phỏng tiếng súng, va chạm, hoạt động động cơ. Theo Google Material Design, nên sử dụng rung có thời lượng 10–40 ms để xác nhận xúc giác và 200–1000 ms cho thông báo, để không gây khó chịu cho người dùng.

Đối với trợ năng, rung đóng vai trò quan trọng: nó cho phép người khiếm thị nhận phản hồi xúc giác về các sự kiện trên màn hình. TalkBack trên Android và VoiceOver trên iOS gửi tín hiệu rung khi làm nổi bật phần tử giao diện, xác nhận hành động và nhận thông báo. Các mẫu rung thích ứng giúp phân biệt loại sự kiện mà không cần kiểm soát thị giác.

Điều khiển rung theo chương trình trên Android

Để làm việc với motor rung trên Android, dịch vụ hệ thống Vibrator được sử dụng, có thể truy cập qua phương thức getSystemService(). Bắt đầu từ Android 10 (API 29), VibratorManager đã được thêm vào — một API thống nhất để quản lý rung trên các thiết bị có nhiều motor rung. Để tương thích với các phiên bản cũ hơn, nhà phát triển sử dụng Vibrator trực tiếp với kiểm tra tính khả dụng của phương thức createOneShot().

kotlin
import android.os.VibrationEffect
import android.os.Vibrator
import android.os.VibratorManager
import android.content.Context

class VibrationHelper(private val context: Context) {
    private val vibrator: Vibrator get() {
        return if (Build.VERSION.SDK_INT >= 31) {
            val manager = context.getSystemService(Context.VIBRATOR_MANAGER_SERVICE)
                as VibratorManager
            manager.getDefaultVibrator()
        } else {
            context.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
        }
    }

    fun playShortClick() {
        val effect = VibrationEffect.createOneShot(30L, VibrationEffect.DEFAULT_AMPLITUDE)
        vibrator.vibrate(effect)
    }

    fun playWaveform() {
        val timings = longArrayOf(0L, 50L, 100L, 50L)
        val amplitudes = intArrayOf(128, 255, 64, 255)
        val effect = VibrationEffect.createWaveform(timings, amplitudes, -1)
        vibrator.vibrate(effect)
    }
}

Lớp VibrationEffect hỗ trợ hai loại hiệu ứng: createOneShot — xung đơn với thời lượng và biên độ được chỉ định, và createWaveform — mẫu sóng tổng hợp với mảng thời gian và biên độ. Khi sử dụng createWaveform, mảng thời gian chỉ định chuỗi kích hoạt và tạm dừng, trong khi mảng biên độ chỉ định mức rung (0–255) cho mỗi đoạn. Tham số repeat chỉ định chỉ mục bắt đầu lặp lại mẫu (-1 để phát một lần).

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

Những loại motor rung nào được sử dụng trong điện thoại thông minh?

Điện thoại thông minh hiện đại sử dụng hai loại motor rung chính: ERM (khối lệch tâm quay) trong thiết bị giá rẻ và LRA (bộ truyền động cộng hưởng tuyến tính) trong mẫu cao cấp. ERM rẻ hơn nhưng chậm và kém chính xác, trong khi LRA cung cấp cảm giác xúc giác rõ ràng.

Sự khác biệt giữa motor rung ERM và LRA là gì?

ERM tạo rung bằng cách quay khối lượng mất cân bằng, có thời gian phản hồi 20–50 ms và dư rung quán tính. LRA di chuyển nam châm tuyến tính trong từ trường cuộn dây với thời gian phản hồi 5–15 ms và hầu như không có dư rung. LRA cung cấp cảm giác xúc giác chính xác và đa dạng hơn.

Có thể tắt rung trên điện thoại thông minh không?

Có, người dùng có thể tắt rung trong cài đặt âm thanh và xúc giác của điện thoại thông minh. Trên Android, thực hiện qua “Âm thanh và rung” → “Phản hồi xúc giác”, trên iOS — “Âm thanh và xúc giác” → “Xúc giác hệ thống”. Tắt áp dụng cho tất cả ứng dụng.

Làm thế nào để kiểm tra motor rung trong điện thoại có hoạt động không?

Bạn có thể kiểm tra motor rung qua menu kỹ thuật: quay số *#0*# trên Samsung hoặc *#*#6484#*#* trên Xiaomi và chọn kiểm tra rung. Trên iPhone: Cài đặt → Trợ năng → Cảm ứng → Rung và bật “Rung ở chế độ chuông”. Nếu không có rung, motor có thể bị lỗi.

Có thể thay đổi tham số rung cho các ứng dụng khác nhau không?

Trên Android, bạn có thể cấu hình rung cho từng ứng dụng qua Cài đặt → Thông báo → Danh mục thông báo ứng dụng. Trên iOS, rung được cấu hình qua “Âm thanh và xúc giác” → chọn loại thông báo → “Xúc giác” với lựa chọn mẫu được cài đặt sẵn.

Tổng kết

  • Bộ rung (motor rung) là thành phần chính của hệ thống phản hồi xúc giác trong điện thoại thông minh, truyền rung đến người dùng.
  • Hai loại motor rung chính — ERM và LRA — khác nhau về nguyên lý hoạt động, thời gian phản hồi, độ chính xác điều khiển và chi phí.
  • Motor ERM được sử dụng trong thiết bị giá rẻ nhờ chi phí thấp và điều khiển đơn giản, nhưng có phản hồi chậm.
  • Bộ truyền động LRA được sử dụng trong điện thoại thông minh cao cấp (iPhone, Galaxy S, Pixel) để phản hồi xúc giác chính xác và nhanh.
  • Điều khiển rung theo chương trình trên Android được thực hiện qua API Vibrator và VibrationEffect, trên iOS qua Core Haptics và UIFeedbackGenerator.
  • Chipset Qualcomm và MediaTek hiện đại có khối điều khiển rung tích hợp hỗ trợ mẫu xúc giác tùy chỉnh mà không cần driver riêng.
  • Việc chọn loại motor rung ảnh hưởng đến chi phí và cảm nhận cao cấp của thiết bị nhưng ít tác động đến mức tiêu thụ điện năng khi sử dụng thông thường.

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