Датчик давления

artclonic
Offline
Зарегистрирован: 13.01.2015

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

Гриша
Offline
Зарегистрирован: 27.04.2014

artclonic пишет:

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

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

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

MPX4250 dp, например.У него выход до 5ти вольт.Подключается легко. Или какой нить другой из этой серии - все дело в ваших запросах и ваших возможностях.

Гриша
Offline
Зарегистрирован: 27.04.2014

Штирлиц пишет:

MPX4250 dp, например.У него выход до 5ти вольт.Подключается легко. Или какой нить другой из этой серии - все дело в ваших запросах и ваших возможностях.

да и 4-20 мА на 240 Ом садится проще некуда... :)))))))))))))

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

Гриша пишет:

да и 4-20 мА на 240 Ом садится проще некуда... :)))))))))))))

В принципе -да. Но цены - на порядок выше.

artclonic
Offline
Зарегистрирован: 13.01.2015

Заказал вот такои -MPXV7002GC6U попрет? Я его планирую прям в поток воткнуть. Вопрос - сильное ли у него собственное пневматическое сопротивление...

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

artclonic пишет:

Заказал вот такои -MPXV7002GC6U попрет? Я его планирую прям в поток воткнуть. Вопрос - сильное ли у него собственное пневматическое сопротивление...

У этого датчика очень маленький диапазон измерения .На вашем месте я бы брал датчик с большим диапазоном измерения давления. В присоске нужно создать как можно более глубокий вакуум (зависит от вашей вакуумной помпы). А за поток вы не писали ничего.

artclonic
Offline
Зарегистрирован: 13.01.2015

Налью воды в трубку, засосу - замерю вакуум (в мм вод. столба)

artclonic
Offline
Зарегистрирован: 13.01.2015

Сделал немного по другому

Определение силы вакуума.

Взял медицинский шприц, к штоку повесил бутылочку с водой (вода для того что бы изменять вес бутылки). Определил следующие параметры.

  1. Шток начинает смещаться при весе груза 98 грамм (это свободное перемещение – определение силы трения между поршнем и стенкой цилиндра шприца)
  2. При подключении вакуумной трубки к шприцу, вес до которого поршень продолжает движение вверх – 230 грамм.

И того мой вакуум поднимает 230 грамм груза и преодолевает силу трения в 98 грамм. Всего вакуум получается поднимает 328 грамм (если откинуть силу трения между поршнем и стенкой).

Диаметр поршня 19 мм. Соответственно его площадь 283.5 мм2.

Правильно расчитал давление?

Давление  8218.25 Па

Теперь вопрос правильно я подобрал датчик?, если мнев принципе не надо измерять давление вакуума, а надо определяеть его наличие....

 

artclonic
Offline
Зарегистрирован: 13.01.2015

Вот кусочек моего кода, в котором в зависимости от значений на sd карте, выполняется определенный блок команд (ниже к примеру приведена «реакция» на «1»). Хочу добавить контроль наличия вакуума (соответсвенно присосалась ли к пневмопинцету деталька или нет). Я так предполагаю, что надо будет ввести некую переменную, значение которой будет определять по датчику есть ли вакуум или нет…  Допустим есть вакуум, она равна «1», если нет равна «0».

Перед выполнением III блока команд, нужно проверить «есть ли вакуум или нет» (значение переменной – «1» или «0», если есть «1», то выполняется код далее, если нет «0», тогда повторяется блок предыдущий команд II).

Соответственно сделать аналогичную проверку перед выполнением  блока IV, но в обратном алгоритме, если есть «1», - то повторяем предыдущий, если нет «0» - идем дальше…

case 1: // блок команд на чтение значения «1»

    {

digitalWrite(ob11, HIGH);  //Включение элемента №1  (Блок I)

digitalWrite(ob11,LOW);    //Выключение элемента №1 (Блок I)

digitalWrite(ob12, HIGH); //Включение элемента №2 (Блок II)

digitalWrite(ob12,LOW); //Выключение элемента №2 (Блок II)

digitalWrite(ob13, HIGH);  //Включение элемента №3 (Блок III)

digitalWrite(ob13,LOW); //Выключение элемента №3 (Блок III)

digitalWrite(ob14, HIGH);  //Включение элемента №4 (Блок IV)

digitalWrite(ob14,LOW);  //Выключение элемента №4 (Блок IV)       

    }

    break;

 

Тут возникает вопрос как подцепить датчик, как его показания разбить на «есть» и «нет» вакуума, как придать это значение переменной…

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

artclonic, я думаю, прежде, чем ставить вопрос о наличии или отсутствии вакуума, чледует определить, что Вы подразумеваете под этим термином (в частности, совпадает ли Ваше определение с общепринятым).

artclonic
Offline
Зарегистрирован: 13.01.2015

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

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

Я подробно описал определение "Вакуума" в моем случае? (помоему подробнее некуда...)

НАЛИЧИЕ ВАКУУМА ЭТО  - НАЛИЧИЕ/ОТСУТСТВИЕ ПРИСОСАННОГО ПРЕДМЕТА.

Только вот ни ктоне отозвался по поводу значения вакуума котороый я измерил...

Вот схема подключения

  

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

artclonic пишет:

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

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

Я подробно описал определение "Вакуума" в моем случае? (помоему подробнее некуда...)

Совершенно не описали.

Физический термин не может описываться с использованием терминов "датчик" или "сопло".

Цитата:

НАЛИЧИЕ ВАКУУМА ЭТО  - НАЛИЧИЕ/ОТСУТСТВИЕ ПРИСОСАННОГО ПРЕДМЕТА.

Это - другое дело.

Из этого определения следует, что детектировать нужно не "вакуум", а наличие или отсутствие предмета. И из его наличия либо отсутствия уже делать вывод, есть вакуум или нет (если требуется именно это).

artclonic
Offline
Зарегистрирован: 13.01.2015

Вот своял код - Но не знаю как циклы воткнуть.. Потому как если вакуум есть/нет, то если нет то он должен повторить предыдущую команду... А как это сделать?

int z = analogRead(32);// пин датчика аналогового
const int ob11=48; // ШД №1
const int ob12=34; // ШД №1
const int ob13=36; // ШД №1
const int ob14=38; // ШД №1

void setup()
{
pinMode(ob11, OUTPUT);
pinMode(ob12, OUTPUT);
pinMode(ob13, OUTPUT);
pinMode(ob14, OUTPUT);
pinMode(z, INPUT);
  }

void loop(){

// case 1: // блок команд на чтение значения «1»
   

digitalWrite(ob11, HIGH);  //Включение элемента №1  (Блок I)
digitalWrite(ob11,LOW);    //Выключение элемента №1 (Блок I)


digitalWrite(ob12, HIGH); //Включение элемента №2 (Блок II)
digitalWrite(ob12,LOW);   //Выключение элемента №2 (Блок II)

if(500 < z ) // есть вакуум
{ 
digitalWrite(ob13, HIGH);  //Включение элемента №3 (Блок III)
digitalWrite(ob13,LOW);    //Выключение элемента №3 (Блок III)

if(500 > z ) // есть вакуум
{
digitalWrite(ob14, HIGH);  //Включение элемента №4 (Блок IV)
digitalWrite(ob14,LOW);    //Выключение элемента №4 (Блок IV)
}
else // нет вакуум
{
digitalWrite(ob13, HIGH);  //Включение элемента №3 (Блок III)
digitalWrite(ob13,LOW);    //Выключение элемента №3 (Блок III)
}
}
else // нет вакуум
{
digitalWrite(ob12, HIGH);  //Включение элемента №2 (Блок II)
digitalWrite(ob12,LOW);    //Выключение элемента №2 (Блок II)
} 
   
    }

    // break;

 

SLKH
Offline
Зарегистрирован: 17.08.2015

А мне нравится.

И "источник вакуума", и "сила вакуума". Одно другого краше.

И "вакуумный генератор".

artclonic
Offline
Зарегистрирован: 13.01.2015

Я рад, что Вас затронули данные изические термины с литературным уклоном...

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

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

 

artclonic
Offline
Зарегистрирован: 13.01.2015

Штирлиц пишет:

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

 

Я измерил в граммах на единицу площади

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

artclonic пишет:

Я измерил в граммах на единицу площади

Да хоть в попугаях. Это не важно. Я вам на другое указывал - диапазон измерения датчика.Смысл покупать не дешевый датчик с неподходящими характеристиками .Лучше возмите со стиралки механический пресостат  и попробуйте перерегулировать его для "определения вакуума". Некоторые имеют такую возможность.Выйдет дешевле.

artclonic
Offline
Зарегистрирован: 13.01.2015

где такои взять? Пресостат...

А датчик я уже заказал неделю назад..

artclonic
Offline
Зарегистрирован: 13.01.2015

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

Цилиндр, на него тонкая резина (мембрана) на резине магнитик приклеить сверху геркон. Вакуум - магнитик отходит - геркон разомкнулся, или заместо геркона, дачик холла...

Вопрос - скорости срабатывания...

artclonic
Offline
Зарегистрирован: 13.01.2015

Своял код, под вакуумное реле

const int ob11=48; // контакт №1
const int ob12=34; // контакт №1
const int ob13=36; // контакт №1
const int ob14=38; // контакт №1
const int ob21=40; // контакт №1
int vakuum;
int z;

void setup()
{
pinMode(ob11, OUTPUT);
pinMode(ob12, OUTPUT);
pinMode(ob13, OUTPUT);
pinMode(ob14, OUTPUT);
pinMode(vakuum, INTPUT);
  }

// case 1: // блок команд на чтение значения «1»
// (digitalWrite(vakuum, LOW)) при этом z = 499 нет вакуума
// (digitalWrite(vakuum,HIGH)) при этом z = 1000 есть вакуум

    {

digitalWrite(ob11, HIGH);  //Включение элемента №1  (Блок I)
digitalWrite(ob11,LOW);    //Выключение элемента №1 (Блок I)

digitalWrite(ob12, HIGH); //Включение элемента №2 (Блок II)
digitalWrite(ob12,LOW);   //Выключение элемента №2 (Блок II)
Serial.println("ZASOS");

z=499 //нет вакуума

for (; z>500;) {
digitalWrite(ob12, HIGH); //Включение элемента №2 (Блок II)
digitalWrite(ob12,LOW);   //Выключение элемента №2 (Блок II)
Serial.println("POVTORZASOSA");
if(digitalRead(vakuum, LOW)) //проверка значения Z
{z=499} //нет вакуума
else
{z=1000}//есть вакуум
z=1000 //принудительно назначим пока без контроллера, для проверки
}

digitalWrite(ob13, HIGH);  //Включение элемента №3 (Блок III)
digitalWrite(ob13,LOW);    //Выключение элемента №3 (Блок III)
Serial.println("USTANOVKA");

z=1000 //есть вакуум

for (; z<500 ; ) {
digitalWrite(ob13, HIGH);  //Включение элемента №3 (Блок III)
digitalWrite(ob13,LOW);    //Выключение элемента №3 (Блок III)
Serial.println("POVTORUSTANOVKI");
if(digitalRead(vakuum,HIGH)) //проверка значения Z, если Z будет менее 500, то будет проигрываться цикл
{z=1000} //есть вакуум
else
{z=499} //нет вакуума
z=499 //принудительно назначим пока без контроллера, для проверки
}

digitalWrite(ob14, HIGH);  //Включение элемента №4 (Блок IV)
digitalWrite(ob14,LOW);    //Выключение элемента №4 (Блок IV)
    }

    // break;

 

Гриша
Offline
Зарегистрирован: 27.04.2014

ОФФТОП... но по теме  :)

SLKH пишет:

А мне нравится.

И "источник вакуума", и "сила вакуума". Одно другого краше.

И "вакуумный генератор".

прочитал и вспомнил старую байку, там вся статья терпимо написана...  :)))))))))))))))) (ссылка в коде, всего не стал тащить.... там много)

КУСОЧЕК!!!!   https://mifromru.livejournal.com/29204.html
Однажды профессор одного известного университета задал своим студентам вопрос: 

- Является ли Бог создателем всего сущего? 

Один из студентов храбро ответил: 

- Да, является! 

- То есть, вы считаете, что Бог создал все? - спросил профессор. 

- Да, - повторил студент. 

- Если Бог создал все, тогда Он создал и зло. А в соответствии с общеизвестным 
принципом, утверждающим, что по нашему поведению и нашим делам можно судить,
 кто мы такие, мы должны сделать вывод, что Бог есть зло, - сказал на это профессор. 

 

artclonic
Offline
Зарегистрирован: 13.01.2015

С самодельным датчиком - не вариант.... Буду ждать заказанные....