Вібромотор (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 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.
Читайте також