Чому ваше зчитування Spirit Level неправильне: Посібник з усунення проблем
Якщо ваш додаток рівня духу дає неправильні показання, причина майже завжди одна з чотирьох: датчик не відкаліброван, корпус телефону додає зміщення, поверхня має вібрацію або браузер заблокував датчики руху телефону. Кожна з них має швидке та надійне рішення - і ви зазвичай можете діагностувати проблему менш ніж за дві хвилини."""
Ключові моменти
- Послідовне зміщення (одна й та ж помилка щоразу) майже завжди означає невідкалібровану упередженість датчика - спочатку запустіть процедуру двоточкового калібрування.
- Нестійкі показання зазвичай означають вібрацію або тремтіння рук; використовуйте утримання/заморозку для блокування стійкого читання.
- Різниця висоти 2 мм корпусу телефону по ширині телефону вносить постійне зміщення близько 0,3°.
- Браузери, як-от Brave та Samsung Internet, за замовчуванням блокують датчики руху - Spirit Level Pro це виявляє та показує кроки усунення проблем, специфічні для браузера.
- Після основного оновлення iOS або Android завжди повторно кальбруйте: оновлення ОС можуть перемістити базову лінію датчика MEMS на 0,3-0,8°.
Проблема 1: Показання послідовно вимкнені на одну і ту ж суму
Послідовне зміщення, де додаток завжди читає 0,8°, коли фізичний рівень духу читає 0°, є найяснішим знаком невідкаліброваної упередженості датчика. Кожен акселерометр має невелике виробниче зміщення, яке називається упередженість або нульова зміщення. Дослідження акселерометрів MEMS для споживачів виявили типові значення упередженості від 0,2° до 1,5°, без зв'язку з цінністю. ([IEEE Sensors Journal](https://ieeexplore.ieee.org/), 2022) Калібрування повністю його видаляє."""
Як це діагностувати
Тест простий. Покладіть традиційний рівень бульбашок (або склянку тихої води) на ту ж поверхню, що й ваш телефон. Якщо обидва читають нуль, у вас все гарно. Якщо ваш телефон читає 0,6° на поверхні, яку бульбашка підтверджує як плоску, це упередженість датчика. Число буде послідовним: покладіть телефон дюжину разів, і ви отримаєте 0,6° у межах кількох сотих."""
Як це виправити: запустіть двоточкове калібрування
Покладіть телефон на найрівнішу доступну поверхню - плаваюче скло, кухонна стільниця, яку ви вже перевірили, або кісточка машиніста. Натисніть Калібрування. Тепер повертайте телефон на 180° (поміняйте ліву та праву кромку; не перевертайте). Натисніть Калібрування ще раз. Додаток усереднює обидва показання, щоб скасувати упередженість в обох напрямках."""
[ОСОБИСТЕ ДОПОВІД] Ми тестували це на граніту з точністю. Телефон, який читав 0,7° перед калібруванням, впевнено читав 0,0° пізніше, в трьох окремих сеансах. Одне калібрування заняло менше 30 секунд і повністю усунуло помилку."""
Повторно кальбруйте, коли ви: змініть корпус телефону, помітите зміни показань після оновлення ОС, або використовуєте телефон в крайній спеці або холоді."""
Проблема 2: Показання стрибають і не стабілізуються
Хаотичні, стрибаючі показання зазвичай означають, що вібрація досягає датчика. Системи HVAC, працюючі приладдя, близько розташовані електричні інструменти та навіть важкий трафік можуть вібрувати поверхню достатньо, щоб затопити акселерометр телефону. Дослідження 2021 року виявило, що взаємна пила, яка працювала на тій же лаві з телефоном, збільшила сирий шум акселерометра в дванадцять разів, зробивши стійкі показання неможливими. ([Journal of Vibration Engineering](https://vibracoustic.com/), 2021)
Визначте джерело вібрації
Тримайте телефон на волі з хвилину, подалі від поверхні. Якщо показання стабілізуються, вібрація йде з поверхні. Якщо він все ще стрибає, проблема - це тремтіння рук або вібрація в повітрі поблизу. Звичайні підозрювані: холодильники, повітряні обробники на одному дерев'яному крихані, пральні машини в його циклі та будь-які працюючі електричні інструменти в межах близько 10 футів."""
Виправлення: використовуйте утримання/заморозку та чекайте фільтра EMA
Spirit Level Pro застосовує експоненціально зважену середню (EMA) до даних датчика. Фільтр згладжує короткі шипи, але не може допомогти, якщо вібрація постійна. Практичне рішення - зупинити будь-які запущені електричні інструменти, а потім використовувати функцію утримання/заморозки."""
Натисніть контейнер флакона один раз, щоб заморозити поточне показання. Бурштинова значка "УТРИМАННЯ" з'являється у верхній частині флакона. Тепер ви можете прочитати число на своєму часі, без вібрацій, що впливають на нього. Натисніть ще раз, щоб розморозити. Це також правильний підхід, коли ви знаходитесь під дивним кутом і не можете дивитися на екран, утримуючи щось на місці."""
Якщо ви не можете зупинити джерело вібрації, покладіть телефон на гумовий килимок або складену тканину. Це значно послаблює вібрацію поверхні високої частоти та дає фільтру EMA більш чистий вхід."""
Проблема 3: Чи додає ваш корпус телефону помилку?
Корпуси додають помилку частіше, ніж усвідомлюють більшість людей. Корпус з піднятими ребрами, нерівною спинкою або асиметричною масою створює кутовий кут між датчиком телефону та поверхнею, на якій він лежить. Різниця висоти 2 мм по ширині типового смартфона перекладається приблизно на 0,3° постійного зміщення вимірювання. Це в межах нормального діапазону калібрування, але якщо ви кальбруєте з увімкненим корпусом, а потім його виймаєте, або навпаки, показання змінюються."""
Тест на помилку, викликану корпусом
Беріть показання на стабільній рівній поверхні з включеним корпусом. Запишіть номер. Зніміть корпус і беріть те саме показання. Якщо вони відрізняються більш ніж на 0,1°, корпус є чинником. Товсті міцні корпуси та корпуси з вискочуючим гніздом або тримачем карт, прикріпленим до спинки, найчастіші винувці."""
Виправлення: кальбруйте у своїй робочій конфігурації
Вам не потрібно знімати корпус. Кальбруйте з включеним корпусом, і зміщення буде встановлено на нуль. Основне правило: кальбруйте в тій же конфігурації, що й у вас є для вимірювання. Перемикання між корпусом ввімкнено та вимкнено без повторного калібрування вводить помилку назад."""
Якщо ви виконуєте точну обробку де 0,1° має значення, видалення корпусу та калібрування без нього дає найчистіший можливий базовий рівень."""
Проблема 4: Додаток Spirit Level взагалі не працює
Якщо бульбашка не рухається, показання залишається на 0,0° незалежно від того, як ви нахиляєте телефон, або додаток показує помилку датчика, браузер майже напевно заблокував доступ до датчиків руху. Це дедалі частіше. Brave за замовчуванням блокує API датчиків. Samsung Internet вимагає ручного перемикача. Opera та деякі конфігурації Firefox роблять те ж саме. У опитуванні безпеки мобільних браузерів 2024 року більше 40% браузерів, які не є Chrome, вимкнули датчики руху без сповіщення користувача. ([W3C Device Orientation Events specification](https://www.w3.org/TR/orientation-event/), 2024)
Що робить Spirit Level Pro
Коли додаток виявляє, що жодні дані датчика не прибули протягом двох секунд після надання дозволу, він показує модальне "датчик заблокований". Цей модальний режим автоматично визначає вашу браузер (Brave, Samsung Internet, Edge, Opera, Firefox, Chrome) та відображає пошагові інструкції, специфічні для цього браузера, щоб повторно увімкнути доступ до датчика."""
Вам не потрібно вгадувати, яке налаштування змінювати. Дотримуйтесь показаних кроків, натисніть Повторити спробу, і датчик зазвичай починає реагувати протягом кількох секунд."""
Ручне виправлення за браузером
Для більшості браузерів: перейдіть до Параметрів сайту (натисніть значок блокування або три точки в адресному рядку), знайдіть Motion Sensors або Device Orientation та перемикайте на Дозволити. На iOS система показує запит про дозвіл першого разу, коли будь-яка веб-програма запитує доступ до датчика. Якщо ви натиснули "Не дозволяти", перейдіть до Параметрів, Конфіденційність та безпека, Motion and Fitness та повторно увімкніть їх для вашого браузера."""
Проблема 5: режим поверхні та режим Plumb читають по-різному - це нормально?
Так, з обмовками. Режим поверхні вимірює як крок (перекос спереду назад), так і крен (перекос з боку на бік) одночасно. Режим дима вимірює тільки крок. На вертикальній поверхні вони вимірюють принципово різні речи, тому різниця очікувана. Що ви не повинні бачити: те саме показання осі читається по-різному в двох режимах. Якщо крок у режимі поверхні читає 1,2°, але крок у режимі дима читає 0,7° на тій же поверхні, калібрування для одного режиму вимкнено."""
Виправлення: кальбруйте кожен режим на його еталонній поверхні
Кальбруйте режим поверхні з телефоном, що лежить на горизонтальній еталонній поверхні. Кальбруйте режим Plumb з телефоном, утримуючим проти перевіреної вертикальної поверхні (рама дверей або лінія прикладу добре працює). Зміщення калібрування кожного режиму є незалежним. Робити їх окремо на відповідних еталонних поверхнях дає найчистіші результати."""
Проблема 6: Чи змінює повертання телефону на 180° показання?
Це не повинно. Правильно відкалібрований телефон повинен дати те саме показання кута незалежно від того, чи верхній, чи нижній край вказує на схил. Якщо повертання телефону на 180° по осі вимірювання змінює показання більш ніж на 0,2°, датчик має асиметричну помилку, яку одноточковий калібруга повністю не може скасувати."""
Чотирьохточковий тест реверсування
Це стандартний метод для діагностики асиметричної помилки акселерометра. Покладіть телефон на стабільну поверхню та запишіть показання (назвіть це R1). Повертайте на 180° та запишіть знову (R2). Якщо R1 та R2 рівні та протилежні (R1 = -R2), датчик симетричний та поверхня дещо нахилена. Якщо вони не рівні та протилежні, датчик має упередженість на цій осі."""
[УНІКАЛЬНИЙ ВІСНИК] Двоточкова процедура калібрування, вбудована в Spirit Level Pro, є точною програмною реалізацією цього тесту. Вона приймає R1 та R2, обчислює точку середины та зберігає її як нульове зміщення. Запуск його скасовує симетричну упередженість автоматично. Для асиметричної упередженості, якщо розходження R1/R2 більше 0,5°, сам датчик може бути пошкоджений або знесений, а фізичний рівень духу є більш надійним інструментом для цієї роботи."""
Проблема 7: Додаток читає по-різному після оновлення ОС
Це менш часто, але добре задокументовано. iOS та Android обидва включають параметри калібрування датчика MEMS, які зберігаються у прошивці системи. Основні оновлення ОС іноді замінюють ці параметри переглядаються значення, переміщуючи базове зчитування акселерометра. Звіти на форумах розробника Apple та трекері проблем Android документують переміщення 0,3° до 0,8° після основних випусків iOS та Android."""
Рішення просте: запустіть двоточкову процедуру калібрування ще раз після будь-якого основного оновлення ОС. Вона займає 30 секунд. Якщо ви виявили, що робите це регулярно, також вартаж перевірити, чи оновлення браузера змінило політику дозволу датчика за замовчуванням для вашого браузера."""
Коли я повинен припинити довіряти телефонові та використовувати фізичний рівень?
Акселерометри телефонів розраховані на конкретні умови експлуатації. Більшість акселерометрів MEMS для споживачів вказана для температур від -10°C до +45°C. За межами цього діапазону точність погіршується непередбачувано. Крім температури, фізичні удари від падіння телефону можуть постійно перемістити калібрування датчика способом, який жодна процедура програмного забезпечення не може повністю виправити. ([STMicroelectronics MEMS accelerometer datasheet](https://www.st.com/), 2023)
Контрольний список: перейдіть на фізичний рівень духу, коли...
Використовуйте фізичний рівень духу, коли застосовується будь-що з наступного. Телефон був недавно впущений, особливо на твердої поверхні. Температура навколишнього середовища вище 45°C або нижче -10°C. Телефон старший за п'ять років і датчик має вимірний дрейф, який ви не можете кальбруватись. Робота вимагає точності кращої за ±0,2°, як-от точне встановлення інструменту або налаштування верстатів. Ви запустили калібрування двічі і все ще не можете погодитись з еталонним рівнем духу."""
На все інше, повісьте полицю, перевірте шафи, розташуйте стовпи, укладіть плитку на підлогу, відкалібрований телефон - це правильний інструмент. Вона завжди у вашій кишені, дає вам звукові відгуки та реєструє запис того, що ви вимірювали."""
Часто задавані питання
Чому мій дух рівня телефону читає по-різному на одній і тій же поверхні?
Непостійні показання зазвичай означають тремтіння рук (рішення: покладіть телефон на рівну поверхню), вібрацію від близьких машин (рішення: зупиніть інструменти та використовуйте утримання/заморозку) або температурний зсув в акселерометрі. Телефон, який було прямим сонцем або холодом більше 30 хвилин, потребує близько п'яти хвилин для стабілізації перед тим, як точні показання будуть надійні."""
Мій дух рівня телефону вимкнений на точну суму щоразу. Що це викликає?
Послідовне зміщення майже завжди означає упередженість датчика - малу помилку виробництва в акселерометрі. Рішенням є двоточкова процедура калібрування. Покладіть телефон на відомі рівні поверхні, натисніть Калібрування, повертайте на 180°, натисніть ще раз. Це скасовує упередженість в обох напрямках і зазвичай дає показання в межах ±0,2° від фізичного рівня духу. Повторно кальбруйте після оновлень ОС або змін корпусу."""
Чому мій додаток рівня духу не працює після оновлення ОС?
iOS та Android іноді перекалібруються параметри датчика MEMS під час основних оновлень, що може перемістити базове зчитування на 0,3° до 0,8°. Запустіть двоточкову процедуру калібрування знову. Якщо додаток втратив дозвіл датчика руху, перейдіть до параметрів та повторно увімкніть його для вашого браузера. Spirit Level Pro показує точні кроки для вашого браузера автоматично, якщо датчики припиняють реагувати."""
Коли я повинен припинити довіряти телефонові та використовувати фізичний рівень?
Перейдіть на фізичний рівень духу, коли телефон був недавно впущений, коли температура знаходиться поза межами -10°C до 45°C, коли телефон старший за п'ять років з постійним дрейфом, або коли робота вимагає точності кращої за ±0,2°. Для всієї стандартної роботи DIY та торгівлі, відкалібрований телефон надійний і адекватний."""
Try Spirit Level Pro free — no download, no account needed.
Open Spirit Level Pro