Подключение датчика дифференциального давления MPXV5004DP
- Войдите на сайт для отправки комментариев
Пнд, 06/06/2016 - 14:01
Помогите подключить датчик дифференциального давления MPXV5004DP к arduino uno r3(ATmega328)
Конфигурация контактов http://www.tme.eu/html/gfx/img_7177.gif
Согласно данным с графика, формула перевода значений из вольт в давление имеет вид (((V*5.0)/1023.0 -0.2)/0.2);
Однако если посчитать в ручную то значения не сходятся. В чем может быть проблема?????????
в состоянии покоя получаем значение около 1.15 что похоже на правду. Однако при подстановке в формулу получается какая то ерунда
Согласно формуле на самом графике P=(5Vout/Vs)-1, при питании 5 вольт P=Vout - 1 (если я все правильно понял). Чувствительность датчика 1В/кПа, соответственно если берем опору 4.096 вольт, показания с датчика делим на 2 перед входом в АЦП, то получается 4мВ/разряд(АЦП), чувствительность датчика 0.5В/кПа, получается 125разрядов/кПа, получается P(кПа)=(ADC-125)/125=(ADC/125)-1.
Если не совсем понятно, чуть позже выведу формулу для произвольного ИОН.
Спасибо Вам большое за помощь.
Правильно ли я понял, что данные с АЦП подставить в P(кПа)=(ADC-125)/125=(ADC/125)-1?
В спокойном состоянии датчик показывает выходное значени в 241-239. Это значения полученные напрямую с A0.
Данная формула справедлива если в качестве источника опорного напряжения используется источник с напряжением 4.096 вольта и если напряжение с датчика делится на 2 перед поступлением на вход АЦП. Соответственно ADC - показания АЦП.
Соответственно полная формула будет P(кПа)=(ADC/N)-1,
где P - давление в килопаскалях,
ADC - показания АЦП, соответствующие давлению P (соответственно для десятиразрядного АЦП может принимать значения от 0 до 1023),
N - количество единиц АЦП на 1 вольт, N=1024вольт/опорное напряжение, для 5 вольт N=204.8, ну можно округлить до 205, для 2.56 вольт - 400 единиц, для 4.096 вольт - 250 единиц.
При этом напряжение с датчика подается без деления напрямую на АЦП.
Вы если я правильно понял используете опорное напряжение 5 вольт - это 205 единиц на вольт, значит ваше показание 240 единиц равно 1.17 вольт при 0 килопаскалей (как я понял это нормальное состояние).
Спасибо за подробное объяснение.
Датчик подцеплен на ардуино по средствам 3pin это питание 5v земля и вывод на A0. Датчик работает как есть из коробки. На А0 поступает 240 ед. и соотвестственно при работе это значение меняется. 1.17 вы получили как 240*5/1024или как 240/204.8 то мы получили вольты. Соответственно показания с A0(ацп) я подставляю в вашу формулу как ADC и делю на количество единиц на опорное напряжение. Если на вход мне приходит скажем 356 то это будет (356/204.8)-1=0,73828125 кПа ?
Сам датчик используется в паре с медицинским датчиком потока. Т.е. на вдохе скажем мы получаем одно на выдохе другое значение. Перевод в скорость осуществляется исходя из закона Бернулли. sqrt(2deltaP/Ро(d2^4/d1^4 - 1))
deltaP это полученное значение в паскалях, а именно это является разностью давлений. d1 и d2 диаметры до и после сужения. Ро это плотность воздуха. Трубка расположенна горизонтально поэтому ускорение свободного падения можно пренебречь
Спасибо за подробное объяснение.
Датчик подцеплен на ардуино по средствам 3pin это питание 5v земля и вывод на A0. Датчик работает как есть из коробки. На А0 поступает 240 ед. и соотвестственно при работе это значение меняется. 1.17 вы получили как 240*5/1024или как 240/204.8 то мы получили вольты. Соответственно показания с A0(ацп) я подставляю в вашу формулу как ADC и делю на количество единиц на опорное напряжение. Если на вход мне приходит скажем 356 то это будет (356/204.8)-1=0,73828125 кПа ?
Сам датчик используется в паре с медицинским датчиком потока. Т.е. на вдохе скажем мы получаем одно на выдохе другое значение. Перевод в скорость осуществляется исходя из закона Бернулли. sqrt(2deltaP/Ро(d2^4/d1^4 - 1))
deltaP это полученное значение в паскалях, а именно это является разностью давлений. d1 и d2 диаметры до и после сужения. Ро это плотность воздуха. Трубка расположенна горизонтально поэтому ускорение свободного падения можно пренебречь
Как это пренебречь? Если этот множитель в формуле стоит. Еденица что ли? И если повернуть вертикально, что изменится?
Спасибо за подробное объяснение.
Датчик подцеплен на ардуино по средствам 3pin это питание 5v земля и вывод на A0. Датчик работает как есть из коробки. На А0 поступает 240 ед. и соотвестственно при работе это значение меняется. 1.17 вы получили как 240*5/1024или как 240/204.8 то мы получили вольты. Соответственно показания с A0(ацп) я подставляю в вашу формулу как ADC и делю на количество единиц на опорное напряжение. Если на вход мне приходит скажем 356 то это будет (356/204.8)-1=0,73828125 кПа ?
Сам датчик используется в паре с медицинским датчиком потока. Т.е. на вдохе скажем мы получаем одно на выдохе другое значение. Перевод в скорость осуществляется исходя из закона Бернулли. sqrt(2deltaP/Ро(d2^4/d1^4 - 1))
deltaP это полученное значение в паскалях, а именно это является разностью давлений. d1 и d2 диаметры до и после сужения. Ро это плотность воздуха. Трубка расположенна горизонтально поэтому ускорение свободного падения можно пренебречь
Как это пренебречь? Если этот множитель в формуле стоит. Еденица что ли? И если повернуть вертикально, что изменится?
там разность высот в скобках 0 получается. так что и в итоге 0
Вот целиком формула SQRT( 2*deltaP - 2 Po*g*(z1-z2)/ Ро*(d2^4/d1^4 - 1) )