Тонометр на ардуино своими руками

Добавил пользователь Alex
Обновлено: 18.09.2024

Как сделать цифровой манометр для измерения высокого давления с помощью которого можно измерять не только давление воздуха, но и жидкостей ? Большинство популярных и недорогих датчиков пригодны лишь для создания метеостанций и альтиметров. Они не могут работать в воде и не могут измерять большие значения давления - но выход есть - влагозащищенные датчики серии MS5803

MS5803-01BA
· Модуль высокого разрешения, 10см
· Рабочий диапазон: от 10 до 1300 мбар, от -40 до +85 ° C

MS5803-02BA
· Модуль высокого разрешения, 20см
· Рабочий диапазон: от 300 до 1100 мбар, от -40 до +85 ° C
· Расширенный диапазон давления: от 10 до 2000 мбар

MS5803-05BA
· Модуль высокого разрешения, 30см
· Рабочий диапазон: от 0 до 5 бар, от -40 до +85 ° C

MS5803-07BA
· Отличная точность как для высотомеров, так и для погружений до глубины 70 метров
· Рабочий диапазон: от 0 до 7 бар, от -20 до +85 ° C
· Модуль высокого разрешения, 0,4 м воздуха / 1 мм воды

MS5803 14BA
· Модуль высокого разрешения, 0,2 мбар
· Рабочий диапазон: от 0 до 14 бар, от -40 до +85 ° C
· Разрешение по глубине 1см

MS5803-30BA
· Модуль высокого разрешения, 0,5 мбар
· Рабочий диапазон: от 0 до 30 бар, от -40 до +85 ° C

Как мы видим используя данные датчики можно собрать манометр практически под любую задачу - от метеостанции и альтиметра до подводного компьютера для дайвинга. Я для своего проекта приобрел датчик MS5803-05BA который в конечно итоге планирую использовать для глубиномера на самодельной подводной лодке.

Кроме того все датчики обладают следующими характеристиками:
· Низкая мощность, 1 мкА (в режиме ожидания · Герметичный для наружных устройств

Датчик миниатюрный - высокопрочный корпус выполненный из нержавеющей стали имеет диаметр чуть меньше 6мм.
Для подключения к Ардуино (ESP8266) необходимо припаять 4 провода:
(я использовал МГТФ 0.07 кв.мм)

Датчики атмосферного давления bmp180, bmp280, bme280 – частые гости в инженерных проектах. С их помощью можно предсказать погоду или измерить высоту над уровнем моря. Сегодня именно эту линейку можно назвать самыми популярными и недорогими сенсорами для ардуино. В этой статье мы расскажем принцип действия датчиков, схему подключения к различным платам Arduino и приведем примеры программирования скетчей.

Принцип действия барометра на BMP280, BMP180, BME280

Барометр ардуино

Барометр – устройство, измеряющее атмосферное давление. Электронные барометры используются в робототехнике и различных электронных устройствах. Наиболее распространенными и доступными являются датчики давления от фирмы BOSH: это BMP085, BMP180, BMP280 и другие. Первые два очень похожи между собой, BMP280 – это более новый и усовершенствованный датчик.

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

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

  • Габариты 2 х 2,5 х 0,95 мм.
  • Давление 300-1100гПа;
  • Температуры от 0С до 65 С;
  • Поддержка интерфейсов I2C и SPI;
  • Напряжение питания 1,7В – 3,6В;
  • Средний ток 2,7мкА;
  • 3 режима работы – режим сна, режим FORCED (проведение измерения, считывание значения, переход в спящий режим), режим NORMAL (перевод датчика в циклическую работу – то есть устройство самостоятельно через установленное время выходит из режима сна, проводит измерения, считывает показания, сохраняет измеренные значения и переходит снова в режим сна).

Датчик BMP180 – это дешевый и простой в применении сенсорный датчик, который измеряет атмосферное давление и температуру. Используется обычно для определения высоты и в метеостанциях. Состоит устройство из пьезо-резистивного датчика, термодатчика, АЦП, энергонезависимой памяти, ОЗУ и микроконтроллера.

Датчик bmp180

Технические характеристики датчика BMP180:

  • Пределы измеряемого давления 225-825 мм рт. ст.
  • Напряжение питания 3,3 – 5В;
  • Ток 0,5мА;
  • Поддержка интерфейса I2C;
  • Время срабатывания 4,5мс;
  • Размеры 15 х 14 мм.

Датчик bme280 содержит в себе 3 устройства – для измерения давления, влажности и температуры. Разрабатывался для малого потребления тока, высокой надежности и долгосрочной стабильной работы.

Датчик bme280

Технические характеристики датчика bme280:

Если сравнивать все устройства между собой, то датчики очень похожи. По сравнению со своим предшественником, к которым относится BMP180, более новый датчик BMP280 заметно меньше по размерам. Его восьмиконтактный миниатюрный корпус требует аккуратности во время монтажа. Также устройство поддерживает интерфейсы I2C и SPI, в отличие от предшественников, которые поддерживали только I2C. По логике работы датчика изменений практически нет, была только усовершенствована температурная стабильность и увеличено разрешение АЦП. Датчик BME280, измеряющий температуру, влажность и давление, также похож на BMP280. Отличие между ними заключается в размерах корпуса, так как BME280 имеет датчик влажности, который немного увеличивает габариты. Количество контактов и их расположение на корпусе совпадают.

Варианты подключения к Arduino

Подключение датчика BMP180 к Ардуино. Для подключения понадобятся сам датчик BMP180, плата Ардуино UNO, соединительные провода. Схема подключения показана на рисунке ниже.

Землю с Ардуино нужно соединить с землей на датчике, напряжение – на 3,3 В, SDA – к пину А4, SCL – к А5. Контакты А4 и А5 выбираются с учетом их поддержки интерфейса I2C. Сам датчик работает от напряжения 3,3 В, а Ардуино – от 5 В, поэтому на модуле с датчиком установлен стабилизатор напряжения.

Подключение BMP 280 к Ардуино. Распиновка и вид сверху платы изображены на рисунке.

Датчики давления Arduino bmp280, bmp180, bme280

Сам модуль датчика давления выглядит следующим образом:

Датчики давления Arduino bmp280, bmp180, bme280

Для соединения с Ардуино нужно подключить выходы следующим образом: соединить землю с Ардуино и на датчике, VCC – на 3,3В, SCL / SCK – к аналоговому контакту А5, SDA / SDI – к А4.

Подключение датчика BME280. Расположение контактов и распиновка у датчика BME280 такая же, как у BMP280.

Датчики давления Arduino bmp280, bmp180, bme280

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

При подключении по I2C нужно соединить контакты SDA и SCL.

Датчики давления Arduino bmp280, bmp180, bme280

При подключении по SPI нужно соединить SCL с модуля и SCK (13й контакт на Ардуино), SDO с модуля к 12 выводу Ардуино, SDA – к 11 контакту, CSB (CS) – к любому цифровому пину, в данном случае к 10 контакту на Ардуино. В обоих случаях напряжение подключается к 3,3В на Ардуино.

Датчики давления Arduino bmp280, bmp180, bme280

Описание библиотеки для работы с датчиком. Пример скетча

Для работы с датчиком BMP180 существуют различные библиотеки, упрощающие работу. К ним относятся SFE_BMP180, Adafruit_BMP085. Эти же библиотеки подходят для работы с датчиком BMP080. Для датчика bmp280 используется похожая библиотека Adafruit_BMP280.

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

Затем нужно получить информацию об атмосферном давлении.

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

Датчик BME280 также показывает давление и температуру, дополнительно он может считывать показания о влажности, который по умолчанию выключен. При необходимости можно произвести настройки датчика и начать считывать показания о влажности. Диапазон измерения от 0 до 100%. Библиотека, которая нужна для работы с датчиком, называется Adafruit_BME280.

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

Возможные ошибки при подключении и устранение их

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

Также при использовании “китайских” датчиков можно столкнуться с нестандартными I2C или SPI адресами. В этом случае рекомендуется просканировать все присоединенные устройства с помощью одного из популярных скетчей и выяснить, по какому адресу откликается ваш датчик давления.

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

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

Заключение

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

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

Резистивные датчики давления (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 и землей. Подключите светодиод через резистор к земле.

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; // переменная для хранения аналоговых значений с датчика силы

Включаем светодиод для определения увеличения давления при помощи датчика давления SEN-09376 и платы Arduino Uno.


Шаг 1. Комплектующие

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

Оборудования

    / Genuino UNO × 1
  • SEN-09376 датчик давления × 1
  • Светодиоды LED (универсальный) × 3

Программное обеспечение

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

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

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

Шаг 2. Схема соединения


Все комплектующие мы подключаем согласно схеме выше.

Шаг 3. Код проекта

Вы можете скопировать или скачать код проекта ниже.

На этом всё, наш мини-урок завершен. Новых вам изобретений и качественных комплектующих!

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

В соответствии со ст. 1259 ГК РФ все материалы данного сайта являются объектом авторского права. Исключительные права на его использование принадлеждат владельцу данного сайта, согласно п.1 ст.1229 ГК РФ. Любое копирование материалов данного сайта без разрешения владельца сайта запрещено законом.

© АрдуиноПлюс.ру, 2017—2022 ( 32–0,100 )

Читайте также: