Перейти к содержанию
    

Выбор локального контроллера для многоточечной термометрии

Добый день.

имеется следующая задача: необходимо снимать показания температуры с нескольних десятков датчиков DS1820 (~ 30 шт.), подключенных к одной шине 1-wire (гирлянда из датчиков).Интервал снятия показаний 5 мин. Далее, необходимо передать эти показания по протоколу Modbus / rs485 на ПК оператора.

 

Схема следующая:

ds1820_1..... ds1820_30 (1-wire) => локальный контроллер => rs485/ModBus => преобразователь интерфейсов => ПК Оператора.

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

> Выбор локального контроллера для многоточечной термометрии
судя по описанию подойдет любой контроллер с аппаратным портом UART и объемом Flash >2K.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

судя по описанию подойдет любой контроллер с аппаратным портом UART и объемом Flash >2K.

Спасибо за ответ.

Если можно, приведите пример: Модель, производитель. Желательно, что бы он бвл компактен, надежен и не дорог.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... необходимо снимать показания температуры с нескольних десятков датчиков DS1820 (~ 30 шт.)

А длина соединительной линии между этими датчиками и принимающим(и) от них данные МК какая планируется ? Это далеко не праздный вопрос ...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

например Attiny2313, Attiny45

Буквально перед новым годом реализовал подобное на ATmega16 :)

Но для "нескольких десятков" + Modbus ATtiny2313 ИМХО, будет маловато.

Разве что с ассемблером поизгиляться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Парни, позвольте внести мои 5 копеек.

 

1) Зачем беспокоиться о стоимости микроконтроллера, если стоимость 30 датчиков температуры на порядок выше? Программа чтения температуры из датчика DS18B20 занимает порядка 200 байт хоть на си хоть на ассме. Ставьте любой МК, который вам проще программировать.

 

2) Зачем в системе сбора температуры применять модбас? Собрать с 30 датчиков измеренную температуру, сформировать пакет с контрольной суммой и передать по линии в концентратор или ПК можно и без модбаса. Это будет и дешевле, и проще, и быстрее в реализации.

 

3) Вообще, на мой взгляд, подобные системы сбора телеметрии должны работать безо всяких запросов, просто непрерывно гнать данные, а МК должен выбирать их с линии по мере необходимости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добый день.

имеется следующая задача: необходимо снимать показания температуры с нескольних десятков датчиков DS1820 (~ 30 шт.), подключенных к одной шине 1-wire (гирлянда из датчиков).Интервал снятия показаний 5 мин. Далее, необходимо передать эти показания по протоколу Modbus / rs485 на ПК оператора.

 

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

 

Для подобной задачи должно хватить ATMega48. В крайнем случае 88. Учитывая кол-во датчиков необходимо будет выполнять алгоритм поиска (an187.pdf от maxim) серийных номеров на шине (если Вам не принципиально расположение датчиков в пространстве) или самостоятельно считывать с каждого датчика серийный номер, вносить его в память процессора и опрашивать по известным серийникам. В любом случае вероятно понадобится eeprom и достаточное кол-во оперативки. Я бы ориентировался на ATMega48/88. Преимуществом данных процессоров является возможность точно отсчитывать задержки при запрешённых прерываниях что очень важно при работе с шиной 1-wire.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Парни, позвольте внести мои 5 копеек.

 

1) Зачем беспокоиться о стоимости микроконтроллера, если стоимость 30 датчиков температуры на порядок выше? Программа чтения температуры из датчика DS18B20 занимает порядка 200 байт хоть на си хоть на ассме. Ставьте любой МК, который вам проще программировать.

 

2) Зачем в системе сбора температуры применять модбас? Собрать с 30 датчиков измеренную температуру, сформировать пакет с контрольной суммой и передать по линии в концентратор или ПК можно и без модбаса. Это будет и дешевле, и проще, и быстрее в реализации.

 

3) Вообще, на мой взгляд, подобные системы сбора телеметрии должны работать безо всяких запросов, просто непрерывно гнать данные, а МК должен выбирать их с линии по мере необходимости.

Иногда приходится добавлять к существующей SCADA-системе сбор дополнительных параметров. И тут уже хочешь-нехочешь приходится приспосабливаться к существующему протоколу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы толкуете про модбас, то можно сделать систему без модбаса, собрать всю телеметрию в "концентраторе", а из него уже передавать по модбасу. Преимущество в том, что программа микроконтроллеров "гирлянд" будут существенно проще, хоть на восьминожке attiny10 можно собрать со своим протоколом, отсюда меньше габариты, потребление и т.д. и т.п.

 

Что по другим пунктам?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Иногда приходится добавлять к существующей SCADA-системе сбор дополнительных параметров. И тут уже хочешь-нехочешь приходится приспосабливаться к существующему протоколу.

Если смотреть конкретно, параметры:

1.Интервал времени чтения температуры.

2.Физ. номер датчика

3. Лог номер (позиционный)

--

Это всё можно внутри термочиталки сделать и так. В концентраторе такая система команд отображается на множество регистров. И всё. =GM= прав

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собрать с 30 датчиков измеренную температуру, сформировать пакет с контрольной суммой и передать по линии в концентратор или ПК можно и без модбаса
тогда уж можно и без контроллера - датчики повесить прямо на RS232

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Именно так, все прекрасно работает по RS232 - у Maximа даже аппнота есть на эту тему. Сброс на 9600, передача данных на 115200. RX/TX объединяются через диод, с пуллапом на +.

Если очень хочется преобразователь - есть DS2480.

Изменено пользователем polyname

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...