Резистивный датчик давления и Arduino
Содержание
- Основные технические характеристики резистивных датчиков давления
- Как измерять силу/давление с помощью резистивного датчика давления
- Проверка резистивного датчика давления
- Подключение резистивного датчика давления
- Использование резистивного датчика давления с 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 и электросхема показаны на рисунках ниже.
В примере на рисунке выше используется источник питания 5 В с Arduino. Не забывайте, что вы с тем же успехом можете использовать контакт 3.3 В. В нашем примере аналоговые значения напряжения будут находится в диапазоне от 0 В (земля) до 5 В (такое же значение, что и напряжение источника питания).
Работает это следующим образом: когда сопротивление резистивного датчика давления уменьшается, общее сопротивление датчика и понижающего резистора уменьшается от 100 КОм до 10 КОм. Это значит, что ток, проходящий через оба резистора, увеличивается. Соответственно, будет увеличиваться и напряжение на резисторе 10 КОм.
В таблице выше приведены приблизительные значения аналогового напряжения при работе резистивного датчика давления с питанием от 5 В и понижающим резистором 10 КОм в электрической цепи.
Обратите внимание, что приведенная методика использует линейную зависимость сопротивления, но не обеспечивает линейную характеристику изменения напряжения! Это происходит из-за того, что уравнение для расчета напряжения имеет вид:
То есть, напряжение пропорционально обратному сопротивлению чувствительного элемента резистивного датчика давления.
Простой пример использования резистивного датчика давления с Arduino
Подключите резистивный датчик давления так же как в примере выше и добавьте в схему светодиод на 11 пине Arduino.
В скетче, который приведен ниже, считываются аналоговые значения с резистивного датчика давления и используются для управления яркостью светодиода на 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 этого вполне достаточно.
/* простой скетч для проверки работоспособности датчика силы
Подключите один контакт датчика силы к источнику питания, второй — к контакту Analog 0 на Arduino.
После этого подключите резистор на 10 КОм от пина Analog 0 к пину GND
Более детальная информация на: /arduino-rezistivnyy-datchik-davleniya */
int fsrPin = 0; // датчик силы и понижающий резистор на 10 КОм подключены к a0
int fsrReading; // переменная для хранения аналоговых значений с датчика силы
Источник: