Резистивный датчик давления и Arduino

Содержание

Резистивные датчики давления (Force Sensitive Resistors(FSRs)) — это датчики, которые позволяют вам оценить уровень давления, силу нажатия и вес.

Они просты в использовании и недорого стоят. Ниже приведено фото датчика силы от Interlink, модель 402. Чувствительный элемент — окружность диаметром 1/2 дюйма.

Резистивный датчик давления Резистивный датчик давления - вид сзади

Датчик состоит из двух слоев, которые разделены специальной прокладкой (spacer). Чем сильнее мы на него давим, тем лучше становится контакт между рисками активных элементов и полупроводником. В результате сопротивление начинает уменьшается.

Резистивный датчик давления - принцип действия

Резистивные датчики давления по по сути являются резисторами, которые меняют значение своего сопротивления (в Ом) в зависимости от силы нажатия на чувствительный элемент. Эти сенсоры недорогие, легки в использовании, но не очень точные. Разброс в точности показаний подобных датчиков давления может составлять до 10%. То есть, подобные датчики не помогут вам точно определить силу (или вес), но однозначно дадут понять, приложено ли усилие на чувствительный элемент.

В любом случае, такие датчики силы отлично подойдут для проектов на Arduino вроде "была ли приложена нагрузка и примерно какая она была".

Основные технические характеристики резистивных датчиков давления

Эти характеристики относятся к модели датчика давления Interlink 402, но практически все остальные датчики (недорогой Китай в том числе) обладают похожими параметрами. Естественно, уточнение характеристик по даташиту вашей модели не помешает.

  • Размер: 1/2" (12.5 мм) чувствительной поверхности. Толщина — 0.02" (Interlink выпускает некоторые модели, размер которых составляет 1.5"x1.5")
  • Цена: около 7 долларов от западных производителей. 2-3 доллара в Китае.
  • Диапазон сопротивлений: бесконечность/разомкнутая цепь (нет внешнего давления), от 100 КОм (легкое давление) до 200 Ом (максимальное давление)
  • Диапазон силы: от 0 до 20 lb. (0 — 100 Ньютонов) на каждый 0.125 квадратный дюйм поверхности
  • Источник питания: любой! Использует силу тока менее 1 мА (зависит от резисторов и напряжения питания)

Как измерять силу/давление с помощью резистивного датчика давления

Как было сказано выше, сопротивление резистивного датчика давления меняется в зависимости от приложенного давления. Когда внешняя нагрузка отсутствует, сенсор представляет из себя резистор с бесконечным сопротивлением (не замкнутая цепь). С увеличением давления, сопротивление уменьшается. На графике ниже приведены приблизительные значения сопротивления датчика в зависимости от приложенной силы (обратите внимание, что сила не измеряется в граммах. Эти значения соответствуют Н*100!).

Резистивный датчик давления - изменение сопротивления в зависимости от силы

Вы заметили, что зависимость нелинейная? То есть, при измерении небольшой силы, значения очень быстро переходят от бесконечности к 100 КОм.

Проверка резистивного датчика давления

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

Проверка резистивного датчика давления

Подключение резистивного датчика давления

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

Резистивные датчики давления часто изготавливаются из полимера с токопроводящим покрытием. Один из самых лучших и простых вариантов — установить сенсор на монтажную плату:

Резистивный датчик давления на макетной плате

Можно использовать клипсы ("крокодилы") или разъемы мама-мама:

Резистивный датчик давления и разъемы мама-мама

Еще один вариант — блок терминалов как на рисунке снизу:

Резистивный датчик давления и блок терминалов

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

Использование резистивного датчика давления с Arduino

Считывание аналоговых значений

Самый простой метод измерить силу — подключить сенсор одним контактом к питанию, вторым (через понижающий резистор) — к земле. Потом точка цепи между резистором и переменным резистором (чувствительным элементом резистивного датчика давления) подключается к аналоговому входу на микроконтроллере Arduino. Схема подключения резистивного датчика давления к Arduino и электросхема показаны на рисунках ниже.

Резистивный датчик давления подключение к Arduino Резистивный датчик давления подключение к Arduino - электросхема

В примере на рисунке выше используется источник питания 5 В с Arduino. Не забывайте, что вы с тем же успехом можете использовать контакт 3.3 В. В нашем примере аналоговые значения напряжения будут находится в диапазоне от 0 В (земля) до 5 В (такое же значение, что и напряжение источника питания).

Работает это следующим образом: когда сопротивление резистивного датчика давления уменьшается, общее сопротивление датчика и понижающего резистора уменьшается от 100 КОм до 10 КОм. Это значит, что ток, проходящий через оба резистора, увеличивается. Соответственно, будет увеличиваться и напряжение на резисторе 10 КОм.

Резистивный датчик давления таблица значений

В таблице выше приведены приблизительные значения аналогового напряжения при работе резистивного датчика давления с питанием от 5 В и понижающим резистором 10 КОм в электрической цепи.

Обратите внимание, что приведенная методика использует линейную зависимость сопротивления, но не обеспечивает линейную характеристику изменения напряжения! Это происходит из-за того, что уравнение для расчета напряжения имеет вид:

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

Простой пример использования резистивного датчика давления с Arduino

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

Резистивный датчик давления подключение к Arduino 1 Резистивный датчик давления подключение к Arduino - электросхема 2

В скетче, который приведен ниже, считываются аналоговые значения с резистивного датчика давления и используются для управления яркостью светодиода на 11 пине Arduino. Чем сильнее вы будете давить на сенсор, тем ярче будет гореть светодиод! Обратите внимание, что светодиод необходимо подключать к ШИМ контакту на Arduino. 11 — ШИМ на Arduino Uno.

/* проверка работы датчика силы.

Подключите один контакт датчика силы к 5 В, второй — к аналоговому пина Arduino Analog 0.

Потом подключите один конец резистора 10 КОм между аналоговым пином 0 и землей. Подключите светодиод через резистор к земле.

Для более детальной информации смотрите статью на сайте: www.ladyada.net/learn/sensors/fsr.html */

int fsrAnalogPin = 0; // датчик силы подключен к пину analog 0

int LEDpin = 11; // подключаем красный светодиод к контакту 11 (ШИМ выход)

int fsrReading; // аналоговые значения с датчика силы

Serial.begin(9600); // будем отправлять информацию в серийный монитор в Arduino IDE

Простой скетч для измерения аналоговых значений с резистивного датчика давления

Ниже приведен скетч для снятия аналоговых значений с резистивного датчика давления с использованием Arduino Uno.

Резистивный датчик давления подключение к Arduino 2 Резистивный датчик давления подключение к Arduino - электросхема 3 Резистивный датчик давления серийный монитор

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

/* простой скетч для проверки работоспособности датчика силы

Подключите один контакт датчика силы к источнику питания, второй — к контакту Analog 0 на Arduino.

После этого подключите резистор на 10 КОм от пина Analog 0 к пину GND

Более детальная информация на: /arduino-rezistivnyy-datchik-davleniya */

int fsrPin = 0; // датчик силы и понижающий резистор на 10 КОм подключены к a0

int fsrReading; // переменная для хранения аналоговых значений с датчика силы


Источник: arduino-diy.com