#62, M1T: два порта 1-Wire/Single-Wire

Диапазон рабочих температур: -40°C to +85°C


Подробности
Tibbit #62 предлагает два порта 1-Wire/Single-Wire для температурных датчиков 1-Wire на основе DS18B20, а также датчиков температуры и влажности DHT11 и DHT22 с одним проводом. Каждый канал можно настроить на работу в режиме 1-Wire или Single-Wire. К каждому каналу этого Tibbit можно подключить до шестнадцати датчиков 1-Wire. Устройства Single-Wire по своей природе допускают только один датчик на канал. Драйверы каналов Tibbit тщательно проработаны, чтобы максимально увеличить допустимую длину кабеля, поэтому данные можно собирать с датчиков, установленных в сотнях метров от хоста TPS.
Линии управления и цвета светодиодов
У Tibbit #62 четыре линии управления, каждая со светодиодом:
- SCL (жёлтый светодиод) - линия тактового сигнала интерфейса I2C. В режиме ожидания на линии HIGH. Этот Tibbit поддерживает растяжку тактового сигнала (clock stretching), поэтому линия показана как двунаправленная (и светодиод у неё жёлтый).
- SDA (жёлтый светодиод) - линия данных интерфейса I2C. В режиме ожидания на линии HIGH.
- -RST (красный светодиод) - линия сброса модуля, активный уровень LOW. Внутри эта линия соединена с выводом сброса микроконтроллера PIC. Для нормальной работы Tibbit на линии должен быть HIGH. Чтобы сбросить микроконтроллер, переведите линию в LOW, затем снова в HIGH. Эта линия также используется для перепрограммирования прошивки PIC (обновления в составе системы).
- -BUSY (зелёный светодиод): LOW на линии означает, что Tibbit не готов принимать команды I2C. Опрашивайте эту линию, прежде чем обмениваться с Tibbit данными по I2C.
Линии ввода-вывода
У Tibbit #62 четыре линии ввода-вывода:
- IO1 - выход 5V. Он может отдавать до 50mA тока на устройства 1-Wire и Single-Wire. Выходом управляет программа; он имеет защиту от сверхтока и короткого замыкания.
- IO2 - линия данных первого канала. Канал программно настраивается на режим 1-Wire или Single-Wire. В режиме 1-Wire можно подключить до шестнадцати датчиков 1-Wire. Спецификация Single-Wire допускает только один датчик на канал.
- IO3 - линия данных второго канала; его характеристики такие же, как у первого канала.
- IO4 - выделенная линия GND, к которой подключаются провода земли датчиков.
Типовые схемы подключения датчиков 1-Wire
Температурные датчики 1-Wire построены на микросхеме цифрового термометра DS18B20. Устройства 1-Wire могут работать всего по двум проводам - DQ (данные) и GND (земля). При таком подключении датчики получают питание по линии DQ, отдельная линия питания не нужна. Этот способ получения питания от шины 1-Wire называется «паразитным питанием». Устройства 1-Wire можно также запитать по выделенной линии питания VDD. На схемах ниже показаны оба способа подключения датчиков на основе DS18B20 к Tibbit #62.

Слева: двухпроводная схема (паразитное питание). Справа: трёхпроводная схема (отдельное питание)
При двухпроводном подключении (паразитное питание) соедините линию питания (VDD) каждого датчика с линией земли (GND). Трёхпроводное подключение (отдельное питание) советуем использовать, когда:
- провода длинные;
- к одному каналу подключено несколько датчиков 1-Wire (особенно при топологии «звезда»);
- система работает при температуре выше 100oC.
Возможность подключать несколько датчиков к одному порту и надёжно работать по длинным кабелям - существенные преимущества устройств 1-Wire. Чтобы увеличить допустимую длину кабеля и повысить надёжность, в обоих каналах Tibbit #62 применены драйверы подтяжки на MOSFET. Для наилучшего результата всё равно придётся продумать правильную топологию сети из нескольких датчиков.
Для максимальной дальности используйте линейную топологию, в которой датчики 1-Wire соединяются цепочкой на «шине». Во многих установках применяют и топологию «звезда», когда кабели нескольких датчиков сходятся в одной точке у Tibbit. Она работает при небольшой длине кабелей, 10-15 метров, но и в этом случае всегда рекомендуется трёхпроводное подключение (отдельное питание).
Гораздо больше информации по теме содержится в рекомендации по применению (Application Note): https://pdfserv.maximintegrated.com/en/an/AN148.pdf.

Слева: линейная топология. Справа: топология «звезда».
Схема подключения датчиков Single-Wire
Датчики Single-Wire, например DHT22, отличаются от датчиков 1-Wire тем, что:
- к каналу Tibbit можно подключить только один датчик Single-Wire - устройства Single-Wire не адресуются;
- паразитное питание невозможно - есть отдельная линия питания, и её необходимо подключить.

Поддержка библиотекой и AppBlocks
Для Tibbit #62 есть библиотека Tibbo BASIC. В ней есть вызовы API для настройки каналов, обнаружения (перечисления) подключённых датчиков 1-Wire и чтения данных датчиков. Библиотека выдаёт показания температуры в градусах Цельсия или Фаренгейта. Репозиторий библиотеки находится здесь: https://github.com/tibbotech/libraries/tree/main/tibbits/tbt62.
Использование библиотеки показано на примере тестовой программы Tibbo BASIC: https://github.com/tibbotech/CA-Test-Tibbit-62.
Этот Tibbit поддерживается и в AppBlocks - браузерной платформе Tibbo для разработки приложений без написания кода, на основе блок-схем. Платформа доступна здесь: https://appblocks.io/.
В видеоруководстве показано, как работать с датчиками 1-Wire и Single-Wire в AppBlocks: https://www.youtube.com/watch?v=1rzGAGgJPlM&t=8s.
Обновление прошивки в составе системы
Микроконтроллер PIC в Tibbit #62 можно обновлять в составе системы, без дополнительного оборудования. Для обновления прошивки используется режим низковольтного программирования (LVP) микроконтроллера: линия SCL работает как ICSPCLK, линия SDA - как ICSPDAT, а линией -RST микроконтроллер переводится в режим LVP.
Tibbo предоставляет библиотеку для обновления в составе системы; она находится здесь: https://github.com/tibbotech/libraries/tree/main/pic.
Технические характеристики
| Таблица #1 - предельно допустимые значения | |
| Напряжение питания | -10V to +5.5V |
| CH1 или CH2 относительно GND | -0.5V to +5.5V |
| Линии SCL, SDA, -RST, -BUSY | -0.3V to +3.6V |
| Рабочая температура | -40°C to +85°C |
| Таблица #1 - электрические характеристики | |
| Входное напряжение питания | 4.5VDC to 5.5VDC |
| Общий потребляемый ток | 20mA to 70mA |
| Допустимый выходной ток (IO1) | 50mA |
| Номинальный диапазон срабатывания защиты от сверхтока (IO1) | 50mA ~ 75mA |
| Номинальное время реакции защиты от сверхтока (IO1) | 100ms |
| Время обнаружения короткого замыкания IO1 на GND | 20ns |
| Совместимость линий SCL, SDA, -RST, -BUSY | 3.3V |
| Рабочая температура | -40°C to +85°C |
| Защита от ESD | IO1 ~ IO4 снабжены TVS-диодами, соответствующими стандарту IEC 61000-4-2 |
| Таблица #1 - характеристики последовательного интерфейса | |
| Тип интерфейса | I2C |
| Адрес устройства | 0x40 |
| Частота | 20kHz ~ 100kHz (рекомендуется 100kHz) |
| Особенности | Растяжка тактового сигнала включена |