endim 0 8 января, 2013 Опубликовано 8 января, 2013 · Жалоба Добый день. имеется следующая задача: необходимо снимать показания температуры с нескольних десятков датчиков DS1820 (~ 30 шт.), подключенных к одной шине 1-wire (гирлянда из датчиков).Интервал снятия показаний 5 мин. Далее, необходимо передать эти показания по протоколу Modbus / rs485 на ПК оператора. Схема следующая: ds1820_1..... ds1820_30 (1-wire) => локальный контроллер => rs485/ModBus => преобразователь интерфейсов => ПК Оператора. Система должна быть масштабируемой, т.е. необходимо предусмотреть возможность подключения нескольких "гирлянд". Принцип действия очень схож с системами термометрии элеваторов (термоподвески), только вместо блоков сбора данных, нужно использовать локальный контроллер на каждую "гирлянду" датчиков. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
polyname 0 8 января, 2013 Опубликовано 8 января, 2013 · Жалоба > Выбор локального контроллера для многоточечной термометриисудя по описанию подойдет любой контроллер с аппаратным портом UART и объемом Flash >2K. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
endim 0 8 января, 2013 Опубликовано 8 января, 2013 · Жалоба судя по описанию подойдет любой контроллер с аппаратным портом UART и объемом Flash >2K. Спасибо за ответ. Если можно, приведите пример: Модель, производитель. Желательно, что бы он бвл компактен, надежен и не дорог. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
polyname 0 8 января, 2013 Опубликовано 8 января, 2013 · Жалоба например Attiny2313, Attiny45 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 8 января, 2013 Опубликовано 8 января, 2013 · Жалоба ... необходимо снимать показания температуры с нескольних десятков датчиков DS1820 (~ 30 шт.) А длина соединительной линии между этими датчиками и принимающим(и) от них данные МК какая планируется ? Это далеко не праздный вопрос ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ASZ 0 8 января, 2013 Опубликовано 8 января, 2013 · Жалоба например Attiny2313, Attiny45 Буквально перед новым годом реализовал подобное на ATmega16 :) Но для "нескольких десятков" + Modbus ATtiny2313 ИМХО, будет маловато. Разве что с ассемблером поизгиляться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
polyname 0 8 января, 2013 Опубликовано 8 января, 2013 · Жалоба Разве что с ассемблером поизгиляться.а смысл ? Мега8/48 стоит почти так же Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 9 января, 2013 Опубликовано 9 января, 2013 · Жалоба Парни, позвольте внести мои 5 копеек. 1) Зачем беспокоиться о стоимости микроконтроллера, если стоимость 30 датчиков температуры на порядок выше? Программа чтения температуры из датчика DS18B20 занимает порядка 200 байт хоть на си хоть на ассме. Ставьте любой МК, который вам проще программировать. 2) Зачем в системе сбора температуры применять модбас? Собрать с 30 датчиков измеренную температуру, сформировать пакет с контрольной суммой и передать по линии в концентратор или ПК можно и без модбаса. Это будет и дешевле, и проще, и быстрее в реализации. 3) Вообще, на мой взгляд, подобные системы сбора телеметрии должны работать безо всяких запросов, просто непрерывно гнать данные, а МК должен выбирать их с линии по мере необходимости. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mempfis_ 0 9 января, 2013 Опубликовано 9 января, 2013 · Жалоба Добый день. имеется следующая задача: необходимо снимать показания температуры с нескольних десятков датчиков DS1820 (~ 30 шт.), подключенных к одной шине 1-wire (гирлянда из датчиков).Интервал снятия показаний 5 мин. Далее, необходимо передать эти показания по протоколу Modbus / rs485 на ПК оператора. Система должна быть масштабируемой, т.е. необходимо предусмотреть возможность подключения нескольких "гирлянд". Для подобной задачи должно хватить ATMega48. В крайнем случае 88. Учитывая кол-во датчиков необходимо будет выполнять алгоритм поиска (an187.pdf от maxim) серийных номеров на шине (если Вам не принципиально расположение датчиков в пространстве) или самостоятельно считывать с каждого датчика серийный номер, вносить его в память процессора и опрашивать по известным серийникам. В любом случае вероятно понадобится eeprom и достаточное кол-во оперативки. Я бы ориентировался на ATMega48/88. Преимуществом данных процессоров является возможность точно отсчитывать задержки при запрешённых прерываниях что очень важно при работе с шиной 1-wire. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ASZ 0 9 января, 2013 Опубликовано 9 января, 2013 · Жалоба Парни, позвольте внести мои 5 копеек. 1) Зачем беспокоиться о стоимости микроконтроллера, если стоимость 30 датчиков температуры на порядок выше? Программа чтения температуры из датчика DS18B20 занимает порядка 200 байт хоть на си хоть на ассме. Ставьте любой МК, который вам проще программировать. 2) Зачем в системе сбора температуры применять модбас? Собрать с 30 датчиков измеренную температуру, сформировать пакет с контрольной суммой и передать по линии в концентратор или ПК можно и без модбаса. Это будет и дешевле, и проще, и быстрее в реализации. 3) Вообще, на мой взгляд, подобные системы сбора телеметрии должны работать безо всяких запросов, просто непрерывно гнать данные, а МК должен выбирать их с линии по мере необходимости. Иногда приходится добавлять к существующей SCADA-системе сбор дополнительных параметров. И тут уже хочешь-нехочешь приходится приспосабливаться к существующему протоколу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 9 января, 2013 Опубликовано 9 января, 2013 · Жалоба Если вы толкуете про модбас, то можно сделать систему без модбаса, собрать всю телеметрию в "концентраторе", а из него уже передавать по модбасу. Преимущество в том, что программа микроконтроллеров "гирлянд" будут существенно проще, хоть на восьминожке attiny10 можно собрать со своим протоколом, отсюда меньше габариты, потребление и т.д. и т.п. Что по другим пунктам? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 9 января, 2013 Опубликовано 9 января, 2013 · Жалоба Иногда приходится добавлять к существующей SCADA-системе сбор дополнительных параметров. И тут уже хочешь-нехочешь приходится приспосабливаться к существующему протоколу. Если смотреть конкретно, параметры: 1.Интервал времени чтения температуры. 2.Физ. номер датчика 3. Лог номер (позиционный) -- Это всё можно внутри термочиталки сделать и так. В концентраторе такая система команд отображается на множество регистров. И всё. =GM= прав Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
polyname 0 9 января, 2013 Опубликовано 9 января, 2013 · Жалоба Собрать с 30 датчиков измеренную температуру, сформировать пакет с контрольной суммой и передать по линии в концентратор или ПК можно и без модбасатогда уж можно и без контроллера - датчики повесить прямо на RS232 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 9 января, 2013 Опубликовано 9 января, 2013 · Жалоба Датчики вроде по протоколу 1-wire работают, или я что-то пропустил? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
polyname 0 9 января, 2013 Опубликовано 9 января, 2013 (изменено) · Жалоба Именно так, все прекрасно работает по RS232 - у Maximа даже аппнота есть на эту тему. Сброс на 9600, передача данных на 115200. RX/TX объединяются через диод, с пуллапом на +. Если очень хочется преобразователь - есть DS2480. Изменено 9 января, 2013 пользователем polyname Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться