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

В процессе разработки электронных устройств часто возникают задачи, когда нужно контролировать силу, приложенную к точке или плоскости. Одним из датчиков, решающих эту задачу является резистивный датчик давления — FSR402 в данном случае (ссылка на AliExpress и Gearbest). Читая дальше, попытаемся разобраться для каких задач этот датчик подойдет, а для каких его не стоит использовать.

Параметры датчика FSR402:

  • Размеры датчика: длина 56 мм, окружность диаметром 18 мм, толщина 0,2 — 1,25 мм
  • Выходной сигнал: аналоговый
  • Диапазон чувствительности прикладываемой силы: 0,1 — 100 Н (0,01 — 10 кг)
  • Сопротивление датчика без приложенной силы: более 10 МОм
  • Повторяемость показаний: ± 2 — 6 %
  • Гистерезис: +10 %
  • Количество нажатий на датчик (время жизни датчика): более 10 млн раз
  • Диапазон рабочих температур: -30 — +70 градусов Цельсия

Как устроен резистивный датчик  давления?

Датчик состоит из слоев пленочных элементов: полупроводниковый резистивный слой, проводящий слой с взаимосвязанными электродами, слой, создающий зазор между резистивным слоем и слоем электродов, диэлектрические слои. 

Таким образом, прикладывая некоторую силу к поверхности этого датчика резистивный слой, в зависимости от приложенной силы, начинает вступать в контакт с электродами противоположного слоя, преодолевая слой зазора, создавая больший контакт при большей прикладываемой силе. Это происходит из-за увеличения силы и площади контакта. При этом когда сила не действует на датчик, его сопротивление очень велико (противоположные слои не взаимодействуют), для начала получения сигнала с датчика необходимо приложить небольшую силу, чтобы резистивный и проводящий слой вступили в контакт (Break force — первая зона чувствительности резистивного датчика силы). Далее, наращивая прикладываемую силу на датчик можно выделить вторую зону чувствительности —  Area Effect: в этой зоне при наращивании усилия контакт между двумя слоями также нарастает, что приводит к уменьшению сопротивления датчика. И третья зона чувствительности датчика Surface Effect: зона чувствительности, при в которой приложенная сила предельно велика для датчика (зона насыщения) и увеличение приложенной силы лишь незначительно повлияет на выходной сигнал.

Выходной сигнал датчика нелинейный особенной в начале и в конце графика. Так более менее можно использовать лишь среднюю часть характеристики. И, таким образом, в совокупности с разбросом показаний датчика точно измерить приложенную силу нельзя. Датчик не годится для точного измерения массы (весы). Но в устройствах, где точность измерения до грамм не нужна, этот датчик хорошо подойдет для измерения приблизительно приложенной силы. Это тактильные датчики для роботов и протезов (круглые датчики как будто уже повторяют очертания пальца), датчики присутствия пассажиров на сиденье автомобиля, различные кнопочные устройства и так далее.

Как получить данные с датчика?

Есть несколько способов получить сигнал с резистивного датчика давления. Для этого нужно использовать делитель напряжения. Выходное напряжение зависит от соотношения сопротивления резисторов. 

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

Резистивный датчик можно ставить как на место R2, так и на место R1. Это будет обуславливать зависимость прямую или обратную. Если резистивным датчиком является R2, то отсутствие сигнала на нем даст выходное напряжение равное Vcc, т.к. его сопротивление без приложенной на него силы очень велико и на нем падает практически все напряжение питания. При наличие давления на датчик напряжение начнет уменьшаться, т.к. сопротивление резистивного датчика будет уменьшаться и падение напряжения на нем будет меньше. И наоборот, если резистивный датчик будет R1, то при отсутствии давления на датчик выходное напряжение будет близко к Gnd, т.к. при очень большом сопротивлении R1 на R2 почти не падает напряжение. А при уменьшении сопротивления R1 будет увеличиваться падение напряжения на R2 и соответственно выходное напряжение.

Используя такую схему, можно подключить точку Vout к цифровому выводу микроконтроллера. При достижении уровня напряжения логического нуля или единицы будет формироваться выходной сигнал от датчика «0» или «1». Аналогичного эффекта можно добиться, используя компаратор. Другой способ, более правильный, предусматривает подключение не к цифровому выводу, а к выводу АЦП, который выдаст пропорционально уровню напряжения число в цифровом виде. 

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

Интересным и простым, на мой взгляд, примером применения резистивного датчика является «коврик-звонок». Смысл такой схемы заключается в том, что один или несколько таких датчиков фиксируются под ковриком возле входной двери, и когда кто-то на него становится срабатывает дверной звонок. По-другому обыграв эту схему ее можно использовать и для охраны — если кто-то стал на коврик, чтобы открыть дверь, срабатывает не звонок, а звук лая собаки, например. Если использовать всего один датчик, то коврик должен быть достаточно жестким, чтобы уловить давление ноги на него. В зависимости от силы нажатия на датчик (по показаниям АЦП) могут проигрываться несколько разных звуков.

Для простого и быстрого изготовления схемы нужно использовать всего несколько модулей и деталей:

За основу взята плата arduino nano, резистивный датчик FSR402, резистор сопротивлением 10 кОм для делителя напряжения резистивного датчика и модуль DFPlayer mini с динамиком и microSD картой памяти. Подавать питание на схему лучше не через USB разъем, а через контакт VIN arduino (при питании через USB arduino могут быть сильные помехи по звуку). Чтобы MP3 модуль DFPlayer знал какие файлы воспроизводить, необходимо создать папку в корне microSD флешки под названием «mp3», в эту папку записать звуки и мелодии с названиями «0001», «0002» и так далее, если их используется несколько. Для программирования кода для MP3 модуля необходимо также скачать и установить библиотеку DFRobotDFPlayerMini в Arduino IDE.

#include «Arduino.h»
#include «SoftwareSerial.h»
#include «DFRobotDFPlayerMini.h»

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;

void setup() {
// put your setup code here, to run once:
mySoftwareSerial.begin(9600);

if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.

while(true);
}

myDFPlayer.setTimeOut(500); //Set serial communictaion time out 500ms

//—-Set volume—-
myDFPlayer.volume(30);

//—-Set different EQ—-
myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);

//—-Set device we use SD as default—-
myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);

}

void loop() {
// put your main code here, to run repeatedly:

// read the input on analog pin 7:
int sensorValue = analogRead(A7);

if (sensorValue>100 && sensorValue<501)
{
myDFPlayer.playMp3Folder(1); // этой командой указываем какой трек (0001) воспроизвести
delay(5000);
}

if (sensorValue>500)
{
myDFPlayer.playMp3Folder(3); // этой командой указываем какой трек (0003) воспроизвести
delay(5000);
}
}

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

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

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

Плата ArduinoArduino Nano 3.01

Плата ArduinoDFPlayer Mini1

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

Резистор10 кОм1

Динамик8 Ом1

Карта памятиMicroSD1
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.