Как подключить датчик давление???

ramon_sobaka
Offline
Зарегистрирован: 24.10.2012

Как подключить датчик давление к Ардуино. Датчик http://msk.pulscen.ru/products/pf2058_kombinirovanny_datchik_5744853  на Аналоговый выход датчика     4...20 mA / 0...10 V 

 

maksim
Offline
Зарегистрирован: 12.02.2012

Через делитель.

ramon_sobaka
Offline
Зарегистрирован: 24.10.2012

 На аналоговый выход через делитель???? А нету ссылочки на схему делителя? Спасибо!

maksim
Offline
Зарегистрирован: 12.02.2012

 Два резистора номналом от 5 до 50 кОм, подклучаете так: GND->резистор->вход дуины->резистор->выход датчика и соедените землю (GND) дуины с землей (-) датчика.

ramon_sobaka
Offline
Зарегистрирован: 24.10.2012

 Но рабочее напряжение датчика [V] 20...30 DC. А на аналоговом выходе датчика от 4 до 20 мА смотря какое давление будет! Выход дуины не спалю???

maksim
Offline
Зарегистрирован: 12.02.2012

На выходе датчика 0 - 10 вольт, причем тут 4 - 20 мА?

maksim
Offline
Зарегистрирован: 12.02.2012

Примерно так

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Можно вход думны зашунтировать 250 Ом и подвть 20 мА - как раз выйдет 5 вольт при 20 мА

rembo
Offline
Зарегистрирован: 14.11.2012

а надо ли при такой схеме подключения выставлять AREF в external и подключать к нему внешнее напряжение?

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

rembo пишет:

а надо ли при такой схеме подключения выставлять AREF в external и подключать к нему внешнее напряжение?

Смотря что Вы планируете при этом получить.

Внешнее напряжение на AREF все равно больше 5 вольт не подать, а стабилизировать - лучше питание контроллера целиком, тем более, что там не такая уж большая нагрузка.

Faster
Offline
Зарегистрирован: 14.01.2013

И так начнем с того что я программист, и у меня нормально работает только ЦИФРА, как доходит дело до аналогов я вынужден побираться, искать чужой опыт и прочее ...

Задача ... делается приспособление, которое будет работать на меге и отчитываться по MODBUS, при его разработке возникла жудкая проблема . я не как не могу прикрутить датчики к ATMEGA'e ... причем датчики разношерстные:
один датчик (температура) это тип Pt1000 с ним всё понятно это термо резистор, если получить его сопротивление с перещётом проблем не будет
второй (давление) выдаёт сигнал 4-20 ма ...
Прочитал тонну но видимо мне совсем не везёт, даже мысли в proteus выложил всё равно не прёт с измерениями ...
был бы оченеь при очень благодарен если бы кто то подсказал обвязку ног атмеги , с условием что питание всех датчиков идёт от 24 вольт, а атмега питается от них же но через 7805 стабилизатор ... особое качество не требуется , но хотя бы чтобы начать ...

За рание спасибо

p.s. Читал про делители токовые петли ... ну не моё это программер я ... и по цифре ...
 

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Faster пишет:

один датчик (температура) это тип Pt1000 с ним всё понятно это термо резистор, если получить его сопротивление с перещётом проблем не будет
второй (давление) выдаёт сигнал 4-20 ма ...

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

Faster
Offline
Зарегистрирован: 14.01.2013

Для меня аналоговые расчеты просто жесть 3 дня мараю об это руки , а MODBUS протокол реализовал за 2 часа ... 

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

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

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

Faster
Offline
Зарегистрирован: 14.01.2013

Ссылку бы ?

 

Но задачи то две сначалао укатать до 0-5в а потом уже ток мерять 

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Faster пишет:

Ссылку бы ? Но задачи то две сначалао укатать до 0-5в а потом уже ток мерять 

 

http://www.google.ru/search?&q=%D1%80%D0%B0%D1%81%D1%87%D0%B5%D1%82+%D0%...

Faster
Offline
Зарегистрирован: 14.01.2013

Обидно видить серчь гугла ..но спасибо калькулятор нашёл уже раньше тем же методом ... я думал может есть удобный софт или ещё что ...

Счас решаю ... задачи по силекции между двумя типами датчиков на одной ножке ...

 
Vitaly
Offline
Зарегистрирован: 12.09.2011

Faster, свяжитесь со мной по почте homeawas@mail.ru , решим вашу проблему. Или ответьте здесь. 

Oleg_I
Offline
Зарегистрирован: 04.04.2016

Доброго времени суток, коллеги 

Прошу подсказать как подключить к ардуине датчик давления http://www.ebay.com/itm/0-40KPa-Digital-Barometric-Pressure-Sensor-Module-Liquid-Water-Level-Controller/263110336441?_trkparms=aid%3D111001%26algo%3DREC.SEED%26ao%3D1%26asc%3D20160727114228%26meid%3Dbe63c54879bb427b98285fe70c4f702d%26pid%3D100290%26rk%3D1%26rkt%3D4%26mehot%3Dlo%26sd%3D263110336441&_trksid=p2060778.c100290.m3507

Я так понимаю тоже через делитель ? 

Цель сделать управляемое реле на насосе 

когда давление достигло определенной отметки чтоб реле разомкнулось 

В интернете  не нашел достточно информации 

Как правильно вычислять давление на нем ? 

Всем спасибо  за уделенное время  

 

Oleg_I
Offline
Зарегистрирован: 04.04.2016
Использую вот такой код для измерений, скопировал на  одном из сайтов, но пока не понимаю почему порт выводит не свзанные показания 


/*
Pressure Sensor test Code
 */

const int analogInPin = A0;  // Sensor connected to A0

int sensorValue = 0;        // value read from the pressure sensor via the amplifier stage
float outputValue = 0;      // value output to the Serial port

void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600); 
}

void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin);            
  
  // print the results to the serial monitor:
  Serial.print("sensor = " );                       
  Serial.print(sensorValue); 
  
  outputValue = map(sensorValue, 60, 1006, 0, 32);  // convert the raw bit value 

  Serial.print("sensor = " );                       
  Serial.print(outputValue); 
  
  Serial.println();
       
  delay(1000);                     
}
b707
Offline
Зарегистрирован: 26.05.2017

Oleg_I. ссылка на датчик "битая". поэтому сложно понять, о чем вы спрашиваете

Oleg_I
Offline
Зарегистрирован: 04.04.2016

Digital Barometric Pressure Sensor Module Liquid Water Level Controller 0-40KPa

http://www.ebay.com/itm/0-40KPa-Digital-Barometric-Pressure-Sensor-Modul...

Oleg_I
Offline
Зарегистрирован: 04.04.2016

вот такой, ссылка уже должна работать
спасибо

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

А как ево в воду пхать?

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

Насоветуете тут.....
Это чтобы у человеку трубочку сорвало и ему  потоп устроить?

DetSimen пишет:

А как ево в воду пхать?

Ловите "кошерный" датчик для такого случая:

www.ebay.com/itm/G1-4-inch-5V-0-1-2-MPa-Pressure-Transducer-Sensor-Oil-F...

Oleg_I
Offline
Зарегистрирован: 04.04.2016

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

b707
Offline
Зарегистрирован: 26.05.2017

Oleg_I пишет:
коллеги, спасибо. Но у меня не такое большое давление будет, поэтому датчик мне другой не нужен я не знаю как текущий задействовать Буду признателен за помощь

Олег, вы с датчиком не ошиблись? это датчик всего до 40 КПА - примерно 0.4 ати. Что за насос такой на 40 кПа? Аквариуменый компрессор?

b707
Offline
Зарегистрирован: 26.05.2017

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

Oleg_I
Offline
Зарегистрирован: 04.04.2016

типа того , на 12 вольт

Oleg_I
Offline
Зарегистрирован: 04.04.2016

да, это тензодатчик но когда я его подключал, в  мониторе порта показания не меняются,

не могу понять может не правильно сделал

out на ногу А0,

 

sck датчика куда правильно цеплять?

Oleg_I
Offline
Зарегистрирован: 04.04.2016

что ни кого нет сооббражений на этот счет?  как правильно его подключать ? 

Sr.FatCat
Offline
Зарегистрирован: 19.02.2016

Oleg_I, вас pin SCK на модуле не насторожил? А в заголовке слово Digital?
Это модуль - цифровой. Выход сразу в цифре: там стоит АЦП HX710b
Пример работы с ним "навскидку" вот:
 

#include "Arduino.h"
#define DOUT 2
#define PD_SCK 3
#define factor 0.00959 //40Kg china

unsigned long value;
long weight;
  
long get_weight()
{
   digitalWrite(PD_SCK, LOW);
   delayMicroseconds(1);
   // wait for the chip to become ready:
   while (digitalRead(DOUT) == HIGH);
   value = 0;
  for (int i = 23; i > -1; i--){ //bitWrite23 =bit24 
   digitalWrite(PD_SCK, HIGH);
   delayMicroseconds(1);
   digitalWrite(PD_SCK, LOW);
   if (digitalRead(DOUT) == HIGH){bitSet(value, i);}
   }  
    // para que siga leyendo muestras a 10Hz: 
    digitalWrite(PD_SCK, HIGH);
    delayMicroseconds(1);
    digitalWrite(PD_SCK, LOW);
    delayMicroseconds(1);
 
 return value; // todos 1 = 1677215
}

void setup() {
   Serial.begin(9600);
   pinMode(DOUT, INPUT);
   pinMode(PD_SCK, OUTPUT);
}

void loop() {
  weight = get_weight();
  float redondeado;
  redondeado = round(weight*factor);
  Serial.println(redondeado,0);
  
}

Все элементарно. Не разберетесь - пишите в личку: попробую помочь

Oleg_I
Offline
Зарегистрирован: 04.04.2016

Sr.FatCat,
спасибо , попробую, просто с ардуино кроме повторения готовых устройств ничего не собирал, пробую разобраться , если что напишу , еще раз спасибо.

Oleg_I
Offline
Зарегистрирован: 04.04.2016
В спокойном состоянии  в порт выводит 
10300
10301
10301
 
 при подаче давления : 
 
46213
50511
50063
Т.е. работает  спасибо большое 
Теперь буду думать как мне подвязать сюда реле чтоб при достижении например  значения в 50 000 оно выключалось, а при падении снова включалось , т.е. по принципу гидрофора
Sr.FatCat, спасибо 
 
 
Oleg_I
Offline
Зарегистрирован: 04.04.2016

кстати это он значение в чем выводит  ? паскали? 

Oleg_I
Offline
Зарегистрирован: 04.04.2016

Дописал пару строчек кода, теперь щелкает релюшкой как и нужно было но есть один нюанс  

Питание релейного модуля и двигателя осуществляется от блока питания ATX, но его почему то выбивает иногда при частом срабатывании реле и двигателя, я так понимаю это связано с тем что у двигателя щетки могут искрить в момент старта 

И почему то монитор порта подвисает после длительных щелканий релюшки и срабатывания двигателя 

Пилотировал это все на Arduino Mega 2560

Закажу  мини и поставлю на постоянной основе 

Всем спасибо !

Sr.FatCat, очень сильно помог с кодом выше, за что отдельная благодарность !

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

лучше деньгами.

Buldakov
Offline
Зарегистрирован: 17.01.2016

Я посмотрел схему из поста 6. И либо я тупой либо одно из двух. Глупый вопрос не правда ли?  Если я подключу датчик из поста 1 по данной схеме откуда датчик возмет питание и подаст его на контроллер.

Обычно датчики давления подключают по следующей схеме:

Плюс источника питания (обычно 24в с функцией ограничения тока на уровне около 30 ма) подают на плюсовой вывод датчика. Минусовой вывод датчика подают на аналоговый вход контроллера. Аналоговый вход контроллера соединяют с землей через резистор в несколько десятков или сотен ом. Теперь посчитаем номинал резистора. Допустим Uref=5вольт. Максимальный ток который дает датчик давления при максимальном давлении = 20 ма. Тогда значение сопротивления должно быть 250 ом. И желательно с точностью лучше чем 0.2 процента и хотябы 1вт мощности. Да и если в блоке питания не будет ограничения тока то при случайном коротком замыкании датчика вы спалите контроллер. Так как +24в у вас напрямую пойдет на аналоговый вход контроллера.

Что мы получим в итоге в качестве математики:

1024 отсчета - это максимальное давление.

205 отсчета - это минимальное давление датчика.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Обычно, если даччик питаеца напряжением больше чем логика (3.3 или 5 В неважно), добрые люди используют оптрон для развязки. Чтоб ничего не сгорело из-за неправильных расчетов. 

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

ПРи увеличении количества деталей в схеме (например, добавляется оптрон с обвязкой) возрастает также и вероятность неправильного расчета.

Но в принципе - да. Только не из-за неправильных расчетов, а из-за непредвиденных обстоятельств.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

andriano пишет:

ПРи увеличении количества деталей в схеме (например, добавляется оптрон с обвязкой) возрастает также и вероятность неправильного расчета.

Осспадя, да какая там обвязка-то, два резистора?  Я когда делал датчик сигаретного дыма в сортир, разочаровавшись в MQ-2 и MQ-135, купил китаецкий датчик (тогда за 175р с доставкой)

https://ru.aliexpress.com/item/Hight-Quality-Home-Security-Fire-Sensor-Alarm-White-Photoelectric-Cordless-Smoke-Detector-FC/32586857271.html

с девятивольтовым питанием. От 5 Вольт, скатина, работать не захотел, пришлось БП брать на 9 для всей схемы. При задымлении в линию он выдает примерно 7.5 Вольт, тоже напрямую к Дуне не подключишь, тоже думал 2 дня, как его подключить.  Потом, када за оптроны вспомнил, так сразу и подключил, 817-ый и 2 резистора и сё, горя не знаю. 

А MQ-2 и MQ-135, сцуки, прекрасно реагируя на газ из зажигалки (скачок больше 600 АЦПэшных попугаев) на сигаретный дым реагируют как-то нехотя, и то, если прям в них с силой дуть.  Значения с MQ-2 меняются на меньше 50 попугаев, MQ-135 на меньше 100. 

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

DetSimen пишет:

Осспадя, да какая там обвязка-то, два резистора?

Резистор - очень коварный элемент:

Считая от 0.1 Ом до 10 МОм - 193 номинала. Это для одного, а если пара резисторов, то число возможных комбинаций сразу возрастает до 37249. Вероятность угадать правильно с первого раза 0,0027%.

 

PS. По хорошему - кроме пары резисторов еще бы диод.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Зато, если что-то сгорело с одной стороны опрона, то то, что с другой стороны - выживет.  Ну, если не от молнии сгорело, канеш.

Oleg_I
Offline
Зарегистрирован: 04.04.2016

Коллеги может подскажите как можно гальванически развязать датчик о котом я выше писал  ?

http://www.ebay.com/itm/0-40KPa-Digital-Barometric-Pressure-Sensor-Modul...

Спасибо 

farkhat
Offline
Зарегистрирован: 13.09.2016

Привет. А не можете помочь, как его можно использовать в качестве манометра на вывод дипслея Nokia5110 arduino в мм.рт.ст.

dbormand
Offline
Зарегистрирован: 20.11.2018

[quote=Sr.FatCat]

Oleg_I, вас pin SCK на модуле не насторожил? А в заголовке слово Digital?
Это модуль - цифровой. Выход сразу в цифре: там стоит АЦП HX710b
Пример работы с ним "навскидку" вот:

 

О-о-о как долго я это искал. Спасибо!!!