-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Затем же, зачем исключать одну библиотеку и пользоваться другой. Типа, так правильней и круче.
Шутка. На самом деле это не обязательно. Как и вообще устанавливать разрешение в прикладной программе. Как и проверять его и выводить в UART. Как и обнаруживать датчики и узнавать их номера. За счёт удаления “лишнего” кода можно сократить прогр…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Есть проблема с созданием пользовательских функций. Никак не пойму, как передавать в функцию параметры, чтобы можно было этими параметрами заменять части текста внутри функции. Например, нужна функция, которая бы делала одно и то же, но над разными объектами. И это не просто числа, а части названий объектов.
Это очень тупо объяснять, привед…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Ну вот, всё доделал.
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Это работает. Но есть
дветри вещи, которые надо ещё сделать.1. Перед записью разрешения в scratchpad сначала проверить, какое значение там уже записано. И, если установлено разрешение, отличное от 12 бит, тогда записать новое значение.
2. После записи нового значения разрешения в scratchpad нужно перенести его в EEPROM.
3. Нужно вывести т…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Написал же, что библиотека DallasTemperature работает только в части setup(), потом она ни разу не используется. Если бы не нужно было устанавливать разрешение для датчиков (а если они “нулёвые”, то так и есть), эта часть программы была бы вовсе не нужна. Теоретически можно сделать спецпрограмму для установки разрешения, прогнать через неё все…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Тема слегка заглохла. В общем, устанавливать разрешения датчиков необходимо, как это делать с помощью одной только библиотеки OneWire, я не нашёл. Да и есть ли особый смысл долбиться в стену, когда в двух шагах открытая дверь? Я использую библиотеку DallasTemperature для поиска датчиков, определения их адресов и установки нужного разрешен…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Посмотреть бы текст.
Так делается при любом установленном разрешении. Но не зря же в далласовской библиотеке есть специальная функция установки разрешения. Она записывает в 4-й байт scratchpad’а код, соответствующий устанавливаемому разрешению.
Это означает, что без инверсии компилятор выдаст ошибку или функция не будет работать? По сути, гд…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Что-то у меня не получилось средствами библиотеки OneWire установить нужное разрешение датчиков. А это, как показывает практика, необходимо делать.
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Вероятно, для чего-то нужно инвертировать результат операции? Но, если он в виде true/false нам не нужен, можно было и оставить как есть? Или это такая программистская уловка?
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Можно вообще обойтись без далласовской библиотеки, адреса-то особо не нужны. Но тогда система получается “слепой”, она ничего не сообщает о том, подключены ли датчики, сколько их. Если быть уверенным в том, что все датчики подключены и исправны, можно ничего в порт не выводить, тогда программа упрощается, и библиотека не нужна.
Мне понрави…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
У вас есть конкретные технические решения в свете данного совета? Хотелось бы ознакомиться.
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Сделал так, как хотел Счастливчик. Датчики подключаются к отдельным пинам, для сетапа пришлось-таки подключить библиотеку DallasTemperature. В цикле работает только библиотека OneWire. Общение с датчиками идёт в прерываниях. Проверил работу только с одним подключенным датчиком, перетыкал его по очереди ко всем четырём входам. Работае…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
У них процесс конвертации температуры в число занимает 750 мс. От этого никуда не уйти. Эдуард Калинин делал программу, где операции с датчиком (правда, одним) совершались в прерываниях. Причём в каждом прерывании обрабатывался (посылался или считывался) только один байт. Может, в эту сторону покопать?
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Просто для справки. Делал систему управления колонной на ESP8266 год назад. Но там применялся клапан отбора. Видео: https://www.youtube.com/watch?v=RzWf7jPYmzQ
Эта система мне не нравится из-за невозможности рисовать графики реального времени. И, поскольку клапан отбора – вещь отжившая, всё, что остаётся в системе без клапана, особой…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Не в первый раз убеждаясь на практике в том, что, чем сложнее система, тем у неё выше вероятность отказов, я решил максимально упростить как схемотехнику, так и программу. Оставил только те части “твёрдого” и “мягкого”, которые реально необходимы для работы. Есть и ещё одно обстоятельство. Отладка интерфейсов ввода-вывода отнимает очень мно…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Не скрою, борьба за пины у меня была, но не для Arduino, а для ESP8266. Там и так пинов немного, а ещё был дисплей, датчик атмосферного давления… Сделал я ту штуку, поигрался, не понравилось. Знаний не хватает, чтобы подключиться к Master SCADA через WiFi. А без графиков реального времени совсем не то. Перешёл на Arduino. А подключение датчи…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Разрешение датчика устанавливается программно. Говорят, что новые DS18B20 запрограммированы на максимальное разрешение (12 бит). Это соответствует 1/16, или 0,0625 градуса. Если микросхемы кто-то уже программировал, могли выставить и меньшее разрешение. По-хорошему программа должна в setup’е устанавливать нужное разрешение. В примерах библиотеки…[Читать далее]
-
Роман ответил(а) на тему D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Не заморачиваться можно будет только в том случае, если датчики будут подключаться через подписанные разъёмы. Но тогда прощай миниатюрность. Можно через клеммник. Но тогда вдобавок будет неудобно распознавать датчики. То есть, маркировать их нужно будет всё равно. На мой вкус, лучше побольше повозиться с программами, а поменьше с паяльником.…[Читать далее]
-
Роман создана тема D18B20, Arduino, MODBUS, Master SCADA в форуме Автоматизация 7 лет
Написал статью по созданию измерителя температуры в четырёх точках с помощью датчиков DS18B20, подключенных к Arduino Nano, передаче данных на компьютер по протоколу MODBUS и отображению графиков изменения температур на тренде Master SCADA. Все материалы в архиве.
-
Роман создана тема Регулятор мощности на микроконтроллере AT89C51AC2 в форуме Автоматизация 7 лет
Написал вот статью по САБЖу. Не знаю, насколько это актуально, интересно и т. д. Но пусть будет.
- Загрузить еще