Датчик давления: различия между версиями
Сергей (обсуждение | вклад) |
Artecoll (обсуждение | вклад) (Оформление) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 12: | Строка 12: | ||
Существуют различные типы датчиков давления, которые сегодня доступны на рынке для использования в промышленности. Каждый из них имеет преимущества в определенных ситуациях. | Существуют различные типы датчиков давления, которые сегодня доступны на рынке для использования в промышленности. Каждый из них имеет преимущества в определенных ситуациях. | ||
== | == Классификация и принцип работы датчика == | ||
Большинство датчиков устроено таким образом, что они преобразуют внешнее давление в движение механической части датчика. | Большинство датчиков устроено таким образом, что они преобразуют внешнее давление в движение механической части датчика. | ||
Строка 72: | Строка 72: | ||
Датчик поставляется в виде модуля (на печатной плате) с 4 или 5 выводами: | Датчик поставляется в виде модуля (на печатной плате) с 4 или 5 выводами: | ||
*если у модуля 4 вывода (VСС GND SCL SDA), то на вывод VCC подаётся питание +3,3в. | |||
*если у модуля 5 выводов (VСС 3V3 GND SCL SDA), то на вывод VCC подаётся +5в. | |||
(так же можно запитать модуль с 5 выводами от 3,3в, подав их на вывод 3V3 оставив вывод VIN свободным) | (так же можно запитать модуль с 5 выводами от 3,3в, подав их на вывод 3V3 оставив вывод VIN свободным) | ||
Строка 90: | Строка 89: | ||
|} | |} | ||
'''Состав датчика BMP180:''' | '''Состав датчика BMP180:''' | ||
*пьезо-резистивный датчик (для определения атмосферного давления); | |||
*термодатчик (для определения температуры); | |||
*АЦП (аналого-цифровой преобразователь); | |||
*EEPROM (энергонезависимая электрически стираемая перепрограммируемая память); | |||
*RAM (энергозависимая память, другими словами ОЗУ); | |||
*микроконтроллер; | |||
*передача данных организована по шинам I2C или SPI. | |||
'''Принцип действия датчика''' | '''Принцип действия датчика''' | ||
Строка 109: | Строка 101: | ||
В датчике имеется герметичная камера, одна из стенок которой является гибкой мембраной с установленными на ней тензодатчиками. Мембрана прогибается пропорционально разности давлений внутри камеры и снаружи, что влияет на изменение сопротивления тензодатчиков электрическому току. Так же имеется термодатчик, сопротивление которого меняется пропорционально температуре. АЦП (аналого-цифровой преобразователь) переводит результаты изменений датчиков в цифровые данные «некомпенсированные результаты», которые доступны для чтения из регистров датчика: «Out MSB», «Out LSB» и «Out xLSB». Для компенсации указанных результатов (компенсации смещения, температурной зависимости, погрешностей при изготовлении, неоднородностей материалов и т.д.) каждый датчик калибруется на заводе, и в EEPROM записываются индивидуальные для каждого датчика 11 калибровочных коэффициентов (176 бит), которые доступны для чтения из регистров датчика: «AC1», «AC2», «AC3», «AC4», «AC5», «AC6», «B1», «B2», «MB», «MC», «MD». | В датчике имеется герметичная камера, одна из стенок которой является гибкой мембраной с установленными на ней тензодатчиками. Мембрана прогибается пропорционально разности давлений внутри камеры и снаружи, что влияет на изменение сопротивления тензодатчиков электрическому току. Так же имеется термодатчик, сопротивление которого меняется пропорционально температуре. АЦП (аналого-цифровой преобразователь) переводит результаты изменений датчиков в цифровые данные «некомпенсированные результаты», которые доступны для чтения из регистров датчика: «Out MSB», «Out LSB» и «Out xLSB». Для компенсации указанных результатов (компенсации смещения, температурной зависимости, погрешностей при изготовлении, неоднородностей материалов и т.д.) каждый датчик калибруется на заводе, и в EEPROM записываются индивидуальные для каждого датчика 11 калибровочных коэффициентов (176 бит), которые доступны для чтения из регистров датчика: «AC1», «AC2», «AC3», «AC4», «AC5», «AC6», «B1», «B2», «MB», «MC», «MD». | ||
== Характеристики BMP180 == | |||
- диапазон измеряемых значений: от 300 гПа до 1100 гПа (от -500м от +9000м над уровнем моря); | - диапазон измеряемых значений: от 300 гПа до 1100 гПа (от -500м от +9000м над уровнем моря); | ||
Строка 135: | Строка 127: | ||
|A5 | |A5 | ||
|} | |} | ||
Для начала добавим библиотеку BMP180_Breakout_Arduino_Library. | Для начала добавим библиотеку '''BMP180_Breakout_Arduino_Library'''. | ||
Программа для получения данных с датчика представляет собой следующую структуру | Программа для получения данных с датчика представляет собой следующую структуру: | ||
Сначала запрашиваем у барометра показания встроенного в него датчика температуры; | *Сначала запрашиваем у барометра показания встроенного в него датчика температуры; | ||
Затем ждем время, пока датчик оценивает температуру; | *Затем ждем время, пока датчик оценивает температуру; | ||
После этого получаем температуру; | *После этого получаем температуру; | ||
Следующий шаг это запрос у барометра давления; | *Следующий шаг это запрос у барометра давления; | ||
Снова ждем время пока барометр оценит давление и получаем это значение; | *Снова ждем время пока барометр оценит давление и получаем это значение; | ||
Финальный этап это возврат значения давления из функции. Датчик возвращает значение величины давления в гектопаскалях, что равно 100 Паскалей. | *Финальный этап это возврат значения давления из функции. Датчик возвращает значение величины давления в гектопаскалях, что равно 100 Паскалей. | ||
Время зависит от точности измерения, которая задается в функции startPressure. Значение которой варьируется от нуля (самая быстрая оценка, которая занимает минимальное количество времени) до трех (самая точная оценка, занимающая наибольшее количество времени) | Время зависит от точности измерения, которая задается в функции startPressure. Значение которой варьируется от нуля (самая быстрая оценка, которая занимает минимальное количество времени) до трех (самая точная оценка, занимающая наибольшее количество времени) | ||
<syntaxhighlight lang="c"> | |||
#include <SFE_BMP180.h> //библиотека для датчика (НАДО УСТАНАВЛИВАТЬ) | |||
#include <Wire.h> //библиотека для связи через I2C (УЖЕ ЕСТЬ В ARDUINO) | |||
void setup() { | |||
Serial.begin(9600); | |||
pressure.begin(); | |||
} | |||
void loop() { | |||
double Davl; | |||
Davl = getPressure(); | |||
Serial.println(Davl, 4); | |||
delay(100); | |||
} | |||
double getPressure(){ | |||
char status; | |||
double T,Davl,p0,a; | |||
status = pressure.startTemperature(); | |||
if (status != 0){ | |||
// ожидание замера температуры | |||
delay(status); | |||
status = pressure.getTemperature(T); | |||
if (status != 0){ | |||
status = pressure.startPressure(3); | |||
if (status != 0){ | |||
// ожидание замера давления | |||
delay(status); | |||
status = pressure.getPressure(Davl,T); | |||
if (status != 0){ | |||
return(Davl); | |||
} | |||
} | |||
} | |||
} | |||
} | |||
</syntaxhighlight> |
Текущая версия от 14:51, 11 июня 2021
Датчик давления – это прибор, который предназначен для мониторинга давления в жидкой либо газообразной среде с передачей сигнала о полученных измерениях на соответствующее оборудование. Это необходимо для своевременной корректировки параметров различных технологических процессов. Они применяются в автоматизированных системах многих отраслей промышленности.
Существуют три типа измеряемого давления:
Абсолютное давление - атмосферное давление плюс избыточное давление;
Избыточное давление - абсолютное давление минус атмосферное давление;
Дифференциальное давление - разность давлений между двумя точками.
Существуют различные типы датчиков давления, которые сегодня доступны на рынке для использования в промышленности. Каждый из них имеет преимущества в определенных ситуациях.
Классификация и принцип работы датчика
Большинство датчиков устроено таким образом, что они преобразуют внешнее давление в движение механической части датчика.
Упругие датчики
Большинство датчиков давления жидкости имеют упругую структуру, где жидкость заключена в небольшой отсек по меньшей мере с одной упругой стенкой. При использовании данного метода, показания давления определяются путем измерения отклонения этой эластичной стенки, представляя результат непосредственным отсчетом через соответствующие связи. Упругие датчики давления очень чувствительны, они довольно хрупкие и подвержены вибрации. Кроме того, они, как правило, значительно дороже, чем манометры, и поэтому в основном используются для передачи измеренных данных и измерения разности давлений. Теоретически можно использовать довольно широкий спектр упругих элементов для упругих датчиков давления. Однако большинство устройств используют ту или иную форму трубки Бурдона или диафрагмы.
Трубки Бурдона
Давление, которое подается внутрь трубки вызывает упругую деформацию эллиптического или овального сечения трубки в сторону круга, которая вызывает появление напряжений в продольном направлении, заставляющих трубку разгибаться, а свободный конец трубки перемещаться. Система рычагов и передач превращает это движение и возвращает стрелку, показывающую давление относительно круглой шкалы. Диапазон измерения такого манометра составляет - от 10 Па до 1000 МПа. Трубные материалы могут быть изменены соответствующим образом в соответствии с требуемым условием процесса. Также, трубки Бурдона - портативные и требуют минимального технического обслуживания, однако, они могут быть использованы только для статических измерений и имеют низкую точность.
Материалом для трубчатых пружин может служить сталь, бронза, латунь. В зависимости от конструктивного исполнения трубчатые пружины могут быть одно- и многовитковые (винтовые и спиральные), S-образные и т.п. Распространены одновитковые трубчатые пружины, используемые в манометрах, которые предназначены для измерения давления жидкостей и газов, а также в таких типах манометров как глубиномер. Датчики С-типа могут быть использованы в диапазонах давлений приближающихся к 700 МПа; они имеют минимальный рекомендованный диапазон давления - 30 кПа (т.е. они не достаточно чувствительны для измерения разности давлений меньше чем 30 кПа).
Сильфоны
Сильфоны имеют цилиндрическую форму и содержат много складок. Они могут деформироваться в осевом направлении при изменении давления (сжатие или расширение). Давление, которое должно быть измерено прикладывается к одной стороне сильфона (внутри или снаружи), тогда как на противоположную сторону действует атмосферное давление. Абсолютное давление может быть измерено путем откачки воздуха из внешнего или внутреннего пространства сильфона, а затем измерением давления на противоположной стороне. Сильфон может быть подключен только к включающим / выключающим переключателям или к потенциометру и используется при низких давлениях, <200 Па с чувствительностью 1,2 Па.
Мембраны (Диафрагмы)
Мембраны изготовлены из круглых металлических дисков или гибких элементов, таких как резина, пластик или кожа. Материал, из которого изготовлена мембрана зависит от того используется ли свойства упругости этого материала или ему должен противостоять другой элемент (например - пружина). Мембраны изготовленные из металлических дисков используют упругие характеристики, а тем, которым противостоят другие упругие элементы, изготовлены из гибких элементов. Мембраны очень чувствительны к резким изменениям давления. Мембраной изготовленной из металла можно измерить максимальное давление равное примерно 7 МПа, а мембраной использующей упругий тип материала можно измерять чрезвычайно низкие давления (0,1 кПа - 2,2 МПа) при подключении к емкостным преобразователям или к датчикам перепада давления. Диафрагмы бывают плоские, гофрированные и капсульного типа. Как отмечалось ранее, мембраны очень чувствительны (0,01 МПа). Они могут измерять дробные разности давления на очень маленьком диапазоне (скажем, давления нескольких дюймов воды) (эластичный тип) или большие перепады давления (приближаясь к максимальному диапазону в 207 кПа) (металлический тип).
Мембраны очень универсальны - они обычно используются в очень агрессивных средах или в ситуациях с экстремальными избыточными давлениями.
Электрические датчики
Электрические датчики принимают данные полученные механическое воздействие от упругого датчика и включают в себя электрический компонент, таким образом, усиливая чувствительность и увеличивая сферы применения датчиков. Существуют такие типы датчиков давления: емкостной, индуктивный, датчик магнетосопротивления (датчик Холла), пьезоэлектрический, тензодатчик, виброэлемент, и потенциометрический тип датчика.
Емкостной
Емкостной датчик состоит из параллельных пластин - конденсаторов, соединенных с диафрагмой, которая обычно металлическая и подвергается давлению сил участвующих в процессе с одной стороны и опорным давлением на другой стороне. Электроды прикреплены к мембране и получают питание от генератора высокой частоты. Электроды ощущают любое перемещение диафрагмы и это влияет на изменение емкости пластин-конденсаторов. Изменение емкости обнаруживается подсоединенной электрической цепью, которая выводит напряжение в соответствии с изменением давления. Данный тип датчика может работать в диапазоне от 2,5 Па - 70 МПа с чувствительностью 0,07 МПа.
Индуктивный
Индуктивные датчики давления в сочетании с диафрагмой или трубкой Бурдона. Ферромагнитный сердечник прикреплен к упругому элементу и имеет первичную и две вторичные обмотки. Ток подается на первичную обмотку. Когда сердечник по центру то то же напряжение будет индуцироваться к двум вторичными обмотками. Когда сердечник перемещается под влиянием давления, отношение напряжения между двумя вторичными обмотками изменяется. Разность напряжений пропорциональна изменению давления.
Пьезоэлектрический
Элементом чувствительности в этом датчике служит пьезоэлемент. Это вещество, создающее электрический сигнал во время деформации. Такое свойство называется прямым пьезоэффектом. В измеряемой области находится пьезоэлемент, который образует ток, прямо зависящий от значения давления. Сигнал в датчике из пьезоматериала образуется только при деформации. При неизменном давлении нет деформации, поэтому датчик годен только для проведения замеров среды с быстро изменяемым давлением.
Если давление не будет изменяться, то не будет деформации, пьезоэлектрик не сгенерирует сигнал.
На что обратить внимание при выборе датчика
На что обратить внимание при выборе датчика
Тип давления. Важно определить, что вы будете измерять. Есть несколько типов давления: барометрическое, избыточное, вакуумное, относительное, абсолютное.
Интервал разбега давления.
Класс защиты датчика. Для разных условий работы определены свои степени защиты от пыли и влаги.
Термокомпенсация. Эффекты температуры: например, расширение предметов, создают значительные помехи на результат измерения датчика. Если температура всегда изменяется в среде, то нужна термокомпенсация. Про границы температур тоже нельзя забывать.
Вид материала. Свойства материала играют значительную роль для агрессивных условий.
Тип сигнала выхода. Бывают цифровой вид и аналоговый. Нужно также учесть интервалы выхода сигнала, количество проводов.
Датчик BMP180
Датчик поставляется в виде модуля (на печатной плате) с 4 или 5 выводами:
- если у модуля 4 вывода (VСС GND SCL SDA), то на вывод VCC подаётся питание +3,3в.
- если у модуля 5 выводов (VСС 3V3 GND SCL SDA), то на вывод VCC подаётся +5в.
(так же можно запитать модуль с 5 выводами от 3,3в, подав их на вывод 3V3 оставив вывод VIN свободным)
VIN(VCC, VDD) | GND | SDA (DA) | SCL (CL) |
---|---|---|---|
плюс питания | общий минус | линия данных, интерфейс I2C | линия тактирования, интерфейс I2C |
Состав датчика BMP180:
- пьезо-резистивный датчик (для определения атмосферного давления);
- термодатчик (для определения температуры);
- АЦП (аналого-цифровой преобразователь);
- EEPROM (энергонезависимая электрически стираемая перепрограммируемая память);
- RAM (энергозависимая память, другими словами ОЗУ);
- микроконтроллер;
- передача данных организована по шинам I2C или SPI.
Принцип действия датчика
В датчике имеется герметичная камера, одна из стенок которой является гибкой мембраной с установленными на ней тензодатчиками. Мембрана прогибается пропорционально разности давлений внутри камеры и снаружи, что влияет на изменение сопротивления тензодатчиков электрическому току. Так же имеется термодатчик, сопротивление которого меняется пропорционально температуре. АЦП (аналого-цифровой преобразователь) переводит результаты изменений датчиков в цифровые данные «некомпенсированные результаты», которые доступны для чтения из регистров датчика: «Out MSB», «Out LSB» и «Out xLSB». Для компенсации указанных результатов (компенсации смещения, температурной зависимости, погрешностей при изготовлении, неоднородностей материалов и т.д.) каждый датчик калибруется на заводе, и в EEPROM записываются индивидуальные для каждого датчика 11 калибровочных коэффициентов (176 бит), которые доступны для чтения из регистров датчика: «AC1», «AC2», «AC3», «AC4», «AC5», «AC6», «B1», «B2», «MB», «MC», «MD».
Характеристики BMP180
- диапазон измеряемых значений: от 300 гПа до 1100 гПа (от -500м от +9000м над уровнем моря);
- напряжение питания: от 3.3 до 5 Вольт;
- сила тока: 5 мкА при скорости опроса — 1 Герц;
- уровень шума: 0.06 гПа (0.5м) в грубом режиме (ultra low power mode) и 0.02 гПа (0.17м) а режиме максимального разрешения (advanced resolution mode).
Программа для датчика BMP180
Таблица подключения контактов
BMP 180 | GND | VCC | SDA | SCL |
ARDUINO UNO | GND | +3V3 | A4 | A5 |
Для начала добавим библиотеку BMP180_Breakout_Arduino_Library.
Программа для получения данных с датчика представляет собой следующую структуру:
- Сначала запрашиваем у барометра показания встроенного в него датчика температуры;
- Затем ждем время, пока датчик оценивает температуру;
- После этого получаем температуру;
- Следующий шаг это запрос у барометра давления;
- Снова ждем время пока барометр оценит давление и получаем это значение;
- Финальный этап это возврат значения давления из функции. Датчик возвращает значение величины давления в гектопаскалях, что равно 100 Паскалей.
Время зависит от точности измерения, которая задается в функции startPressure. Значение которой варьируется от нуля (самая быстрая оценка, которая занимает минимальное количество времени) до трех (самая точная оценка, занимающая наибольшее количество времени)
#include <SFE_BMP180.h> //библиотека для датчика (НАДО УСТАНАВЛИВАТЬ) #include <Wire.h> //библиотека для связи через I2C (УЖЕ ЕСТЬ В ARDUINO) void setup() { Serial.begin(9600); pressure.begin(); } void loop() { double Davl; Davl = getPressure(); Serial.println(Davl, 4); delay(100); } double getPressure(){ char status; double T,Davl,p0,a; status = pressure.startTemperature(); if (status != 0){ // ожидание замера температуры delay(status); status = pressure.getTemperature(T); if (status != 0){ status = pressure.startPressure(3); if (status != 0){ // ожидание замера давления delay(status); status = pressure.getPressure(Davl,T); if (status != 0){ return(Davl); } } } } }