Помогите пожалуйста разобраться с датчиком давления
- Войдите на сайт для отправки комментариев
Пнд, 16/04/2018 - 20:18
Подскажите пожалуйста, как подружить вот такой датчик давления (JUMO MIDAS S05) с arduino.
Если можно, то было бы не плохо увидеть схему подключения к Mega 2560 и простенький скетч для примера.
Спасибо!
Схема у Вас есть на фото (трехпроводная). Выход через делитель подключаете на аналоговый вход ардуины. Ну а скетч любой для вольтметра. Останется привести в соответствие показания вашего датчика и образцового манометра.
Помогите пожалуйста.
Я правильно схему подключения понимаю? https://1drv.ms/f/s!Ai-6GhJNEDRohz60NqHVnTIa98I4
И вот такой скетч пойдет?
В принципе схема рабочая, но резистор в цепи "земли" лучше не ставить. Лучше если корпус датчика и земля ардуино будут жеско связаны. Если напряжение на выходе датчика во всем диапазоне измерения давления (измерить тестером без ардуины) не превышает напряжение питания ардуино, то и R1 не нужен, если превышает придется ставить делитель напряжения - еще один резистор со входа ардуино на землю.
Насчет скетча - почитайте как правильно его вставлять. Тогда его легче анализировать.
В принципе никакого криминала в скетче не видно. Кроме того, что в строке 11 Вы читаете из не задекларированного пина. Я заменил на А0.
Функция map() оперирует целыми числами.
Как это связывается с float outputValue ?
А чем ее заменить можно?
Лучше float на int заменить.
Лучше float на int заменить.
Тогда давление будет от 0 до 20-ти
outputValue = map(sensorValue, 0, 1023, 0, 20);
В принципе схема рабочая, но резистор в цепи "земли" лучше не ставить. Лучше если корпус датчика и земля ардуино будут жеско связаны. Если напряжение на выходе датчика во всем диапазоне измерения давления (измерить тестером без ардуины) не превышает напряжение питания ардуино, то и R1 не нужен, если превышает придется ставить делитель напряжения - еще один резистор со входа ардуино на землю.
Насчет скетча - почитайте как правильно его вставлять. Тогда его легче анализировать.
В принципе никакого криминала в скетче не видно. Кроме того, что в строке 11 Вы читаете из не задекларированного пина. Я заменил на А0.
Замеряю мультиметром по той схеме что скидывал, от 9 В кроны, при атмосферном давлении получаю те же 9 В. Тоесть при 0 бар получаю входное напряжение? Все верно?
Замеряю мультиметром по той схеме что скидывал, от 9 В кроны, при атмосферном давлении получаю те же 9 В. Тоесть при 0 бар получаю входное напряжение? Все верно?
Сомнительно. Лучше поищите информацию по вашему датчику, и разберитесь как он должен работать.
Сомнительно. Лучше поищите информацию по вашему датчику, и разберитесь как он должен работать.
Разобрался со схемой подключения датчика. Датчик на выходе выдает значение в мА, как положено при 0 бар – 4 мА, реагирует на изменение давления. Перевожу мультиметр на напряжение, показывает напряжение источника питания.
Подскажите пожалуйста как мне его правильно к ардуине подцепить и что дальше, во что эти 4 мА превратятся?
В режиме иэмерения напряжения у мультиметра высокое входное сопротивление, поэтому измерить показания токового датчика не удастся.
Поставьте резистор 1 ком с выхода датчика на "землю". Тогда пдение напряжения на нем согласно закона Ома будет 1 В на 1 Ма. Если не устраивает, то ставим 100 Ом - тогда 1 В на 10 мА и т..д. Все зависит от того , что вы хотите. Вот с этого резистора и подавайте на аналоговый вход.
В режиме иэмерения напряжения у мультиметра высокое входное сопротивление, поэтому измерить показания токового датчика не удастся.
Поставьте резистор 1 ком с выхода датчика на "землю". Тогда пдение напряжения на нем согласно закона Ома будет 1 В на 1 Ма. Если не устраивает, то ставим 100 Ом - тогда 1 В на 10 мА и т..д. Все зависит от того , что вы хотите. Вот с этого резистора и подавайте на аналоговый вход.
А если подключиться к ардуино через датчик тока? Возможно добиться точных показаний?
В данном случае особого смысла нет. Датчик в диапазоне измерения выдает от 4 до 20 мА. Если взять токоизмерительный резистор 250 Ом, то напржение на нем будет изменяться от 1 до 5 В. При разрешении АЦП ардуино около 5 мВ - это 800 значений, вполне достаточная точность.
В режиме иэмерения напряжения у мультиметра высокое входное сопротивление, поэтому измерить показания токового датчика не удастся.
Поставьте резистор 1 ком с выхода датчика на "землю". Тогда пдение напряжения на нем согласно закона Ома будет 1 В на 1 Ма. Если не устраивает, то ставим 100 Ом - тогда 1 В на 10 мА и т..д. Все зависит от того , что вы хотите. Вот с этого резистора и подавайте на аналоговый вход.
А если подключиться к ардуино через датчик тока? Возможно добиться точных показаний?
То есть резистор для вас уже не датчик тока?
Я думаю ТС под датчиком тока подразумевал что-то типа INA226
Подскажите пожалуйста, как мне скетч изменить, что бы на выходе получились значения с сотыми?
Ну как же так-то? Ведь даже не "гуглить", а просто соседнюю страничку на этом же сайте открыть нужно!
Читайте: Serial.print()
Я в общем со всем разобрался. Спасибо всем!) Ток один вопрос остался. У меня получившееся значение туда сюда прыгает на +- 3% от замеренного мультиметром. Это зависит от точности делителя?
У меня получившееся значение туда сюда прыгает на +- 3% от замеренного мультиметром. Это зависит от точности делителя?
Нет, от точности делителя прыгать не может. Врать может, но это можно подкорректировать подобрав коэффииент деления в программе. Коэффициент деления, лучше использовать минимальный, а лучше вообще отказаться от делителя, подобрав значение токоизмерительног резистора. И плюс применить оверсемплинг, на форуме достаточно материала на эту тему. Как пример можно посмотреть http://arduino.ru/forum/proekty/universalnyi-arduino-probnik?page=2#comment-352905 строки 75-82. За счет оверсемплинга разрядность АЦП повышается с10 до 14 бит. И более стабильные показания.
За счет оверсемплинга разрядность АЦП повышается с10 до 14 бит.
Вы это всерьез?
Вы это всерьез?
Есть такая религия. Результат какой-никакой даёт, но и мусорные младшие биты плодит, причём не особо предсказуемо, т.к. распределение случайной величины толком неизвестно. Все начинают со слов: "допустим, нормальное" :)))
Микрочип разродилась даже аппнотом на эту тему.
За счет оверсемплинга разрядность АЦП повышается с10 до 14 бит.
Вы это всерьез?
Вы это всерьез?
Есть такая религия. Результат какой-никакой даёт, но и мусорные младшие биты плодит, причём не особо предсказуемо, т.к. распределение случайной величины толком неизвестно. Все начинают со слов: "допустим, нормальное" :)))
Микрочип разродилась даже аппнотом на эту тему.
Ну допустим, не совсем всерьез в буквальном понимании этого слова. Но те не менее стабильность показателей за счет усреднения значительно возрастает. А мусорные последние биты что при 10 битном так и псевдо 14 при хорошем питании и стабильном измеряемом сигнале скачут примерно одинаково +-1 в младшем разряде. Только в первом случае 10 разряд, во втором 14. Так что здесь вопрос веры. И если время измерения не критично, то метод себя вполне оправдывает.
Есть такая религия. Результат какой-никакой даёт, но и мусорные младшие биты плодит, причём не особо предсказуемо, т.к. распределение случайной величины толком неизвестно. Все начинают со слов: "допустим, нормальное" :)))
Евгений, и Вы туде же!
Кроме случайной погрешности там есть еще систематическая, которая вообще никак от оверсэмплинга не зависит. И это уже не результат веры, а объективный факт.
То, что при "тупом" повторении измерений результат вряд ли можно считать прогнозируемым, - тоже факт.
И то, что какую-то пользу от оверсэмплинга можно получить только при достаточно сложной методике измерения - с добавлением шумового сигнала в измерительную цепь - тоже факт.
Так что, боюсь, данный случай является подтверждением того, что вера возникает там, где недостает знания.
Ну допустим, не совсем всерьез в буквальном понимании этого слова. Но те не менее стабильность показателей за счет усреднения значительно возрастает. А мусорные последние биты что при 10 битном так и псевдо 14 при хорошем питании и стабильном измеряемом сигнале скачут примерно одинаково +-1 в младшем разряде. Только в первом случае 10 разряд, во втором 14. Так что здесь вопрос веры. И если время измерения не критично, то метод себя вполне оправдывает.
1. Ни разу не сомневаюсь в том, что усреднение во многих случаях может оказаться полезным, но при чем здесь оверсэмплинг?
2. Скачет разряд (в Вашей терминологии - бит) или нет - никак не влияет на то, достоверен он или нет. Разряд может быть стабильно недостоверным. И в случае оверсэмплинга все дополнительные "нескачущие" разряды именно такими и являются. Т.е. при оверсэмплинге просто возрастает количество мусорных битов (как справедливо заметил Евгений), хотя они и перестают скакать.
А вывод простой: усреднению - да, оверсэмплингу - нет.
А для того, чтобы избавиться от "дрожания" последних разрядов, существуют совершенно другие, я бы сказал - специализированные - методы (которые, кстати, не исключают и оверсэмплинга в качестве своей составляющей). Они неоднократно публиковались на этом форуме, в том числе и мной. Ищите, да обрящете.
То, что при "тупом" повторении измерений результат вряд ли можно считать прогнозируемым, - тоже факт.
А как-же народная мудрость "семь раз отмерь-один отрежь"?
С систематической погрешностью, согласен, но за счет усреднения 255 измерений, случайные выбросы будут сведены к минимуму.
Так что, боюсь, данный случай является подтверждением того, что вера возникает там, где недостает знания.
Не будьте таким серьёзным. Я написал тоже самое, что и Вы двумя полуфразами "есть такая религия" и "распределение неизвестно". Что ещё нужно говорить? :)))))))))
... за счет усреднения 255 измерений, случайные выбросы будут сведены к минимуму.
Раз пошла такая пьянка, я бы предпочел усреднение по 256 измерениям.