У зв'язку з карантином вхід в офіс можливий лише в захисній масці.
Дякуємо за розуміння.
(098) 067-12-26 Київстар (098) 067-12-26   Київстар
(066) 142-24-48 Vodafone (066) 142-24-48   Vodafone
(098) 067-12-26 Lifecell (063) 642-36-59   Lifecell
 info@arduino.ua
Графік роботи магазину:
Пн-Пт: 9.00 - 19.00
Сб: 10.00 - 19.00
Нд: вихідний
м. Київ, вул. Васильківська, 30
ст.м. "Васильківська"
Каталог

Pihole, або як заблокувати всю рекламу в мережі

Чесно кажучи мені просто обридла реклама на інтернет-ресурсах (великі надокучливі банери, які рекламують казино), а особливо на Youtube: чому я маю дивитися дві реклами по 30 секунд!? Будемо вирішувати проблему ефективно, а найголовніше те, що в такий

Шукаємо нуль в акселерометрі

В реальних проєктах акселерометри часто використовують для визначення просторового положення різних технічних об'єктів. Дуже часто вони міряють кути нахилу, такі пристрої навіть отримали спеціальну назву - інклінометри, від латинських слів inclio -

Фільтруємо сигнал акселерометру

Величезною технічною проблемою є те, що сигнал, який надходить з будь-якого датчика, є завжди випадковою величиною, яка коливається навколо реального

Метеостанція XINO ESP8266 IOT

Відмінний контструктор для тих, хто прокинувшись вранці, хоче знати погоду не виглядаючи у вікно. Набір так само сподобається тим, хто хоче вивчити мікроконтролер ESP8266 і його взаємодію з іншими микроконтроллерами в невеликій домашній мережі. Дана

Реализация маршрутизатора на одноплатном компьютере Orange Pi R1 - Дополнение: настройка DNS адресов

В статье «Реализация маршрутизатора на одноплатном компьютере Orange Pi R1» в качестве операционной системы, была использована Armbian 21.02.3 (Debian-Buster) с ядром Linux 5.10.21-sunxi. Описанная конфигурация в вышеупомянутой статье, основывается на
Напиши статтю і отримай знижку! Наши партнеры https://hacklab.kiev.ua/

Шукаємо нуль в акселерометрі

2021-07-13

Всі статті →

Шукаємо нуль в акселерометрі

В реальних проєктах акселерометри часто використовують для визначення просторового положення різних технічних об'єктів. Дуже часто вони міряють кути нахилу, такі пристрої навіть отримали спеціальну назву - інклінометри, від латинських слів inclio - нахиляю та metiri - міряти. Наприклад, автомобільний інклінометр.

Або танковий - який міряє кут нахилу гармати.

Інклінометр на гарматі українського танку Т-84УД

Зустріти схожі прилади можна і на морських суднах будь якого класу. Ось кренометр невеличкого катеру.

Навіть у геологів акселерометр в пошані, бо визначити глибоко під землею положення бурової головки, швидкість її обертання, можна тільки завдяки цим датчикам.

Система телеметрії бурової головки

Однак, перед тим як міряти кути нахилу треба визначити звідки вести відлік. Іншими словами - треба встановити нуль, бо навіть такий простий прилад, як шкільна лінійка має нуль. Для пошуку нуля треба виміряти напруги по осях чутливості. При цьому акселерометр повинен бути у горизонтальному положенні та знаходитися у спокої. Вісі чутливості накреслені на самому модулі.

Якщо уявити розташування цих осей у 3D, то вони будуть виглядати так:

Для пошуку "нуля" візьмемо вісі X та Z. Під'єднаємо виходи X до А0, а Z - до А2.

Перед визначенням напруг Ux та Uz згадаємо, що максимальна величина напруги на аналоговому вході Arduino - . Але функція

X = analogRead(A0);

Видає нам не напругу, а деяке ціле число X, яке змінюється в межах від 0 до 1024 (бо АЦП Arduino 10-ти розрядний). Вочевидь, що 0 відповідає напрузі , а 1024 - . Тоді для визначення величини напруги слід скористатися формулою:

Визначати напруги Ux та Uz можна окремою програмою. Для більш-менш нормальної роботи майбутнього алгоритму визначення кута нахилу, нам треба мати точність хоча б п'ять знаків після коми.

Програма:

Прошиваємо Ардуину і відкриваємо монітор порту.

Чекаємо поки значення перестануть змінюватися. Однак п'ять знаків після коми для нашого фільтру забагато, останні цифри "пливуть". Сумно, можливо дані так і не стануть сталими, а вибирати 0 приблизно, не зовсім правильне рішення. Змінимо програму і розрахуємо середнє з 350 значень напруги. Не забуваємо про інтегральну природу фільтру і накопичувати 350 значень почнемо через пару секунд після запуску. За цей час фільтр гарантовано вийде на "робочий режим".

Програма:

Результат з'явиться в моніторі порту через декілька секунд. Виглядає він добре.

Отримані значення і є нульовими показами акселерометра по вісям Х та Z. По X це майже середина, бо ADXL335 живиться від 3,3 В. А по Z значення трохи більше середини, що явно вказує на дію сили тяжіння Землі. Позначимо напруги і випишемо значення:

Uxo = 1.51302

Uzo = 1.77235

Тепер, за допомогою простих співвідношень можна знайти величину відхилення поточного значення напруги від 0 - "горизонтального стану" акселерометра:

?Ux = Ux - Uxo

?Uz = Uz - Uzo

Далі буде.

Ваша оцінка статті:

Відмінно
Добре
Задовільно
Погано
Дуже погано

Дякуємо Вам за звернення! Ваш відгук з'явиться після модерації адміністратором.
Поки немає відгуків на цю статтю.
оплата картами Visa і MasterCard