приветствую вас форумчане + датчик давления

darkjorik
Offline
Зарегистрирован: 08.11.2014

Я тут платку прикупил + всяких датчиков.

Так что в вашем полку прибыло.

Теперь вопрос. Может есть хоть FAQ какой по подключению датчиков.

Я тут пол часа гуглил пока мне не дошло что VCC это +5V на плате.

Вот такая беда MPX5700AP , по докам

pin 1: v-out

2:ground

3:vcc

4:v1

5:v2

6:v ex

что куда тыкать понятно только по ground и VCC

остальное я в замешательстве

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Pin1 на вход АЦП и AnalogRead его

darkjorik
Offline
Зарегистрирован: 08.11.2014

АЦП и AnalogRead что это за волшебные буковки ? какой мне штекер на плате искать ?

darkjorik
Offline
Зарегистрирован: 08.11.2014

нарыл на ebay у какого то продавца что можно подключать по первым 3м штекерам, остальные не нужны.

А для чего же они тогда ?

из буржуйского кода доперло что АЦП это A0

кто знает почему буржуины вот так вот объявляют, откуда читать, циферкой ?

int mapsen = 1; // Set MAP sensor input on Analog port 0

потом читают в лупе

int raw = analogRead(mapsen);

http://forum.arduino.cc/index.php?topic=191981.0

пробовал на UNO, так не пашет

заработало когда объявил int mapsen = A0; так реально понятней , но опять таки почему v-out это A0 ?

 

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

Kpa 133 , PSI 19

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int mapsen = A0; // Set MAP sensor input on Analog port 0
int mapval;

void setup(){
 

  lcd.init();  
lcd.backlight();

  lcd.setCursor(0,0);
  lcd.print("Air Suspension");
  lcd.setCursor(0,1);
  lcd.print("Gauge");
  delay(1000);
  lcd.clear();
}

void loop()
{
  // MEASUREMENT
  int raw = analogRead(mapsen); //Reads the MAP sensor raw value on analog port 0

  float voltage = raw * 0.004887586;  // let the compiler determine how many digits it can handle
  float pressure = 0.0;
 
  // MATH
  if (voltage < 4.6)
  {
    pressure = voltage * 700.0/4.6;   // it raises 700KPA over 4.6 volt      faster =>   pressure =  voltage * 152.173913;
  }
  else
  {
    pressure = 700 + (voltage-4.6) * 100 / 0.3;   //   last piece raises  100KPa over 0.3 Volt.   // can be optimized to   p = c1 + v * c2
  }

  // DISPLAY
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("KPa:");
  lcd.print(pressure,  3 );
  lcd.setCursor(0, 1);
  lcd.print("PSI:");
  lcd.print(pressure*0.145037738,  3 );   // convert to PSI
  delay(100);
}

darkjorik
Offline
Зарегистрирован: 08.11.2014

понял почему A0, можно и на другие А1..А5 вешать,

А analog in это всегда v-out ? Их же там всего 6 от A0 до A5. Маловато. А если больше датчиков нужно повесить, что делать ?

inspiritus
Offline
Зарегистрирован: 17.12.2012

А если не дуть а ..... Хм тянуть?

faraddin
Offline
Зарегистрирован: 11.08.2013

darkjorik пишет:

 А если больше датчиков нужно повесить, что делать ?

Вам 6 мало?  На некоторых МК даже памяти нет, несколько регистров и крутись как хочешь. Есть Мега, там аналоговых входов 16.

vov4ik
Offline
Зарегистрирован: 10.09.2013

Разберм всё по порядку если вы правильно прочитали на датчике MPX5700AP, то раз берм абревеатуру по порядку:

MPX – датчики давления

5 – с темп. компенсацией, калибровкой, со встр. схемой нормализации сигнала 

700 – максимальное давление в кПа (7,138 кг/см^2 или 7 бар)

A – тип измеряемого давления абсолютное ( величина измеренная относительно давления равного абсолютному нулю. Другими словами давление относительно абсолютного вакуума) размах измерения -100 - 600 кПа

P - один порт

По подключению : 1 - V OUT означает вольты, выход ; 2 GROUND  общий (это не земля как многие думают); 3 VCC питание 5 вольт;

далее мои предположения (гугол молчит как партизан), вот вы сделали/сбрали приборчик вдруг вместо сухово воздуха попала кислата или дуванули гидроударом, все хана датчику, вставили дугой и показания стали другими, учитовая погрешность данного дачика, допускается погрешность в 1.5% от мах итого получим дрейф в +/- 5.25 кПа, для этого предусмативается подстройка (на что указывает 5 в абревеатуре датчика) 4 - v1, 5 -v2, нужно пробывать создать два резистивных делителя с диапазоном в 0.1В, 6 - V EX сдесь тоже могу ошибатся, это скорей всего отключение датчика, просто обрывать для отключения не желательно поскольку после включения придется ждать когда пройдет возбуждение, а так подал высокий уровень и идет экономия энергии, на тот случай если у вас прибор на батарейках и одного измерения в 1-10 сек хватит за глаза, включили - измерили - отключили.

Измерение датчик с абсолютным давлением значит может мерить как давление так и разрежение, с учетом что мерется воздух измерение в диапазоне -100 - +600 кПа или -1 - +6 бар, с подключением и возможной настройкой разобрались, теперь что будет в ардуино, представим полный идеал и используя по графику в приведенном вами мануале (стр.4 Typical), обратимся к таблице (стр.2),  температура +25 гр., vss- 5в, v max out- 4.5В, v min out- 0.2В, 10bit- 1024, проведем лийнеризацию получим множитель 204,8 со смещением -7,10543E-15 (10bit = v out * множитель + смещение), расчет при атмосферном давлении, поскольку датчик буржуйский и привязывается к международному стандарту IUPAC это 100 кПа, при лийнеризации получается множитель 0,00614286 со смещением 0,2 расчитав получается на выходе датчика 0,814286 В, в свою очередь ардуино 166 +/- 1. Если вам нужна общий олгаритм  вставте в ячейку экселя    =ОКРУГЛТ((A1*0,00614286+0,2)*204,8-7,10543E-15;1)  конверция кПа в значения ардуино.

 

Увеличиваем количество аналоговых входов у ардуины

www.youtube.com/watch?v=KWVMGU7kryM&index=4&list=PLkW_wFQyyaEp3lAcNDZsYU0XRJEnzFOcj

darkjorik
Offline
Зарегистрирован: 08.11.2014

inspiritus пишет:

А если не дуть а ..... Хм тянуть?

в этом датчике можно и тянуть. Реагирует. Давление уменьшается и показатели соответственно тоже.

Тут возникла проблемка технического характера. Стандартный велосипедный шланг пропускает воздух в месте соединения с камерой, довольно быстро :(

На комрессоре шланг и соединение хорошее. Но мне нужен только шланг, не резать же компрессор. Может кто подскажет решение ?