Меню

Датчики наклона своими руками

Датчики наклона

Простейший датчик наклона

Датчик наклона — это капсула с двумя металлическими шариками внутри. Шарики перекатывается в капсуле и замыкают или размыкают цепь. Таким образом, датчик выдаёт простой цифровой сигнал: логический ноль или единицу в зависимости от того, в какую сторону наклонена капсула. Датчик наклона можно использовать в качестве простого переключателя при наклоне.

Самая распространённая модель — это SW-200D. У датчика один вывод серебристый, а второй — золотистый.

Технические характеристики

  • Время отклика: 2 мс
  • Сопротивление при замкнутом: до 10 Ом
  • Сопротивление при разомкнутом: свыше 10 мОм
  • Рабочее напряжение: до 12 В
  • Потребляемый ток: до 20 мА
  • Допустимая температура: от -40 до +80°C
  • Допустимая влажность: 95% RH (40°C до 96 часов)
  • Усилие отрыва: 500 гс на 1 мин
  • Время жизни: 100000 циклов
  • Размер: 12 x 3,6 мм
  • Вес: менее 1 г

Соединим по следующей схеме. Один вывод датчика наклона соединим с аналоговым выводом A5, также к этому выводу добавим резистор 220Ом и притянем его к GND. Второй вывод датчика соединим с 5V. Для наглядности добавим в схему светодиод к контакту 8.

При наклоне в одну сторону светодиод будет светиться, в остальных случаях светодиод остаётся выключенным.

При просмотре показаний я увидел, что в обычном состоянии значение равно 0, при попытке чуть-чуть наклонить датчик в одну сторону показания резко увеличиваются до 900 с лишним единиц. Промежуточных результатов практически нет.

Модуль датчика наклона KY-020

Предыдущий датчик также можно встретить в виде модуля KY-020.

Датчики подобного типа не умеют определять малые углы наклона. Поэтому применяют в системах контроля, где гарантировано будет большой угол — крышки, дверцы, люки.

У модуля три вывода: земля, питание, цифровой вывод.

Модуль датчика наклона KY-017

Модуль датчика наклона KY-017 содержит встроенный светодиодный индикатор. Когда датчик срабатывает, светодиод загорается. Непосредственно сам датчик представляет собой маленькую стеклянную колбу с двумя контактами. Внутри колбы находится ртутный шарик. При наклоне в сторону электродов шарик скатывается и замыкает их. При наклоне в противоположную сторону шарик перемещается на противоположный конец колбы, освобождая и размыкая электроды. У модуля три вывода: земля, питание, цифровой вывод.

Считываем показания датчика при наклонах. Если контакты замкнуты, то включаем светодиод. Также будет включаться и встроенный светодиод без участия кода.

Модуль датчика наклона KY-027

Модуль датчика наклона KY-027 состоит из светодиода с резистором на 10кОм и колбы с шариком ртути. При наклоне в сторону электродов шарик скатывается и замыкает их. При наклоне в противоположную сторону шарик перемещается на противоположный конец колбы, освобождая и размыкая электроды. У модуля четыре вывода: земля, питание, вывод для светодиода, вывод для ртутного шарика. Также на плате имеется дополнительный стандартный светодиод. Если сравнивать с моделью KY-017, то можно увидеть разное количество выводов (3 и 4) и разные типы светодиодов (встроенный и внешний).

Часто модуль поставляется парами, чтобы отслеживать наклоны в двух плоскостях.

Подключим два датчика по следующей схеме. При наклонах светодиоды должны плавно менять свою яркость.

Источник

Датчик наклона на базе Ардуино своими руками

Многие смартфоны могут порадовать своих владельцев набором функций, реализованных за счет встроенного акселерометра. Который представляет собой электромеханическое устройство, фиксирующее любые изменения рабочего органа в пространстве. Принцип действия основан на измерении ускорения перемещения инертной массы внутри акселерометра. На его основе работает автоматический переворот экрана, подстраивающий картинку в соответствии с положением телефона, счетчик шагов, приложение для обнаружения препятствия, ряд фитнесс приложений и т.д.

Благодаря использованию микроконтроллера Arduino вы можете самостоятельно сконструировать датчик наклона в домашних условиях.

Для этого вам понадобится:

  • Акселерометр ADXL335;
  • Плата Arduino Uno;
  • Дисплей для отображения направления наклона (в данном случае мы используем светодиодный вариант).

Практическая реализация датчика наклона на базе Arduino приведена на рисунке ниже:

Рисунок 1: общий вид датчика

В данном примере рассматривается установка акселерометра ADXL335 выпускаемого компанией Analog Devices который подключается к соответствующим выводам на микроконтроллере Arduino Uno, а от микроконтроллера сигналы переводятся на дисплей. Для сборки такой схемы удобно использовать заводскую макетную плату, хотя датчик наклона отлично сможет функционировать и на любой другой ровной поверхности, которую вы будете использовать в роли базы. Главная задача реализовать основной принцип датчика, который приведен на блок-схеме ниже.

Преимуществом такой модели является установка Arduino Uno, так как этот микроконтроллер лучший вариант для электронных устройств, управляемых сигналам с платы. Ее программирование и использование в схеме доступно широким массам за счет простой адаптации под стандартное программное обеспечение компьютера и возможности самостоятельной настройки с последующим внесением корректив в их работу. Поэтому данный вариант отлично подходит как профессиональным конструкторам, так и любителям в сфере робототехники и электронного моделирования.

Читайте также:  Ковер для датчика контроля герметичности

Для реализации датчика наклона Arduino Uno выбран неспроста, он собран на базе микросхемы ATmega328 и включает в себя 14 цифровых выходов, 6 аналоговых, USB разъем для подключения к устройствам программирования, ICSP разъем, вход питания, и оснащается функцией сброса или обнуления данных. Также в данной плате установлен кварцевый генератор на 16МГц, предназначенный для поддержания стабильной работы всего микроконтроллера.

Несмотря на внушительный объем его элементов, Arduino Uno имеет оносительно небольшие размеры и его достаточно легко эксплуатировать. Для этого вам понадобиться подключить плату к ПК через USB вход для установки рабочих параметров и запитать посредством батареи или через адаптер. Программирование и дальнейшая эксплуатация производится в операционной среде Arduino.

Как собрать датчик наклона?

Подключение акселерометра к микроконтроллеру осуществляется по такому принципу:

  • Вывод ST подключается к пину платы Arduino A0;
  • Вывод перемещений по оси Z подключается к пину платы Arduino A1;
  • Вывод перемещений по оси Y подключается к пину платы Arduino A2;
  • Вывод перемещений по оси X подключается к пину платы Arduino A3;
  • Вывод GND подключается к пину платы Arduino A4;
  • Вывод VCC подключается к пину платы Arduino A5.

Затем от микроконтроллера Ардуино производится подключение к дисплею, в данной ситуации состоящего из группы светодиодов. Для подключения от платы берутся выходы с 8 по 12 и пин питания на 5В, которые распределяются по логике схемы следующим образом:

  • Пин 5В является общей точкой подключения;
  • Восьмой подключается к светодиоду, сигнализирующему о наклоне в правую сторону;
  • Девятый подключается к светодиоду, сигнализирующему о стабильном положении датчика по центру (его, для отличия, мы делаем красного цвета, но это не принципиально);
  • Десятый подключается к светодиоду, сигнализирующему о перемещении датчика назад;
  • Одиннадцатый подключается к светодиоду, сигнализирующему о наклоне в левую сторону;
  • Двенадцатый подключается к светодиоду, сигнализирующему о наклоне датчика вперед.

При изменении положения акселерометра в пространстве произойдет движение инертной массы. В результате такого движения инертная масса приведет к замыканию контактов и подаст соответствующий сигнал с одного из выводов. Далее этот сигнал обработается микроконтроллером Arduino и преобразуется в подачу напряжения на определенный светодиод или группу светодиодов. Вот по такому принципу и осуществляется работа датчика наклона на базе Arduino.

Помимо приведенного способа сборки датчика на макетной плате, вы можете с тем же успехом реализовать его на печатной плате. Пример такой платы приведен на рисунке ниже.

Рисунок 4: схема для печатной платы

Проверка правильности подключения осуществляется в контрольных точках, приведены на рисунке 3. Напряжение в них должно соответствовать данным из таблицы.

Таблица: уровни напряжения в контрольных точках

Точка на рисунке Напряжение в точке, В
Т0 0
Т1 5
Т2 Ниже, чем в Т3
Т3 Выше, чем в Т2

Тестирование работоспособности и корректировка параметров

После электрического соединения элементов датчика наклона производится загрузка программы, на устройство через ПК, для чего вам необходимо:

  • Подключить микроконтроллер к компьютеру через USB переходник;
  • Загрузить программу (test.ino) с компьютера на Ардуино УНО;
  • Затем на компьютере откройте программную среду Arduino, в которой отображается исходный код от соответствующих выводов акселерометра;
  • Сбросьте данные и отметьте числовые изменения по всем трем осям (X, Y, Z), которые происходят при наклоне датчика влево, вправо.

Если вас не устраивает положение, в котором светодиод начинает загораться, его можно откорректировать. Для изменения угла наклона, при котором датчик будет сигнализировать об изменении положения, вам понадобится:

  • Оставаясь в программной среде Arduino, начните наклонять датчик влево, когда угол наклона достигнет той отметки, в которой светодиод должен загораться, отметьте для себя – это будет значение кода «A_max», граница отключения светодиода при возвратном движении датчика будет такой же;
  • Для регулирования угла наклона вправо повторите ту же операцию, наклонив до нужного угла, отметьте для себя цифровое значение – это будет значение кода «A_min», та же величина прекратит горение при возвратном движении к нейтральной позиции датчика;
  • Эти значения нужно изменить в теле программы tiltdetection.ino, для чего запускается Arduino IDE, в строки «A_max» и «A_min» вносятся записанные вами ранее данные (рисунок 5); Рис. 5. Снимок экрана программирования Arduino Uno
  • После этого сохраните внесенные изменения и заново загрузите откорректированную программу на микроконтроллер.

Теперь устройство будет работать с более приемлемым для вас углом наклона. Здесь разобран пример корректировки угла перемещения датчика влево и вправо. Но при желании вы можете проделать те же манипуляции и для изменения угла наклона вперед и назад, при переходе через который будут загораться и гаснуть светодиоды.

Что нужно для работы программы?

Так как микроконтроллер программируется на специально разработанной под него платформе Arduino IDE, никаких дополнительных языков программирования и специальных навыков по работе с ними вам иметь не нужно, достаточно просто подключить Arduino к компьютеру. Также стоит отметить, что микросхема ATmega328 в Arduino Uno изначально содержит предварительно установленный механизм загрузки. Именно он позволяет программировать устройство без каких-либо аппаратных программаторов, а взаимодействие программной среды на компьютере и микросхеме происходит по протоколу STK500.

Читайте также:  Замена датчика положения педали тормоза volvo xc90

Для работы с программным обеспечением микроконтроллера вам понадобиться войти в меню «Инструменты», затем выбрать «Платы» и установить Arduino Uno (если вы применяете другую модель, установите ее). После этого через Arduino IDE запрограммируйте плату на логику датчика наклона и можете приступать к эксплуатации готового устройства. Также можно программировать Ардуино через протокол ICSP, но этот метод больше подходит искушенным программистам, а не начинающим конструкторам, поэтому куда проще пользоваться стандартным способом.

Исходный код программы: Датчик наклона на базе Arduino

Источник

Датчики наклона своими руками

Определение положения объекта относительно плоскости Земли является важной задачей во многих технических приложениях. Используя ускорение свободного падения, обусловленное наличием гравитационного поля Земли, датчик наклона на основе твердотельного акселерометра позволяет определить угол относительно плоскости Земли с точностью до 0,5 градуса. В данной статье рассматривается задача построения такого датчика, а также некоторые аспекты его применения.

Введение

Датчик наклона используется человечеством уже тысячи лет. Самым элементарным приспособлением для этого можно считать отвес, т.е. груз, привязанный к нити. С помощью такого датчика возводились постройки ещё тысячи лет назад. Более сложным и точным устройством является уровень – ёмкость с жидкостью (обычно водой), в которой плавает пузырёк воздуха. Всевозможные приспособления такого типа, позволяющие выровнять уровень относительно Земли, находят широкое применение и сегодня. Однако в ряде случаев необходимо не просто выровнять объект, а знать численное значение угла его наклона относительно Земли, для чего существуют механические угломеры различной конструкции, в основе которых лежит использование силы земного притяжения. Электронные угломеры имеют массу преимуществ перед традиционными механическими устройствами: прямой интерфейс с цифровой системой позиционирования, более точные показания, большая разрешающая способность и т.д. К сожалению, представленные сегодня на рынке электронных приборов цифровые датчики угла имеют относительно высокую цену (от $300). В данной статье рассматривается задача самостоятельного изготовления простого в настройке датчика наклона на основе акселерометра фирмы Analog Device, содержащего минимум деталей и обеспечивающего точность измерения 0,5 градуса.

Рисунок 1 — Структурная схема ADXL202

Основы измерения угла наклона

Существует много типов датчиков угла наклона: жидкостные, твердотельные, на основе гироскопного эффекта и т.д. Для многих современных систем позиционирования применяются гироскопы, которые представляют собой датчики с вращающимся рабочим телом большой массы, позволяющим избежать влияния переменного ускорения объекта на результаты измерения. Однако такие датчики обладают рядом существенных недостатков, основным из которых является их высокая стоимость. Другими существенными недостатками таких датчиков является медленная прецессия осей вращения и необходимость регулярной калибровки в течение срока эксплуатации.
Современное развитие микромеханики позволило сконструировать миниатюрные твердотельные датчики ускорения, которые по своим рабочим характеристикам идентичны жидкостным датчикам, но при этом обладают рядом преимуществ: ударо- и вибростойкостью, широким диапазоном рабочих температур, миниатюрностью и.т.д.

Конструкция датчика угла наклона

При разработке новых устройств важными требованиями является минимизация цены изделия, количества применяемых деталей и скорости разработки. Поэтому для построения датчика угла наклона предлагается использовать акселерометр ADXL202 производства фирмы Analog Device.
Данная микросхема интегрирует в своём составе два аналоговых датчика ускорения (по осям X и Y) и встроенный контроллер обработки, преобразующий аналоговые сигналы датчиков в ШИМ-колебание. Структурная схема ADXL202 приведена на рис. 1.
Датчики ускорения представляют собой набор дифференциальных конденсаторов, образуемых неподвижным основанием и укреплённой на нём с помощью полисиликоновой пружины подвижной части [1, 2]. При приложении внешней силы подвижная часть перемещается относительно неподвижной, соответственно изменяя ёмкость конденсаторов. Сигнал с датчика подаётся на контроллер обработки, который преобразует его в сигнал с ШИМ (рис. 2). Отношение Т12 прямо пропорционально ускорению, действующему на микросхему.

Рисунок 2 — Сигнал с датчика

Интеграция всех необходимых элементов в одном корпусе позволяет создавать дешёвые, быстро настраиваемые датчики с минимумом дополнительных деталей. Предлагаемая принципиальная схема датчика приведена на рис. 3.
ШИМ-сигналы с обоих датчиков подаются на входы контроллера, который вычисляет отношение Т12. Для определения ускорения применяется выражение:

где Toff = Т12 при нулевом наклоне (ускорении), S – коэффициент шкалы (в среднем S = 12,5%).
Резистором R1 устанавливается период T2 следования импульсов согласно выражению:

Так, при R1 = 125 кОм получаем частоту следования 1 кГц, т.е. T2 = 1 мс. Акселерометр рассчитан на работу при T2, лежащем в интервале 0,5. 10 мс. Величина периода T2 медленно изменяется в зависимости от температуры, поэтому её измерение можно проводить раз в 10. 15 мин. При конструировании датчика резистор R1 необходимо располагать как можно ближе к микросхеме для минимизации паразитной ёмкости на этом выводе.

Читайте также:  Можно ли включать эхолот без датчика

Рисунок 3 — Принципиальная схема датчика угла наклона

Для снижения уровня шума в ADXL202 применяется низкочастотный фильтр. Полоса пропускания данного фильтра на уровне –3 дБ определяется значением ёмкости внешних конденсаторов Cx и Cy согласно формуле:

или, более просто, F–3 дБ [Гц] = 5 × 10 –6 /Cx,y [мкФ]. Реальное значение сопротивления внутреннего резистора может изменяться в пределах 32 кОм ± 25%, что, соответственно, изменяет и частоту пропускания. В любом случае ёмкость внешнего конденсатора не должна быть ниже 1000 пФ.
Вычисленное значение угла наклона по интерфейсу RS485 передаётся на цифровую систему позиционирования. Для внутрисхемного программирования микроконтроллера используется SPI-интерфейс, подключаемый через специально введённый разъём.

Вычисление угла наклона

Угол наклона датчика пропорционален ускорению, действующему на его подвижную часть, и вычисляется по формуле:

При микроконтроллерной реализации данного алгоритма для вычисления угла наклона необходимо использовать разложение функции arcsin(А) в ряд Тейлора:

arcsin(А) = A + A 3 /6 + 3A 5 /40 + 5A 7 /112 + 35A 9 /1152 +.

φ выражается в радианах. Можно показать, что для вычисления угла наклона с точностью до 0,5° достаточно ограничить ряд первыми четырьмя членами.
Получение более стабильных и точных результатов можно обеспечить использованием усреднения показаний датчика методом скользящего среднего. При реализации на основе дешёвого 8-битного микроконтроллера целесообразно выбрать число усредняемых измерений кратным степени двойки, тогда операция деления переходит в более простую операцию сдвига.

Компактный алгоритм вычисления угла наклона

Существует много устройств, где не требуются очень точные измерения угла наклона, но необходим максимально простой и компактный алгоритм обработки. В этом случае возможно использование алгоритма вычисления значения угла наклона, основанного на элементарном двоичном делении, что удобно при применении дешёвых 8-битных микроконтроллеров (PIC, Atmel и т.д).
Рассмотрим первое выражение. При стабильных внешних условиях величина Т2 не изменяется. Тогда при S = 12,5% выражение можно преобразовать к виду:

В диапазоне ±35° каждый градус наклона будет соответствовать ускорению примерно в 16 мg, где g — ускорение свободного падения. Используя это, при соответствующем выборе величины Т2 можно получить существенное сокращение вычислительных затрат за счёт применения двоичного деления. Например, пусть Т2 = 500 мкс, тогда при вертикальном положении датчика имеем изменение показаний ΔТ1 = (500 мкс) × 12,5% = 62,5 мкс, а изменение на 1 мкс соответствует 16 мg. Таким образом, изменение Т1 на 1 мкс соответствует наклону в 1°. Соответственно может быть использована любая кратная 500 мкс величина Т2 (например, 1000 мкс, 2000 мкс и т.д.).
Наиболее существенной ошибкой в этом случае является ошибка в определении величины коэффициента шкалы S. Для различных экземпляров датчиков значение S может изменяться от 10%/g до 15%/g, что приводит к ошибке ±8° при наклоне датчика ±40°. Другим источником ошибок является неточность задания Т2. Ошибка задания Т2 в 1% приводит к ошибке в 1% при вычислении угла.
Данные ошибки могут быть устранены точным подбором Т2 (для получения отношения 16 мg/мкс) с помощью выражения Т2 = 1 / 0,016 S. Например, при S = 10% получаем Т2 = 1 / (0,10 × 0,016) = 625 мкс. Увеличение Т2 до значения 625 мкс в этом случае устранит ошибки, вносимые коэффициентом шкалы S. Для точного подбора значения величины Т2 рекомендуется использовать схему, приведённую на рис. 4.

Рисунок 3 — Схема подбора значения периода T2

Калибровка датчика

Для вычисления индивидуального для каждого датчика значения коэффициентов Toff и S необходимо проводить его предварительную калибровку. Архитектура ADXL202 такова, что калибровка может проводиться программно с помощью микроконтроллера. Вычисленные коэффициенты необходимо сохранить в энергонезависимой памяти контроллера и использовать в дальнейших вычислениях. Калибровка датчика проводится в два этапа:
1. Датчик располагается параллельно поверхности Земли. Считываются показания датчика, и вычисляется значение Toff.
2. Для калибровки значения S измеряют показания датчика при ускорениях ±1g, чувствительность определяется по двум измерениям. При калибровке ось акселерометра направляют вертикально к Земле. Измеряются показания X1 при 1g, далее датчик поворачивается на 180° и снимаются показания X2 при –1g. Тогда:

Например, пусть при измерениях получено X1 = 55%, X2 = 32%, тогда:

Заключение

Приведённая схема проста в изготовлении и настройке, позволяет проводить программную калибровку датчика, требует минимального количества внешних деталей и позволяет обеспечить точность измерения угла наклона 0,5° в двух плоскостях. Не требовательная к внешним условиям, устойчивая в работе и имеющая малые габариты, она может найти применение в системах ориентации, стабилизации, контроля и управления различных подвижных объектов.

Источник

Adblock
detector