D18B20, Arduino, MODBUS, Master SCADA

  • В этой теме 259 ответов, 23 участника, последнее обновление 5 лет сделано Роман.
Просмотр 15 сообщений - с 76 по 90 (из 260 всего)
  • Автор
    Сообщения
  • #15847
    Степан
    Участник
    • Ответов: 51
    @sten58

    Если бы у ардуины не хватало

    Лучшее – враг хорошего (уже боюсь смайлы ставить – в экран не влазят). Если раз прошить и уже не менять – то да, ардуины достаточно. Но ведь начинаешь с 2-3 датчиков температуры, потом хочется диммер на ТЭНы, потом… и пошло-поехало!

    #15848
    Степан
    Участник
    • Ответов: 51
    @sten58

    Ссылка почему-то не работает.

    Точка в конце мешает, убери в адресной строке.

    #15852
    Юрий
    Участник
    • Ответов: 26
    @hleva

    Идея с весами мне не нравится. Велика погрешность, да и не надежная, наверное…. Я вот думаю может применить что-то вроде а-ля концевой выключатель типа https://arduino-ua.com/prod2083-datchik-skorosti-s-cifrovim-i-analogovim-vihodami ну к примеру и сделать счетчик капель. Но вот только как он будет реагировать на капли? Или же сделать что то вроде вертушки, которая будет вращаться под массой капли, а датчик будет реагировать на вертушку, ну как-то так. Понимаю что конструктивно сложно… но сделать можно. Датчик не дорогой, уже заказал… попробую. Если получится выложу фото.

    JUST DO IT !!!!!

    #15853
    Юрий
    Участник
    • Ответов: 26
    @hleva

     

    А я вот думаю как бы мне сделать систему сигнализации на захлеб колонны…

    Нужно знать предзахлебную мощность и поддерживать мощность на 5…10% меньше, для этого нужно контролировать и регулировать потребляемую мощность нагревателя. Для измерения мощности можно использовать PZEM-004T и передавать измерения в ардуино.

    Мощность ТЭНов у меня регулируется через РМ-2, вручную. Бывает при скачках атмосферного давления происходит захлеб колонны. И вот хотелось бы немножечко себя подстраховать. Читал вариант с датчиком который реагирует на воду. Но как он будет реагировать на спирт и не окислятся ли контакты? Идея мне не нравится. Я думаю за вариант с поплавком, плюс то же самый старый, добрый оптический датчик препятствия.

    JUST DO IT !!!!!

    #15855
    skalinas
    Участник
    • Ответов: 441
    @skalinas

    Велика погрешность, да и не надежная, наверное….

    Погрешность, уход +-10 грамм на 20 кг. Ломатся в принципе не чему. Если ардуино поймет, при открытом кране по пару за минуту нет прироста продукта по весу, подаст звуковой сигнал и потом вовсе отключит процесс. Так же можно по весу определять скорость отбора и регулировать углом открытия крана нужную скорость.

    Но ведь начинаешь с 2-3 датчиков температуры, потом хочется диммер на ТЭНы, потом… и пошло-поехало!

    С этим нужно и определится с самого начала. Если Скаду использовать как смотрелку параметров, это одно, а если делать полноценную автоматику процесса, то это совсем другая история.

    К примеру, у себя, что бы запустить полную автоматику, мне нужно порядка 50 параметров сохранить в память контроллера (для гибкой настройки системы). Для этого нужно создать порядка 20 экранов на дисплее (размер экрана 240х400), на болшем мониторе 3…5 экрана.

    #15888
    SanyaNapalm
    Участник
    • Ответов: 276
    @balsan

    Типа один в снег, второй под мышку третий в кипяток… или все в кипяток по очереди.

    ну можно пальчиком трогать 🙂

    Видел на homedistiller.ru решение с дифманометром, но дорогой же, зараза!

    не обязательно дифманометр, можно разницу температур отслеживать. Вернее скорость изменения этой самой разницы температур.

    #15889
    Роман
    Участник
    • Ответов: 291
    @papazol

    Ну, зачем?

    Если речь вести о чисто дискретных устройствах, например, клапанах, то, конечно, никаrой MODBUS не нужен. Реле на выход ардуины и вперёд.

    Но возьмём к примеру регулятор мощности, он используется в 100% случаев. Как им управлять удалённо? Приделать реверсивный двигатель к ручке потенциометра? Это же нонсенс. Значит, должно быть электронное управление, в каком виде – вопрос вкусовщины. Есть ряд решений, давно используемых в промышленных приборах. Например, если сделать два входа: “убавить” и “прибавить”, то можно с ардуины брать импульсы управления, как для МЭО. Либо задавать мощность входным напряжением и формировать это напряжение на ардуине. Сюда же относятся приборы, обладающие встроенным MODBUS’ом (или другим протоколом обмена). Чем хорошо такое решение? Тем, что, кроме проводов, никакие дополнительные устройства не нужны. Всё на уровне программ.  Но широкому кругу пользователей такие приборы недоступны из-за высокой цены. Значит, появляется задача создать регулятор мощности, управляемый электронно, на доступной элементной базе. Или найти готовый.

    #15891
    Роман
    Участник
    • Ответов: 291
    @papazol

    учинить управление колонной по MODBUS

    Надо покурить доки по MODBUS и по Master SCADA, что они еще могут. Так, на перспективу.

    MODBUS как таковой может только вести обмен данными между устройствами. Это протокол такой. Он не самый продвинутый, зато очень стандартный, очень многие промышленные устройства оснащаются им, чтобы их можно было подключать к системам управления без всяких проблем. Поэтому разработчики Master SCADA сразу же написали свой OPC сервер именно для MODBUS.

    А вот сама Master SCADA – интересный продукт, возможности очень большие, кроме, разве что, графического редактора, в котором рисуют мнемосхемы. Но это не главное, особенно в нашем деле, нам лучше бы ехать, а не шашечки. Смотрите видосы, которые наснимали разрабы, там многое показано.

    #15902
    Роман
    Участник
    • Ответов: 291
    @papazol

    Нашёл интересную статью http://www.instructables.com/id/Serial-Port-Over-WiFi/

    Прошил ESP8266 (NodeMCU) этой программой, вроде работает. Правда, пришлось вставить в код пару строк, чтобы узнавать IP адрес устройства после подключения к роутеру.

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

    #15993
    Роман
    Участник
    • Ответов: 291
    @papazol

    Немного промежуточных итогов.

    1. Сам ESP8266 с прошитой программой работает, есть web сервер с настройками, к роутеру подключается, программа утройство тоже видит.

    2. Некоторые странности происходили со сбросом пароля WiFi. Автор там пишет, что надо нажать кнопку на 2 секунды. В первый раз у меня получилось сбросить пароль. А вот во второй, сколько бы я не нажимал эту кнопку, устройство всё время подключалось к моей WiFi сети вместо того, чтобы сделаться точкой доступа. Может, контакт был плохой (я использовал пинцет :).

    3. Очень хотелось подключить ко входу ESP8266 Arduino с датчиками DS18B20 и передать данные на компьютер по WiFi. Поскольку Arduino общается с компьютером посредством своего UART, а ESP8266 по задумке должно тоже общаться с внешним устройством через UART, то, соединив эти два UART’а, можно было бы достичь цели. Однако… Немного погуглив, я нашёл два принципиально различных способа подключить UART Arduino к UART’у ESP8266. Первый способ – для рисковых людей, то есть напрямую. Поскольку напряжение питания у Arduino 5 В, а у ESP8266 – 3,3 В, то неизвестно, как поведёт себя вход микропроцессора с низким напряжением питания, если на него подать почти вдвое бОльшее напряжение. По второму способу ставится резистивный делитель, но только в цепи “выход передатчика Arduino – вход приёмника ESP8266”. Второй провод подключается напрямую. Что-то подсказывает мне, что это не совсем правильно. Но у ребят-то заработало… Собрал такую схему, включил. Не работает. Опуская подробности состава всей системы, скажу, что запросы от OPC-сервера на ESP8266 поступают, она передаёт их на Arduino, но, похоже, Arduino их не видит.

    4. Решил проверить, как будет работать Arduino, если к ногам TX и RX подключить внешний преобразователь интерфейса USB to UART. Подключил, а оно ни фига не работает! То есть, при старте Arduino выдаёт на порт свои сообщения, как и раньше. А вот принять входящие посылки не может. Сейчас предстоит выяснить, почему.

    #15998
    ers
    Участник
    • Ответов: 30
    @ersivv

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

    Прерывания в esp совместно с wifi лучше не использовать, да и нет в них необходимости, все и так быстро крутится.

    #15999
    Роман
    Участник
    • Ответов: 291
    @papazol

    Честно говоря, я и сам не знаю, зачем. Спросите у Счастливчика. Я был доволен тем, о чём написал в самом начале, оно работает. Может, и это когда-нибудь пригодится.

     

    #16004
    Счастливчик
    Хранитель
    • Ответов: 2655
    @wpadm

    так и есть асинхронный способ измерения температуры, без остановки основного цикла программы (пример WaitForConversion).

    Про это я не знал. Основная задача была именно не тормозить весь цикл на 750 мс. В общем, и писать-то особо не пришлось, все придумано за нас.

    Если Вы хорошо разбираетесь в программировании, то есть вопрос – javascript и прочие web инструменты находятся в сфере Вашей компетенции? Никак не могу постоянный обновляемый вывод температуры на страничке веб-морды esp8266 сделать. Обновлять всю страницу постоянно или фрейм как-то неизящно. А вот, чтобы страничка стояла, а показания менялись – почти неделю голову ломаю… Был бы признателен за помощь

    Хорошо живет на свете Винни-Пух...

    #16011
    Роман
    Участник
    • Ответов: 291
    @papazol

    А вот, чтобы страничка стояла, а показания менялись

    Я это уже делал, можете посмотреть всё, что есть https://drive.google.com/open?id=0B-FxHV7ZI_hmNDRVVkpNblgzR28

    Там файлы web сервера загружаются в файловую систему ESP8266. Нужен плагин для Arduino IDE.

    Во, нашёл. https://github.com/esp8266/arduino-esp8266fs-plugin

    На этой странице надо нажать “Clone or download”, потом “Download ZIP”. Как пользоваться, там тоже есть.

    #16013
    Счастливчик
    Хранитель
    • Ответов: 2655
    @wpadm

    Роман спасибо, обязательно посмотрю. Я умею пользоваться FS, JSON и т.д. У меня по запросу каждую секунду запрашивается и парсится json с температурами. Я никак не могу понять как эти данные выводить на страницу без ее постоянной перезагрузки. Просто релоадом  получается ужасно неприятно, раз в секунду все перерисовывается.

    Если у Вас это реализовано, то это просто здорово!!!

    Хорошо живет на свете Винни-Пух...

Просмотр 15 сообщений - с 76 по 90 (из 260 всего)
  • Для ответа в этой теме необходимо авторизоваться.