NT28b16 Board
This note is devoted to the usage possibilities for the NT28b16 board.
About the board
The board NT28b16 is a multichannel module for temperature measurement. When ordered from AliExpress, usually, it comes with a bunch of NTC-sensors 10K/20K/50K/100K B3950. In this particular case, it is 100K sensors. The board itself have several connections:
- 8-25V power (12V recommended);
- 50mA current limit (when 8 sensors used the power consumption stayed on 5mA);
- RS485 for data transmitting with Modbus RTU; I’ve used such kind connection (see the photo below).
The board allows to:
- collect temperature from 16 channels either as temperature or as a resistance value;
- set up the correction coefficient to the temperature data;
- modify transmission settings (Baudrate, parity, slave ID)
- turn on data transmission automatically;
- fully reset settings
Modbus RTU
Параметры подключения неоднозначно лежат на просторах интернета, например, в виде видео на Youtube или репозитории GitHub. Поэтому ниже привожу эту информацию в текстовом формате
Параметры подключения
- Поддержка считывания нескольких регистров за один запрос
- Slave ID (default)
0x01
- Baudrate (default) 9600
- Stop bit: 1
- Parity: None
Функции 0x03
/0x06
— чтение и запись параметров
Адрес регистра | R/W | Назначение | Тип данных | Пример значения |
---|---|---|---|---|
0x0000 - 0x000F | RO | Температура канала 1-16, градусы Цельсия*10 | int16 | 337 (33.7C*10) |
0x0020 - 0x002F | RO | Сопротивление канала 1-16, кОм*100 | uint16 | 1012 (10.12кОм*100) |
0x0040 - 0x004F | R/W | Смещение к измерению температуры, градусы Цельсия*10 | uint16 | 10 (1C*10) |
0x0060 - 0x006F | R/W | Смещение к сопротивлению, градусы Цельсия*10 | uint16 | 100 (1кОм*100) |
0x00F8 | R/W | Пауза между автоматической выдачей - 0 - откл. автоматическую выдачу, максимум 255, секунды | uint16 | 2 |
0x00F9 | R/W | Выбор данных автоматической выдачи: 0 - температура, 1 - сопротивление | uint16 | 1 |
0x00FB | R/W | Программный сброс: запись нуля сбросит настройки | uint16 | 0 |
0x00FC | R/W | Время ответа на команду, мс*40 | uint16 | 2 |
0x00FD | R/W | Slave ID | uint16 | 0x01 |
0x00FE | R/W | Baudrate: 0:1200 1:2400 2:4800 3:9600 4:19200 5:38400 6:57600 7:115200 | uint16 | 3 |
0x00FF | R/W | Parity:0 - None, 1 - Even, 2 - Odd | uint16 | 0 |
Примеры использования
Для взаимодействия можно использовать массу ПО, личная рекомендация из бесплатных программ:
- Termite (s2-team.ru/) - отличное ПО для настройки
- ModbusScope - оптимальное ПО для визуализации и записи в файл
Пример настройки ModbusScope
В первую очередь необходимо указать в настройках соединения соответствующие настройки соединения + таймаут опроса
Затем необходимо настроить описание регистров, например, указать опрос трех регистров температуры:
Теперь достаточно включить питание платы и нажать Start в главном окне инструмента для визуализации температуры в реальном времени:
Надеюсь Вам помогла эта инструкция, если нет, то здесь работают комментарии, либо можно написать мне в Телеграмм @suggestmenews_bot