D18B20, Arduino, MODBUS, Master SCADA

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

    Написал статью по созданию измерителя температуры в четырёх точках с помощью датчиков DS18B20, подключенных к Arduino Nano, передаче данных на компьютер по протоколу MODBUS и отображению графиков изменения температур на тренде Master SCADA. Все материалы в архиве.

    Вложения:
    Вы должны войти для просмотра вложений.
    #15520
    Счастливчик
    Хранитель
    • Ответов: 2655
    @wpadm

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

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

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

    Не заморачиваться можно будет только в том случае, если датчики будут подключаться через подписанные разъёмы. Но тогда прощай миниатюрность. Можно через клеммник. Но тогда вдобавок будет неудобно распознавать датчики. То есть, маркировать их нужно будет всё равно. На мой вкус, лучше побольше повозиться с программами, а поменьше с паяльником.

    PS На самом деле, я довольно скептически отношусь к тому, что эта система заинтересует много народа.

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

    Для себя – да, особенно если борьба за пины идет. Для массового использования все как раз наоборот – простота вхождения и легкость обслеживания.

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

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

    Пробовал я датчики D18B20 на разные пины цеплять, сейчас сделал на одну шину, была борьба за пины, но все ровно три датчика показывают с ценой деления 0,5 градуса, а один, все таки с ценой деления 0,01 градуса. Почему так?

     

    JUST DO IT !!!!!

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

    Разрешение датчика устанавливается программно. Говорят, что новые DS18B20 запрограммированы на максимальное разрешение (12 бит). Это соответствует 1/16, или 0,0625 градуса. Если микросхемы кто-то уже программировал, могли выставить и меньшее разрешение. По-хорошему программа должна в setup’е устанавливать нужное разрешение. В примерах библиотеки DallasTemperature есть всё.

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

    Для себя – да, особенно если борьба за пины идет. Для массового использования все как раз наоборот – простота вхождения и легкость обслеживания.

    Не скрою, борьба за пины у меня была, но не для Arduino, а для ESP8266. Там и так пинов немного, а ещё был дисплей, датчик атмосферного давления… Сделал я ту штуку, поигрался, не понравилось. Знаний не хватает, чтобы подключиться к Master SCADA через WiFi. А без графиков реального времени совсем не то. Перешёл на Arduino. А подключение датчиков так и оставил. Не вижу я тут проблем со сложностью вхождения. Всё подробно описано, даже не нужно обращаться к истокам. Один раз снял ID’ы, и всё.

    Впрочем, ведь никто не может никому запретить сделать и по-другому, так что вперёд. У меня конструкция уже готовая, разбирать не буду 🙂 А решения с подключением DS18B20 к разным пинам Arduino в сети есть.

    PS Всё забываю написать, что ссылка на Форум на стартовой странице не работает.

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

    Один раз снял ID’ы, и всё.

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

    #15562
    Артём
    Участник
    • Ответов: 130
    @customcat

    Один раз снял ID’ы, и всё.

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

    Чтоб было так как вы хотите, ПЗУ должно быть не у ардуинки, а у датчика где он должен говорить ардуинке “я есть тот, что стоит вверху колонны” ))) гораздо проще пронумеровать штекеры.

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

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

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

    Не в первый раз убеждаясь на практике в том, что, чем сложнее система, тем у неё выше вероятность отказов, я решил максимально упростить как схемотехнику, так и программу. Оставил только те части “твёрдого” и “мягкого”, которые реально необходимы для работы. Есть и ещё одно обстоятельство. Отладка интерфейсов ввода-вывода отнимает очень много времени. Программы для всяких дисплеев, клавиатур и т. п. обычно получаются и объёмнее, и просто сложнее, чем программа, ради которой всё и затевается.  Если можно обойтись без них, надо так и сделать.

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

    Как раз на ESP8266 сейчас пытаюсь что-то путное сделать под ардуино. Хочу все на web-server’e поднять, чтобы совсем от экранчика уйти. На есп-шке десяток пинов, их хватит на 4 датчика температуры, пару релешек, пищалку и на серву, а то и на две. Должно хватить для всего.  Или менять через штекеры устройства и прошивку тоже перезаливать.

    Хочу платформу сваять, чтобы можно было через web и прошивки обновлять и вообще все делать не сложнее загрузки фоток на форум. Т.е. если человек совсем не умеет паять, программировать, то может попросить кого-то собрать ему начальную конфигурацию, или купить ее у умельца. А затем просто брать те прошивки, что энтузиасты будут делать и выкладывать на форуме, и заливать через браузер. Хочет пиво варить – пожалуйста, дистилляты делать – пожалуйста, ректификацию – пожалуйста.

    Штекеры переткнул, прошивку перезалил и вперед.

    Тогда вещь массовая получится и с низким порогом вхождения для новичков.

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

    #15575
    Nick
    Участник
    • Ответов: 25
    @nmakarov

    Как раз на ESP8266 сейчас пытаюсь что-то путное сделать под ардуино

     

    Вот ведь, а? Я тоже этой штукой занимаюсь сейчас (ну, последние месяц-полтора, времени совершенно нет). Расположение модулей – на картинке (примерно так оно будет размещено в коробке). Восьми кнопок, думаю, должно хватить на всякие функции. Ну и 4-х строчный LCD и два 4-символьных индикатора. В картинку не вошли четыре твердотельных реле с радиаторами и, соответственно, четыре розетки. Три – для каждого из трех тэнов. Четвертая – для насоса, чтоб гонять затор, когда варишь солод или пиво. Распаял колодку под десяток DS18B20, на вырост (ну там выше/ниже узла отбора, вход/выход воды в обоих холодильниках и прочая роскошь). Барометр там тоже есть, чтоб поправку температуры кипения учитывать. У меня еще была надежда прикрутить аналоговый термометр (у меня есть очень удобный, вкручивающийся куб и с отстегивающимся проводом), но чего-то не вышло с подключением – на Адафруте заказал thermocouple amplifier, но он не завелся…

    И чего-то мне кажется, что заливка прошивок через веб – слишком сложно, не? Вот конфиги грузить – это да (типа расписания температурных стопов при варке пива). Ну и графики строить и публиковать по желанию.

    Вложения:
    Вы должны войти для просмотра вложений.
    #15580
    Роман
    Участник
    • Ответов: 291
    @papazol

    Просто для справки. Делал систему управления колонной на ESP8266 год назад. Но там применялся клапан отбора. Видео: https://www.youtube.com/watch?v=RzWf7jPYmzQ

    Эта система мне не нравится из-за невозможности рисовать графики реального времени. И, поскольку клапан отбора – вещь отжившая, всё, что остаётся в системе без клапана, особой ценности не представляет. Вот если бы можно было передавать данные о температурах по WiFi на удалённый (в другое помещение) компьютер, а на нём бы работала Master SCADA…

    Если кого-то заинтересует, могу выложить скетч и всё остальное. Может, удастся доработать до нужного результата.

    #15581
    Дмитрий
    Участник
    • Ответов: 103
    @sda-6868

    Могу предложить передавать значения датчиков по вай фай или блютух на планшет или смартфон. Рисует графики, сохраняет в формате exel.

    Программа “Virtuino” с маркета.

    Испытывал – отлично работает.

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