Vibrator (вибромотор) — это электромеханическое устройство, создающее вибрацию в мобильных телефонах для тактильной обратной связи и уведомлений. В современных смартфонах применяются два основных типа вибромоторов: эксцентриковые (ERM) и линейные резонансные актуаторы (LRA). По данным All About Circuits, 2024, LRA-актуаторы обеспечивают в 3 раза более быстрое время отклика по сравнению с ERM.
Главное
Вибромотор (vibrator) — это миниатюрное электромеханическое устройство, которое преобразует электрическую энергию в механические колебания для создания вибрации корпуса смартфона. Основное назначение вибромотора — тактильное оповещение пользователя о входящих звонках, сообщениях и уведомлениях без использования звукового сигнала. В современных устройствах вибромотор также используется для тактильной обратной связи при взаимодействии с сенсорным экраном.
Первый вибромотор в мобильном телефоне появился в 1992 году в модели Motorola Startac для бесшумного оповещения о звонках. Сегодня вибрация используется не только для уведомлений, но и для подтверждения действий пользователя: нажатия клавиш, свайпов, касаний. В современных смартфонах вибромотор входит в состав системы Haptic Feedback наряду с Taptic Engine и пьезоэлектрическими актуаторами. Качество вибрации напрямую влияет на восприятие устройства: точная и быстрая вибрация ассоциируется с премиальностью.
В мобильной индустрии используются два основных типа вибромоторов: ERM (Eccentric Rotating Mass) с вращающимся дисбалансным грузом и LRA (Linear Resonant Actuator) с линейным перемещением магнита. Выбор типа зависит от требований к качеству тактильных ощущений, стоимости и доступного места внутри корпуса смартфона. В бюджетных устройствах чаще применяются ERM, в премиальных — LRA.
ERM (Eccentric Rotating Mass) — классический вибромотор, состоящий из электродвигателя постоянного тока с несимметричным грузом на валу. При подаче напряжения ротор начинает вращаться, и центробежная сила дисбалансного груза передаётся на корпус устройства, создавая вибрацию. Амплитуда вибрации регулируется напряжением (2–5 В), частота — скоростью вращения. ERM дёшевы в производстве, но обладают инерционностью: время разгона до рабочей скорости составляет 20–50 мс, после остановки — ещё 10–20 мс инерционного послезвучия.
LRA (Linear Resonant Actuator) — вибромотор, в котором магнит перемещается вдоль одной оси в магнитном поле катушки. Магнит подвешен на упругих элементах, обеспечивающих возврат в исходное положение. LRA работает на резонансной частоте (обычно 150–200 Гц), что позволяет достичь максимальной амплитуды при минимальном энергопотреблении. Время отклика LRA составляет 5–15 мс, что делает его значительно более отзывчивым по сравнению с ERM. LRA компактнее ERM при сопоставимой силе вибрации, оптимален для премиальных устройств.
| Параметр | ERM | LRA |
|---|---|---|
| Принцип | Вращение дисбалансного груза | Линейное движение магнита |
| Время отклика | 20–50 мс | 5–15 мс |
| Послезвучие | 10–20 мс | 1–3 мс |
| Точность | Низкая | Высокая |
| Стоимость | Низкая | Средняя |
При выборе вибромотора для смартфона производители учитывают несколько ключевых параметров: время отклика, точность управления амплитудой, энергопотребление и размер. ERM-моторы выигрывают по стоимости и простоте управления — для работы им достаточно подачи постоянного напряжения. LRA-актуаторы требуют более сложного драйвера с генерацией переменного сигнала резонансной частоты, но обеспечивают в 3–4 раза более чёткие тактильные ощущения.
По данным исследования Precision Microdrives, LRA-актуаторы потребляют на 40–50% меньше энергии, чем ERM-моторы при создании сопоставимой по восприятию вибрации. Это связано с резонансным режимом работы: максимальная амплитуда достигается при минимальной подводимой мощности. В то же время ERM-моторы могут работать в более широком диапазоне частот, создавая вибрацию разной интенсивности простым изменением напряжения.
Вибромотор в смартфоне управляется через драйвер, который получает команды от базового процессора или выделенного контроллера тактильной обратной связи. Драйвер преобразует цифровые команды в электрические сигналы: для ERM — постоянное напряжение определённого уровня, для LRA — переменный сигнал резонансной частоты с регулируемой амплитудой. Напряжение питания вибромоторов обычно составляет 2–5 В при токе 50–200 мА.
Современные чипсеты Snapdragon (Qualcomm) и Dimensity (MediaTek) имеют встроенные блоки управления вибрацией, поддерживающие кастомные тактильные паттерны. Процессор отправляет драйверу последовательность команд с указанием амплитуды, длительности и формы сигнала для каждого импульса. На основе библиотеки предустановленных эффектов система может генерировать вибрацию для 10–30 различных типов уведомлений с индивидуальными характеристиками тактильного ощущения.
На iOS управление вибромотором осуществляется через Core Haptics с поддержкой сложных паттернов. На Android до версии 8.0 (API 26) управление было ограничено: разработчик мог только включать и выключать вибрацию фиксированной длительности. Начиная с Android 8.0 появился класс VibrationEffect с поддержкой составных волновых форм, волнообразных эффектов и настраиваемой амплитуды.
Вибрация в мобильных приложениях применяется для нескольких сценариев: уведомления о событиях (звонки, сообщения), тактильное подтверждение действий (нажатие кнопок, переключение переключателей), игровая тактильная обратная связь и специальные возможности для пользователей с ограничениями слуха. Каждый сценарий требует разных параметров вибрации: короткий импульс для подтверждения, продолжительная вибрация для уведомления.
Правильно настроенная вибрация существенно улучшает пользовательский опыт. Короткий тактильный отклик при нажатии кнопки создаёт ощущение физического взаимодействия и снижает когнитивную нагрузку. В играх вибрация используется для эффекта погружения: имитация выстрелов, столкновений, работы двигателя. По данным Google Material Design, рекомендуется использовать вибрацию длительностью 10–40 мс для тактильного подтверждения и 200–1000 мс для уведомлений, чтобы не вызывать раздражения у пользователя.
Для специальных возможностей (accessibility) вибрация играет ключевую роль: она позволяет пользователям с нарушениями зрения получать тактильную обратную связь о событиях на экране. TalkBack на Android и VoiceOver на iOS отправляют вибрационные сигналы при выделении элементов интерфейса, подтверждении действий и получении уведомлений. Адаптивные вибрационные паттерны помогают различать типы событий без зрительного контроля.
Для работы с вибромотором на Android используется системный сервис Vibrator, доступный через метод getSystemService(). Начиная с Android 10 (API 29) добавлен VibratorManager — единый API для управления вибрацией на устройствах с несколькими вибромоторами. Для совместимости с более старыми версиями разработчики используют Vibrator напрямую с проверкой доступности метода createOneShot().
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)
}
}
Класс VibrationEffect поддерживает два типа эффектов: createOneShot — одиночный импульс с заданной длительностью и амплитудой, и createWaveform — составной волновой паттерн с массивом таймингов и амплитуд. При использовании createWaveform массив таймингов задаёт последовательность включений и пауз, а массив амплитуд — уровень вибрации (0–255) для каждого сегмента. Параметр repeat указывает индекс начала повторения паттерна (-1 для однократного воспроизведения).
Часто задаваемые вопросы
В современных смартфонах используются два основных типа вибромоторов: ERM (эксцентриковые с вращающимся грузом) в бюджетных устройствах и LRA (линейные резонансные актуаторы) в премиальных моделях. ERM дешевле, но медленнее и менее точны, LRA обеспечивают чёткие тактильные ощущения.
ERM создаёт вибрацию вращением несимметричного груза, имеет время отклика 20–50 мс и инерционное послезвучие. LRA перемещает магнит линейно в магнитном поле катушки с откликом 5–15 мс и практически без послезвучия. LRA обеспечивает более чёткие и разнообразные тактильные ощущения.
Да, пользователь может отключить вибрацию в настройках звука и тактильных сигналов смартфона. На Android это делается через «Звуки и вибрация» → «Тактильная обратная связь», на iOS — «Звуки и тактильные сигналы» → «Системные тактильные сигналы». Отключение распространяется на все приложения.
Проверить вибромотор можно через инженерное меню: набрать *#0*# на Samsung или *#*#6484#*#* на Xiaomi и выбрать тест вибрации. На iPhone: Настройки → Универсальный доступ → Тактильные сигналы → включить «Тактильные сигналы в режиме звонка». Если вибрации нет — возможна неисправность мотора.
На Android можно настроить вибрацию для отдельных приложений через Настройки → Уведомления → Категории уведомлений приложения. На iOS вибрация настраивается через «Звуки и тактильные сигналы» → выберите тип уведомления → «Тактильные сигналы» с выбором предустановленного паттерна.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также