Потому что требование наличия подтяжки относятся к шине, а не к устройству. Такова спецификация протокола I2C и производители ей следуют, в своём большинстве.
Спорить тут, на форуме, о верности или неверности такого решения, в данном конкретном случае. смысла нет абсолютно никакого - представителей разработчиков данного устройства здесь нет.
Я совсем-совсем не собираюсь спорить.
Я только хочу помочь некоторым из будущих покупателей и пользователей датчика.
Смотрите: эта тема гуглится в топ-50 первых ссылок по его названию, но ни на страницах продавцов, ни в инструкциях по сборке, нигде нет данных не только о подтяжке, но и вообще о том что это I²C.
Возможно, мои слова смогут кому-то помочь подключить датчик и пользоваться им, а не выкидывать в помойку.
Кстати, я сейчас туда глянул и вижу, что внутренний подтягивающий резистор нарисован только для SDA (pin 1), SCL (pin 2) болтается в воздухе. Если бредборд ещё на столе, то может поставите эксперимент - оставите внешний резистор только на SCL?
// activate internal pullups for twi.
digitalWrite(SDA, 1);
digitalWrite(SCL, 1);
Но внутренний резистор для тепличных условий (30..50k), так что лучше дублировать внешними. Спецификация рекомендует что-то типа 4.7k, 5,1k на обе линии. То, что на картинке (1.8k) - это для каких-то сильных помех.
Друзья, T6703-5K проработал около полугода и внезапно начал выдавать бредовые значения в районе 4700.
Забираю данные в Arduino, пересборку, перепрошивку и "постучать" уже попробовал.
Сенсор ведёт себя так же как раньше, лампочка мигает. Если на сенсор подышать, показания становятся больше: 6300, 8800, 12000. Потом возвращаются к 4700.
Оставлять на сутки пробовал. Калибровка, если и происходит, не решает проблему, показания остаются такими же.
Спасибо! По этому адресу ответил Джефф, прислал инструкцию в PDF и указание на страницу о том как сделать single-point calibration.
Также дал ссылку на гитхаб:
Китайские друзья перестали продавать Т6703, уже несколько продавцов сказали, что больше не поставляется. На замену предлагают, якобы аналог, двухканальный датчик TES0902 корейского производства, datasheet https://www.devicemart.co.kr/goods/download?id=14070022&rank=1 Ни кто еще не сталкивался с этим датчиком?
Т6703 - одноканальный, так что явно не аналог. В TES0902 нет I2C, MODBUS. Непонятно - толерантен ли он к 5V или нужно ставить конверторы уровней. По точности вроде как тоже не выдающийся. Он, скорее, аналог MH-Z19B. Из забавного - регулировка ABC period и больше ничего.
Т6703 - одноканальный, так что явно не аналог. В TES0902 нет I2C, MODBUS. Непонятно - толерантен ли он к 5V или нужно ставить конверторы уровней. По точности вроде как тоже не выдающийся. Он, скорее, аналог MH-Z19B. Из забавного - регулировка ABC period и больше ничего.
Не могу подключить Т6703-5К по UART к ESPHome на ESP32 - no response received. Кто-нибудь подключал его по UART вообще? По I2C у меня нормально работал.
Очень прошу помощи, т.к. кастомный I2C на ESPHome пока не поддерживается.
UPD:
Нашел проблему. В настройках UART надо выставить parity: EVEN. Вот ведь блин! В документации об этом ничего. Понял по примеру в скетче для ардуино по ссылке, приведенной выше.
Подыму тему. Полгода тестирую Sensirion SCD30. Двухлучевой, очень стабильный. Автоматическая калибровка ASC отключена уже как месяца три. Вчера выносил на улицу, показал 389ppm. На алике стоит от $32. Библиотека тут - https://github.com/enjoyneering/SCD30_I2C
Почти все есть в datasheet, но сегодня я это сделаю за вас.
к 5V как относится?
Датчик SCD30 имеет аж три интерфейса, мне для проекта был интересен только I2C. Чтобы его активировать нужно контакт «SEL» никуда не подключать или соединить с «GND». Бонусом идет внутренняя подтяжка 45кОм к 3в. Это значит, что скорее всего SCL и SDA не толерантны к 5в, будьте осторожны. У меня подключен к ESP8266.
или сенсор T/H просто за компанию припаян?
Производители хорошо считают деньги и ничего не делают просто так. Сенсор SHT31 служит для корректировки CO2. Процесс полностью автоматический, без участия человека. Бонусом Sensirion дал к нему доступ. Кроме того на сенсор влияет солнечный свет, ветер и атмосферное давление. О ветре и солнце вы дожны позаботиться сами, а вот давление можно корретировать, для этого есть специальная команда. Диапазон коррекции 700mBar..1400mBar или 0mBar если коррекция не нужна. Среднегодичное давление в моей местности 1013mBar. Постоянно увлекаться новыми значениями не стоит тк сенсор сохраняет все на флеш память, а она имеет ограниченный ресурс циклов записи. Если давление найти нечем, то можно указать высоту над уровнем моря (это другая командна) и сенсор сам расчитает давление (это медот менее точен).
SHT31 немоного врет - завышает Т на +1.5С и влажность на 5%. Скорее всего его разогевает измерительная камера SCD30. У сенсора есть комнда корректировки температуры, но только в плюс. Она нужна когда в приборе рядом с сенсором присутствует дополнительный источник тепла и одного SHT31 уже не достаточно для измерения CO2 с паспортной точностью.
в #23 всё же написано
1 пин модуля на RXD адаптера
2 пин модуля на TXD адаптера
19200 8E1
в #23 всё же написано
1 пин модуля на RXD адаптера
2 пин модуля на TXD адаптера
19200 8E1
а чем вы опрашивали?
у меня что-то ничего не выдает
3,3в. уровень сигнала Uart - вроде как обязательное требование.
Будьте осторожны с моей программой, выложил ранее: http://arduino.ru/forum/obshchii/telaire-t6703#comment-497615
ваша же программа только для MH-Z19B
подключал MH-Z19B и все норм снимает
или тоже для других датчиков подходит?
Добрый день.
Неделю не мог подключить T6703, аж диспут на алиэкспрессе открыл, но чудом нарыл ссылку на инструкцию по его подключение (https://www.14core.com/wiring-the-telaire-t6713-t67xx-a-carbon-dioxide-c...) и в ней ЕДИНСТВЕННОЙ была спасительная рекомендация: подтянуть обе линии I²C к VCC резисторами.
Подключил через 5К резюки, взлетело моментально. Снимаю резюки с макетки — работает 30 секунд и перестаёт.
Я один такой?
Да нет, рукожопов много. Читать спецификацию i2c не судьба? Управление шиной идет ОК. Он без резисторов на питание не работает.
В мануале нарисовано, будто бы в режиме I2C у него внутренние резисторы на VCC подключаются.
Я вот не помню уже - ставил я или нет их при экспериментах... Но, вообще, nik182 прав - шина архитектурно подразумевает наличие подтяжки на VCC.
из 50 опубликованных в интернетах инструкций "ща мы за пять минут сляпаем из г и палок измеритель СО2" ни в одном о подтяжке сказано не было
у многих такие датчики работают безо всякой подтяжки
вы спецификации вообще на всё читаете? на припой, которым паяете? на молоко из холодильника?
нет же. вы собираете как сказано в туториале, и лезете разбираться если что-то не работает
вот и мне совершенно непонятно, зачем городить эти огороды с внешними резисторами?
У датчика есть подключение к VCC и SDA/SCL, подтяжка, если нужна, запросто может быть организована внутри датчика
какого лешего её там нет? непонятно
Потому что требование наличия подтяжки относятся к шине, а не к устройству. Такова спецификация протокола I2C и производители ей следуют, в своём большинстве.
Спорить тут, на форуме, о верности или неверности такого решения, в данном конкретном случае. смысла нет абсолютно никакого - представителей разработчиков данного устройства здесь нет.
Я совсем-совсем не собираюсь спорить.
Я только хочу помочь некоторым из будущих покупателей и пользователей датчика.
Смотрите: эта тема гуглится в топ-50 первых ссылок по его названию, но ни на страницах продавцов, ни в инструкциях по сборке, нигде нет данных не только о подтяжке, но и вообще о том что это I²C.
Возможно, мои слова смогут кому-то помочь подключить датчик и пользоваться им, а не выкидывать в помойку.
В документации, как раз, про I2C написано. Другое дело, что ее сыскать не так просто, как хотелось бы: https://www.amphenol-sensors.com/en/telaire/co2/525-co2-sensor-modules/3215-t6700 -> "Telaire T67XX CO2 Sensor Module - Application Note", стр. 7
Кстати, я сейчас туда глянул и вижу, что внутренний подтягивающий резистор нарисован только для SDA (pin 1), SCL (pin 2) болтается в воздухе. Если бредборд ещё на столе, то может поставите эксперимент - оставите внешний резистор только на SCL?
Спасибо, без подтяжки по SDA работает, и похоже что показания не особенно отличаются.
Но в том что видел я, была нарисована подтяжка по обеим линиям.
Интересно, вроде как пишут что в библиотеке Wire.h включена подтяжка на стороне ардуины. Или нет?
Непонятно.
Есть такое в twi.c.
Но внутренний резистор для тепличных условий (30..50k), так что лучше дублировать внешними. Спецификация рекомендует что-то типа 4.7k, 5,1k на обе линии. То, что на картинке (1.8k) - это для каких-то сильных помех.
плиз, можете поделиться примером скетча, подключение i2c.
благодарю
Скетч в теме есть.
Друзья, T6703-5K проработал около полугода и внезапно начал выдавать бредовые значения в районе 4700.
Забираю данные в Arduino, пересборку, перепрошивку и "постучать" уже попробовал.
Сенсор ведёт себя так же как раньше, лампочка мигает. Если на сенсор подышать, показания становятся больше: 6300, 8800, 12000. Потом возвращаются к 4700.
Оставлять на сутки пробовал. Калибровка, если и происходит, не решает проблему, показания остаются такими же.
Что делать? Выкидывать?
Я бы написал амфеноловцам. Когда в 2019г. интересовался насчёт толерантности по 5V - они инженера даже подключили к диалогу.
Круто. А как именно вы к ним обращались? Форму на сайте я заполнил, да.
Не помню уже, откуда имейл выцарапал, но писал для начала сюда (американский офис, как я понимаю): stmaryscc(at)amphenol-sensors.com
Потом меня отредиректили на технического специалиста.
Спасибо! По этому адресу ответил Джефф, прислал инструкцию в PDF и указание на страницу о том как сделать single-point calibration.
Также дал ссылку на гитхаб:
https://github.com/AmphenolAdvancedSensors/Telaire/blob/T6700_Series/T67xx_UART_Example.ino
К тому моменту как я добрался до сенсора, он уже проработал неделю вхолостую и образумился. Всегда бы так. Сейчас показывает корректно.
Всем спасибо.
Так у телэйра ABC работает с периодом в 7 дней как раз, если не путаю. Сутки у винсена и 21 день у сенсайра.
Китайские друзья перестали продавать Т6703, уже несколько продавцов сказали, что больше не поставляется. На замену предлагают, якобы аналог, двухканальный датчик TES0902 корейского производства, datasheet https://www.devicemart.co.kr/goods/download?id=14070022&rank=1 Ни кто еще не сталкивался с этим датчиком?
Т6703 - одноканальный, так что явно не аналог. В TES0902 нет I2C, MODBUS. Непонятно - толерантен ли он к 5V или нужно ставить конверторы уровней. По точности вроде как тоже не выдающийся. Он, скорее, аналог MH-Z19B. Из забавного - регулировка ABC period и больше ничего.
Т6703 - одноканальный, так что явно не аналог. В TES0902 нет I2C, MODBUS. Непонятно - толерантен ли он к 5V или нужно ставить конверторы уровней. По точности вроде как тоже не выдающийся. Он, скорее, аналог MH-Z19B. Из забавного - регулировка ABC period и больше ничего.
Спасибо, тогда пока воздержимся от приобретения.
Не могу подключить Т6703-5К по UART к ESPHome на ESP32 - no response received. Кто-нибудь подключал его по UART вообще? По I2C у меня нормально работал.
Очень прошу помощи, т.к. кастомный I2C на ESPHome пока не поддерживается.
UPD:
Нашел проблему. В настройках UART надо выставить parity: EVEN. Вот ведь блин! В документации об этом ничего. Понял по примеру в скетче для ардуино по ссылке, приведенной выше.
Подыму тему. Полгода тестирую Sensirion SCD30. Двухлучевой, очень стабильный. Автоматическая калибровка ASC отключена уже как месяца три. Вчера выносил на улицу, показал 389ppm. На алике стоит от $32. Библиотека тут - https://github.com/enjoyneering/SCD30_I2C
К чему подключен SCD30 (к 5V как относится)?
На борту дополнительно температура и влажность, как я понял. Они как-то участвуют в корректировке показаний или сенсор просто за компанию припаян?
Почти все есть в datasheet, но сегодня я это сделаю за вас.
к 5V как относится?
Датчик SCD30 имеет аж три интерфейса, мне для проекта был интересен только I2C. Чтобы его активировать нужно контакт «SEL» никуда не подключать или соединить с «GND». Бонусом идет внутренняя подтяжка 45кОм к 3в. Это значит, что скорее всего SCL и SDA не толерантны к 5в, будьте осторожны. У меня подключен к ESP8266.
или сенсор T/H просто за компанию припаян?
Производители хорошо считают деньги и ничего не делают просто так. Сенсор SHT31 служит для корректировки CO2. Процесс полностью автоматический, без участия человека. Бонусом Sensirion дал к нему доступ. Кроме того на сенсор влияет солнечный свет, ветер и атмосферное давление. О ветре и солнце вы дожны позаботиться сами, а вот давление можно корретировать, для этого есть специальная команда. Диапазон коррекции 700mBar..1400mBar или 0mBar если коррекция не нужна. Среднегодичное давление в моей местности 1013mBar. Постоянно увлекаться новыми значениями не стоит тк сенсор сохраняет все на флеш память, а она имеет ограниченный ресурс циклов записи. Если давление найти нечем, то можно указать высоту над уровнем моря (это другая командна) и сенсор сам расчитает давление (это медот менее точен).
SHT31 немоного врет - завышает Т на +1.5С и влажность на 5%. Скорее всего его разогевает измерительная камера SCD30. У сенсора есть комнда корректировки температуры, но только в плюс. Она нужна когда в приборе рядом с сенсором присутствует дополнительный источник тепла и одного SHT31 уже не достаточно для измерения CO2 с паспортной точностью.