Подключение лямбда зонда к ардуино
Всем привет. Так получилось, что не так давно на моей машине (Volvo 740) окончательно отмер датчик кислорода (лямбда-зонд). По не совсем удачному стечению обстоятельств — у меня оказалась топливная система Siemens, которая известна тем, что ее датчики стоят гораздо дороже, нежели Bosch. За новенькую лямбду, в среднем по-магазинам, хотят от 17 до 24 тысяч рублей. Разумеется для меня это слишком дорого и несколько поразмыслив и почитав интернеты было решено сделать конвертер.
Циркониевый и титановый зонд отличаются друг от друга тем, что первый генерирует ЭДС, а второй — меняет свое сопротивление. В первом случае нам нужно смотреть на сигнал: меньше 0.45 — бедная смесь, больше — богатая. Малое сопротивление титанового датчика — богатая смесь, большое — бедная. Если речь идет о 4х проводной титановой лямбде (более распространено), то сигнал НА датчик должен быть около 1 вольта (и сниматся далее). А если используется 3х проводная — то напряжение должно быть уже около 5 вольт.
Для пояснения приведу графики:
О том что получилось, ниже.
Собственно инградиенты получились такие: плата Arduino, несколько метров провода, обвес элементов (он будет дан ниже) и собственно новенький лямбда-зонд от BOSCH. Все вместе — не больше 1400 рублей.
Самый главный вопрос: почему же все таки Arduino используется как основной элемент? Все очень просто: во-первых он был под рукой. Во-вторых — его стоимость — 180 рублей (!) если заказываеть на ebay.com. В-третьих он уже полностью готов для использования (не надо мучиться с поиском драйверов, программаторами и прочим, те кто знаком с AVR поймут меня). В первой версии устройства использовалась средняя плата — версия UNO. Такая же как на картинке:
Уже позже, пришла версия Nano, она заметно меньших размеров, правда корпус для нее оказался все равно большеват. Но для UNO он был тоже мал.
Теперь перейдем непосредственно к схеме и программе, зашитой в него.
Arduino подключается таким образом (рисовать пришлось в паинте, ибо не давно слетела винда):
По схеме подключения:
R1 — порядка 100 кОм (можно меньше).
R2 — 5-6 мОм
VD1 — любой светодиод на 3-5 вольт
на схеме пометил своим названием — оптопара PC817, или аналогичная.
5 вольт на питание платы берутся от USB-переходника (пока что не подвел питание, езжу так).
Красный провод, отводящий 5 вольт на выход оптопары имеет смысл только когда используется 3х контактный датчик (об этом было написано в начале статьи)
В моем случае использовалась 4х контактная лямбда BOSCH:
Черный — сигнальный — на ногу А0 платы
Серый — масса сигнального — или на массу, или на контакт GND платы. У меня сделано вторым методом, но лучше подключить к массе автомобиля.
Белые — один на постоянные (!) +12 вольт, второй на массу.
Т.к. родные провода датчика очень короткие, мне пришлось их удлинить: разъемы купил на авторынке, провода сечением 1мм (можно 0.75) разных цветов усадил в термоусадку. Многие задаются вопросом, мол могут ли идти помехи на сигнальный провод от соседних. Как показывает практика — нет, даже учитывая тот факт что мой провод, в сумме получился чуть больше метра.
Разница в нагревателях титановой и циркониевой лямбды состоит в том, что цирконий нагревается ВСЕГДА, а титан только прогревается вначале.
На ардуино зашивается вот такая программа, любезно подкорректированная моим другом-программистом Алексеем:
int ledPin = 2; // Светодиод подсоединен к выводу 13
int analogPinInput = 0;
int outputSignal = 3;
double input = 0.0;
void setup()<
pinMode(ledPin, OUTPUT); // устанавливаем вывод 13 как выход
pinMode(outputSignal, OUTPUT);
Serial.begin(1200);//9600
>
void loop()<
double voltageLevel = 0.0;
while(true)<
voltageLevel = inputVoltageLevel();
if(voltageLevel >= 0.45 && voltageLevel != 0)<
digitalWrite(outputSignal, HIGH);
digitalWrite(ledPin, HIGH);
>
if(voltageLevel < 0.45 && voltageLevel != 0)<
digitalWrite(outputSignal, LOW);
digitalWrite(ledPin, LOW);
>
Serial.println(voltageLevel);
>
>
double inputVoltageLevel()<
input = analogRead(analogPinInput) * 0.0049;
return(input);
>
О том что тут происходит:
Контроллер мерит сигнал приходящий на ногу А0,
если сигнал меньше 0.45 вольт — плата ни чего не делает
если больше — подает питание на выход 13, открывая оптопару.
Все приходящие значения она отправляет в виртуальный ком-порт для считывания (если не подключен к компьютеру, все остается работать как и надо).
Светодиод работает тогда, когда идет богатая смесь.
Плата прошивается с помощью родного софта Arduino, который качается на официальном сайте (мануалов в инете слишком много на этот счет), дальше плата подключается к компьютеру и шьется круглой кнопочкой (Загрузить).
В целом, конвертер готов. Теперь наступает самое интересное:
Силами все того же Алексея и желанием что то по-писать, был написана такая софтина (на JAVA, требует установки ява-машины):
Подключаем к компьютеру ардуино, который уже подключен ко всей системе, запускаем программу и видим… график того что происходит на лямбде. Очень удобно тестировать так любой-другой зонд, просматривая его осциллограмму. Пробовали на другой машине — все работает и производительности контроллера и программы хватает с избытком (ей же мерили еще сигнал форсунок, но об этом разговор уже будет в другой "статье").
Под капотом машины, оно выглядит примерно так (этап колхозинга — обкатываемся):
Езжу так уже почти месяц — схема полностью рабочая. Раньше спустся полчаса поездки инжектор вываливался в аварийный режим. Расход стал меньше, мотор стал поохотней крутится.
Лог я к сожалению не сохранил, но «сгенерировал» вам вот такую подделку:
Address 01: Engine Labels: 06A-906-033-BGU.lbl
Control Module Part Number: 06A 906 033 CA
Component and/or Version: SIMOS71 1.6l 2VG 5755
Software Coding: 0000071
Work Shop Code: WSC 01279 785 00200
VCID: 60CFC6A5B392304189-8034
3 Faults Found:
17589 — Linear O2 Sensor; Reference Voltage
P1181 — 006 — Open Circuit — MIL ON
Freeze Frame:
RPM: 608 /min
Bin. Bits: 00000100
Voltage: 0.000 V
Voltage: 0.440 V
17511 — Oxygen (Lambda) Sensor Heating; B1 S1
P1103 — 009 — Performance too Low
Freeze Frame:
RPM: 1056 /min
Mass Air / Rev.: 267.1 mg/str
Voltage: 1.940 V
Voltage: 14.28 V
19617 — Linear Oxygen (Lambda) Sensor B1 S1; Pump Current Wire
P3161 — 008 — Open Circuit — MIL ON
Freeze Frame:
RPM: 1216 /min
Bin. Bits: 00100000
Voltage: 5.000 V
Voltage: 0.080 V
Новый оригинальный широкополосник стоит весьма значительных денег, при этом датчик от именитого брэнда NTK только чуть дороже какого-нибудь M&D. Принципы такого ценообразования мне не совсем понятны, а кучу денег вываливать — задушила жаба, плюс — интересно же попробовать чего там китайцы изготовили.
Кратенький «экскурс в теорию», для тех кому это интересно. Лямбда-зонды предназначены для достижения правильной смеси, то есть соотношения воздух-топливо — они выдают блоку управления текущее содержание кислорода в выхлопе, на основании чего ЭБУ понимает текущее соотношение воздух-топливо и корректирует топливоподачу. Изначально они предназначались скорее для поддержания оптимальной смеси для работы катализатора. Первые лямбда-зонды были на основе диоксида циркония — это «керамический электролит». Суть работы лямбда-зонда: это батарейка которая работает на разности содержания кислорода по обе стороны от измерительного элемента. Эти лямбда-зонды достаточно примитивны, они по сути могут говорить только богатая смесь или бедная, соответственно коррекция смеси осуществляется «волнообразно» — богатая? бедним. бедная? обогащаем. и так всё время. Для работы лямбда-зондов требуется определенная температура. Первые шли без подогрева, потом начали делать и датчики с подогревом, что способствует более быстрому выходу на рабочий режим.
Потом появились лямбда-зонды на основе диоксида титана. Эти датчики также «ступенчатого типа», но работают на другом принципе — у них в зависимости от разности содержания кислорода в глушителе и на улице изменяется сопротивление. Баловалась такими датчиками фирма Сименс, применялись они на Опелях, БМВ и некоторых других марках в середине 90х — начале 2000х. Датчики дорогие, потому что редкие. Отличительная особенность — все провода разных цветов, обычно красный-черный-желтый-белый, бывают только 4-проводные. У циркониевых датчиков может быть один, два, три или 4 провода, в последних двух случаях два из них ВСЕГДА одного цвета.
Японцы баловались еще и датчиками обедненной смеси — штука в наших краях крайне редкая и экзотическая. От обычного циркониевого отличается тем, что может работать в том числе и в режимах переобедненной смеси, но на немного другом принципе — ток через датчик в режимах обедненной смеси зависит от концентрации кислорода. Поэтому в режиме нормальной смеси он работает как обычный датчик, а в режиме обедненной смеси на него подается напряжения и контролируется протекающий ток. Если я, конечно, ничего не путаю.
Ну и в итоге производители придумали широкополосные лямбда-зонды. Отличительная внешняя особенность — 5 проводов. Пара картинок: внутреннего устройства и графика зависимости тока от содержания кислорода (ниже опишу что это)
вот что пишет фирма NTK о принципе действия:
Широкополосные датчики имеют две ячейки — измерительную ячейку и ячейку накачки. С помощью измерительной ячейки измеряется содержание кислорода в отработавшем газе, находящемся в камере детекции и затем сравнивается с заданной величиной 450 мВ.
Если эта величина отличается, то ячейка накачки включает ток накачки, при этом в камеру детекции поступают ионы кислорода до тех пор, пока величина напряжения измерительной ячейки не будет снова соответствовать 450 мВ.
Этот ток накачки является измерительной величиной, которая почти линейно описывает точную лябда-величину смеси. При стехиометрической смеси эта величина равна нулю, поскольку частичное давление кислорода в камере детекции соответствует упомянутой заданной величине.
Теперь я поясню грубо и «на пальцах». Датчик отличается от «обычного» наличием ячейки накачки, которая перегоняет кислород извне в измерительную камеру. Вот значение (и направление) этого тока — и есть величина связанная с коэффициентом избытка воздуха λ. Напомню, что λ<1 это богатая смесь, λ>1 — бедная.
Общая идея работы такова: на проводе Vs поддерживается напряжение 450мВ, путём изменения тока накачки Ip. Величина и направление этого тока показывают состав смеси.
Чуть подробнее о типовой схеме включения: компаратор А сравнивает сигнал кислородной ячейки Vs с эталоном 450мВ и выдает результат на контроллер, который управляет источником тока В для поддержания Vs равного эталонным 450мВ. Этот ток (Ip) измеряется операционным усилителем С по падению напряжения на резисторе 62 Ом и включенном параллельно корректирующем резисторе. Значение этого тока и показывает коэффициент избытка воздуха λ. как они связаны — см график выше.
Широкополосники можно условно разделить на два типа — BOSCH и NTK. У них немного отличается конструкция, в частности, у бошевского датчика присутствует внешний калибровочный резистор, у NTK — нет его. Соответственно, и работа ЭБУ с датчиками тоже немного отличается. Кроме того заметно отличается распиновка датчиков, то есть поставить один вместо другого просто так не получится. Внешне проще всего отличить по цветам проводов: у условного боша будет серый-белый-красный-желтый-черный, у условного нтк — серый-белый-синий-желтый-черный
На этом теоретическую часть я думаю можно закончить и перейти к сути обзора.
Я, как вы знаете, молодец, и конечно же не могу без косяков и приключений. поэтому я при выборе датчика заказал «бош», чему был «страшно рад» (кстати, обзор на аналогичный датчик был). Поэтому был заказан уже правильный датчик, ну и вот он у меня в руках.
Самое сложное — выкрутить старый датчик. стоит он в глушителе и как правило значительно пригорает, что крайне затрудняет его выкручивание. А в данном конкретном автомобиле еще и подлезть к нему — нетривиальная задача. Но мне удалось открутить его прям из моторного отсека, потому что из ямы его и не видно даже толком…
Старый датчик:
Вместе с новым:
Ну и группенфото старого датчика с двумя новыми:
Внешний вид датчиков порадовал. Если бы на них написали бош и нтк — я б пожалуй поверил. Сложилось впечатление, что они, в отличие от оригинала, полностью из нержавейки. На разъеме правильного датчика даже «314» написали, как на оригинале. ;) Единственное отличие — на оригинальном датчике на выходе есть гофра (на фото не видно, спряталась под кембрик), на китайском — провода выходят из датчика без неё. Длина провода как у оригинала.
Вкручиваем датчик, и идём подключать ноутбук и проверять работу.
Коррекции меняются, воздух-топливо меняется, лямбда работает, ошибки не появились.
Счастье однако длилось не долго. Через пару дней начали появляться ошибки по лямбда-зонду:
19058 — Linear Oxygen (Lambda) Sensor B1 S1 Pump Current Trim Circuit
P2626 — 000 — Open
Freeze Frame:
RPM: 1376 /min
Mass Air / Rev.: 87.2 mg/str
Voltage: 5.100 V
Bin. Bits: 00000100
(no units): 0.99
Voltage: 0.000 V
16514 — Oxygen (Lambda) Sensor B1 S1
P0130 — 000 — Malfunction in Circuit
Freeze Frame:
При этом на холостых всё работает отлично, и тесты датчик проходит, но в движении при сбросе газа — увы имеем вот такую картину с большим значением параметра A/F что вроде бы и правильно по логике, но неправильно с точки зрения ЭБУ, и как следствие — вышеприведенные ошибки
Таким образом можно констатировать, что широкополосные датчики — датчики непростые, и могут не работать нормально с некоторыми системами. При этом в данном конкретном случае датчик нормально работает на всех режимах кроме режима принудительного холостого хода (отсечки топлива при сбросе газа). При этом нельзя сказать что датчик работает совсем уж неправильно, но тем не менее такое его поведение не нравится блоку управления и он зажигает лампочку.
На другом блоке управления, другом двигателе, другой машине — «китаец» может и прокатить. Но на двигателе BSE данный датчик работать не захотел. Точнее, с ним не захотел работать блок управления двигателем. Кстати, не исключено что с другой прошивкой — будет работать нормально. Мне же придётся таки купить оригинал (ну, точнее, как «придётся купить оригинал» — собственно, оригинал куплен и установлен, и с ним всё
ок уже пару месяцев)… А эти датчики — я при случае опробую на других машинах, но уже с большой осторожностью, благо знаю что возможны «подводные камни».
Конец двадцатого века был временем взрывного роста технологий, которое выразилось не сколько разработкой новых устройств, а скорее расширением возможностей привычных механизмов. Примером тут может служить обыденный выключатель света. Если раньше все его функции состояли в подаче тока и прекращению хода электричества к устройствам потребления, — теперь он может сообщать в конгломерат домашней техники, работающей в единой сети, о своем статусе, или менять состояние по удаленным командам.
Расширение функционала стало доступным за счет широкого использования микроконтроллеров. В своей основе — они представляют собой миниатюрные компьютеры, ориентированные на управление внешними устройствами в рамках своей программы и происходящих вокруг факторов. Информацию о последних логический модуль получает за счет специализированных датчиков.
Существует не так много моделей микроконтроллеров, служащих базой «умной» техники. Среди них определенной популярностью пользуется Arduino, в качестве достаточно универсальной основы создания интеллектуального оборудования. Своей известности микроконтроллер обязан не только быстродействием или удобством подключения внешних компонентов, но и широтой их моделей, представленной на рынке. Среди последних, богатый выбор сенсоров, устройств индикации, средств интерфейса и получения команд, сетевых и коммуникационных плат, а также управляющих внешней аппаратурой узлов.
Собственно, чувствительные элементы платформы и будут рассмотрены в теле статьи, а конкретно один из них — датчик давления Ардуино.
Что измеряет сенсор
Давление — некая физическая величина численно равная перпендикулярно направленной силе действующей на единицу площади поверхности. Сам датчик можно представить своеобразными очень чувствительными весами. Последнее замечание сделано по причине того, что и вода, и газы тоже имеют свою массу, которая влияет на поверхность под ними. На практике, за счет указанного фактора, можно определить глубину погружения (чем ниже, тем больше вес слоя воды) или высоту подъема в атмосферу (чем выше — тем меньше плотность, а значит и слабее воздействие). Кроме того, в отношении давления воздуха не стоит забывать о погодных колебаниях. Резкое падение названой характеристики атмосферы — к дождю или буре.
Опять же, насчет газов и частично жидкостей. Их можно сжимать. Но, уплотненные вещества будут стремиться вернуться в первоначальное состояние. И чем сильнее компрессия, тем мощнее будет конечное давление газа или жидкости внутри сосуда их содержащего.
Собственно, детектор Ардуино о котором идет речь, и измеряет силу воздействия на единицу площади сенсорного элемента прибора. Правда, в большинстве выпускаемых моделей, описанное — не все их функциональные возможности. Бонусом, у многих идет замер температуры окружающей среды, а у некоторых еще и влажности или ускорения.
Устройство
Суммарное количество чувствительных элементов датчика давления зависит от его модели. Главными остается пьезоэлементы, определяющие саму силу действия на свою плоскость. Физическая основа работы – возникновение электрического тока на внутренних кварцевых пластинах в результате их деформации при соприкосновении с влияющим фактором. В настоящем случае, о котором идет речь — газом или жидкостью.
Выработанное аналоговое напряжение идет в модуль АЦП преобразования, где его сила перекодируется в числовой вид и через интерфейсы датчика I2C и SPI отправляется на микроконтроллер. Библиотека функций, ориентированных на работу с конкретным сенсором, переводит полученные величины в понятный человеком вид, на основе единиц измерений давления в стандарте Си — Паскалях.
Все дополнительные измеряющие элементы конкретного устройства действуют похожим образом, конвертируя с помощью АЦП аналоговые значения в цифру, для последующей отправки их в Arduino.
Представленные на рынке модели
Датчики Arduino, относящиеся к давлению, делятся согласно средам применения и конструктивным особенностям, непосредственно связанным с получением конечного результата. Есть модели, защищенные от влаги и предназначенные для применения в жидкостях, другие работают только в качестве анероидов атмосферы, иные устанавливаются в разрыв движения потока, четвертые в качестве определителей внутреннего давления наполняющего емкость газа. Их всех объединяет наличие общих интерфейсов подключения к микроконтроллеру и низкое, не более нескольких милливатт (реже Ватт), потребление энергии.
Наименование | Питание (V) | Точность | Разрешение (hPa) | Диапазон (hPa) | Рабочая температура (°C) | Интерфейсы | Примечание | ||
---|---|---|---|---|---|---|---|---|---|
SPI | I2C | UEXT | |||||||
Атмосферные | |||||||||
MOD-BMP085 | 1.8–3.6 | 0.03 hPa | 0.01 | 300–1100 (от 500 м ниже уровня моря до 9 км. высоты | –40..+85 | + | + | Измерение температуры | |
GY-BMP280 | 3.3 | 0.12 hPa | 0.0016 | 300–1100 | –40..+85 | + | + | Измерение температуры до +65, с точностью 0.01 | |
MD-PS002 | 5V | ±0.2% | –100–+150 | –40..+125 | + | Только не агрессивные среды | |||
Жидкостные | |||||||||
MS5803-02BA | 1.8–3.6 | 20 см жидкости | 30–1100 (10–2000) | –40..+85 | + | + | |||
MS5803-07BA | 1.8–3.6 | 0–7 мбар (70 м погружения) | –20..+85 | + | + | ||||
Open-Smart 5V G1/4 0-1.2 MPa Hydraulic Pressure Sensor for Non-Corrosive Water | 5 | 1.5 % | 1–2.4 мбар (max 3) | 0..+85 | Собственный коннектор, соединяемый к I2C через резистор, датчик оснащен термометром |
Конечно, в приведенном списке числятся далеко не все существующие модели. В нем указаны только те, которые обладают определенной популярностью и затребованы пользователями.
Схемы подключения датчика давления жидкости
Среди множества схем, демонстрирующих работу Arduino с датчиком давления жидкости, была выбрана наиболее простая, использующая минимум радиодеталей. С ее помощью можно проводить измерение глубины погружения или уровня заполнения сосуда водой. Итак, понадобится:
Элемент | Наименование/характеристики | Количество |
---|---|---|
Микроконтроллер | Arduino Nano/Uno или любой клон | 1 |
Экран | Display 2×16 ST7032 | 1 |
Датчик | MS5803 | 1 |
Резистор | 10 кОм | 2 |
Конденсатор | 0.1 мкФ | 1 |
Кнопка | Любая, без фиксации нажатия | 1 |
Библиотека работы с датчиком давления берется здесь: https://github.com/millerlp/MS5803_05
С экраном тут: https://yadi.sk/d/KKJwJ1VtDx9PCw
Принципиальная схема
Кнопка нужна для выбора режима отображения — однократное нажатие переключает вывод абсолютных и относительных данных, с сохранением состояния на последующих опросах датчика.
Скетч
Схемы подключения датчика давления воздуха
Следующая конструкция построена на сенсоре-анероиде BMP180. Экран, в нее входящий, будет отображать текущее давление атмосферного воздуха и температуру окружающей среды. Для изготовления понадобятся:
Элемент | Наименование/характеристика | Количество |
---|---|---|
Микроконтроллер | Arduino UNO/Nano | 1 |
Датчик | BMP180 | 1 |
Экран | HD447080LCD-1602 | 1 |
Резистор | 100 Ом | 1 |
Регулируемый резистор | До 10 кОм | 1 |
Ну и конечно провода для связки всего названого в единую систему.
Библиотека, управляющая сенсором берется тут: https://github.com/adafruit/Adafruit-BMP085-Library
Принципиальная схема
Фотография итогового устройства:
Плата-шилд самодельная, для желающих повторить, она вблизи:
Датчик питается от 3.3V, соответственно и подключаются его контакты получения энергии (VCC и GND) к плате Arduino. Для передачи данных используются входы A5 (SCL) и A4(SDA). Дисплей с микроконтроллером соединяется согласно следующей таблицы:
Arduino | Экран |
---|---|
D6 | E и D4 вместе |
D4 | D5 |
D3 | D6 |
D2 | D7 |
GND | GND |
D7 | RS |
Скетч
Использование стороннего аналогового датчика давления
Редко, но все же случаются ситуации, когда по каким-либо причинам использовать в схеме специализированный сенсор, рассчитанный на работу конкретно с Ардуино, не получается. Скажем, его невозможно найти сразу в близлежащих магазинах электроники, а ждать посылку долго. Выходом могут стать датчики давления, применяемые в автомобильной электронике. Их тоже можно связать непосредственно с микроконтроллером.
Примером послужит WABCO 4410400130 — сенсор указанного плана, используемый на большегрузных фурах. Единственное, требующее внимания в представленной схеме — питание у элемента раздельно с Arduino. В последнем, просто нет требуемых для запуска датчика +24 В. В связи с чем и приходится использовать дополнительный блок энергообеспечения, с правильными и достаточными характеристиками питания — 8–32 V постоянного тока, при минимуме 400 mА мощности.
Что касается соединения сенсора напрямую к плате микроконтроллера — в нем на выходе не более 5 В. И чем больше давление, тем меньший ток будет поступать на аналоговые контакты логического устройства. Вот только, на всякий случай, рекомендуется проверить изначальный выход мультиметром, с целью контроля варианта «пробития» сенсора, с возникновением обстоятельств беспрепятственного связывания OUT с минусом или плюсом питающей детектор линии.
Теперь, что касается данных получаемых на выходе скетча. Нужно провести их градацию с использованием классического манометра, оценив какие цифры идут от сенсора при разном давлении и ввести соответствующую формулу в тело программы.
И в окончании, технические характеристики WABCO 4410400130, для сравнения с похожими датчиками Arduino:
- Тип: пьезоэлемент
- Питание: 8–32 V
- Рабочая температура: −40..+80 °С
- Диапазон измерения: от 0 до 10 bar
- Точность: 0.2–0.3 %
- Предельное давление разрушения: 16 bar
Резюмируя
Надеемся, представленная информация дала достаточно сведений, чтобы выполнить подключение датчика давления любого вида к плате микроконтроллера Arduino. В сущности, ничего сложного нет, для всех вариантов изначальных сенсоров — специализированных цифровых или сторонних аналоговых. Даже количество дополнительных радиодеталей в схемах стремится к нулю.
Как сделать цифровой манометр для измерения высокого давления с помощью которого можно измерять не только давление воздуха, но и жидкостей ? Большинство популярных и недорогих датчиков пригодны лишь для создания метеостанций и альтиметров. Они не могут работать в воде и не могут измерять большие значения давления - но выход есть - влагозащищенные датчики серии 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 мкА (в режиме ожидания <0,15 мкА)
· Встроенный цифровой датчик давления (24 бит ΔΣ АЦП)
· Напряжение питания от 1,8 до 3,6 В
· Интерфейс I 2 C и SPI (режим 0, 3)
· Нет внешних компонентов (Внутренний генератор)
· Отличная долговременная стабильность
· Герметичный для наружных устройств
Датчик миниатюрный - высокопрочный корпус выполненный из нержавеющей стали имеет диаметр чуть меньше 6мм.
Для подключения к Ардуино (ESP8266) необходимо припаять 4 провода:
(я использовал МГТФ 0.07 кв.мм)
Piranha Uno R3
Trema Shield
RGB матрица 64x32, P3.0
Общие сведения
Датчик пульсоксиметрии MAX30102 — плата с интегрированным сенсорным модулем, которая позволяет определять частоту сердечных сокращений, то есть пульс, а так же уровень насыщения крови кислородом (SpO2). Помимо этого, в сенсор встроен температурный датчик, с помощью которого вы можете получить значение температуры (в Цельсиях и Фаренгейтах) окружающей среды.
Видео
Характеристики
Подключение
Для удобства подключения к Arduino воспользуйтесь Trema Shield, Trema Power Shield, Motor Shield или Trema Set Shield.
Так как датчик работает по шине I2C, то его выводы подключаются следующим образом:
MAX30102 | Trema Shield |
---|---|
VIN | Vcc |
SDA | SDA |
SCL | SCL |
GND | Gnd |
Питание
Датчик питается от напряжения 5 В.
Подробнее о датчике
Датчик предназначен для создания портативных носимых приборов контроля сердечного ритма и насыщенности крови кислородом.
В состав самой микросхемы входят светодиоды (ИК- и красного цвета), а так же фотоприемник и оптические элементы. Важно так же отметить, что полученные сигналы имеют низкий уровень шума. В ходе измерений испускаемый красный и инфракрасный свет регулируется встроенными программными методами за счёт изменения интенсивности свечения и его (свечения) длительности.
Датчик может быть программно переведен в режим ожидания, а благодаря технологии сверхнизкого потребления энергии в режиме ожидания ток потребления будет практически нулевой.
Примеры
Во время измерения любых значений необходимо, чтобы палец находился в постоянном зафиксированном положении и давил на сенсор с постоянным неизменяющимся давлением (лёгкое нажатие), или же, в случае с расположением на запястье, находился в неподвижном положении всё время измерений. Для решения этой задачи предлагается воспользоваться обычной канцелярской резинкой или ремешком, которые стоит продеть в петли модуля и зафиксировать модуль на пальце или запястье. В противном случае точность измерений может существенно снизиться.
Читайте также: