• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Датчик и напряжение

sccp

Member
К Arduino Uno нужно подключить датчик влажности (SI7021)
На одном из форумов прочитал что просто так его к Uno не подключить из-за напряжения.

Про датчик написано: Рабочее напряжение: от 1.9В до 3.6В
На Uno есть разъем под 3.3V и под 5V

Разве просто нельзя завести датчик на 3.3?
 

Alegz

New member
Разве просто нельзя завести датчик на 3.3?
Просто завести можно. Особенно, если ничего не включать. Но при попытке работы с датчиком может оказаться, что он глючит. Причина - оказывается, что существуют логические уровни, а именно "ноль" и "единица". "Единица" близка к напряжению питания. Для Ардуины это (питание) +5V, для датчика это +3.3. Что получится при смешивании этих величин, можно только догадываться. Иногда даже работает. Чтобы не догадываться, используют согласователи уровней. Иногда согласователи уровней закладывают сами производители модулей датчиков. Это на пальцах. Подробнее - надо смотреть датчик и курить мануал.
 

sccp

Member
используют согласователи уровней
можно чуть подробней?

просто во всех примерах подключения si7021 не вижу доп. действий
например тут и тут в опиание и на картинках/схемах ничего нет
я пока новичок в этом, может это и элементарно, но про это не смог на гуглить
 

sccp

Member
Пример модуля, на котором уже всё установлено и который подключается к 5V при работе с Ардуиной:

посмотрел исходники либы, там про датчики написано
Код:
/*This is an Arduino library for SHT21, HTU21D & Si70xx Digital Humidity and Temperature Sensor
...
This chip uses I2C bus to communicate, specials pins are required to interface
Board:                                                                      SDA    SCL   Level
Uno, Mini, Pro, ATmega168, ATmega328.....    A4      A5      5v
...*/
как это понять?
что подключать к Uno нужно к пинам А4,5. А что тогда с Level?
 

nikolz

Well-known member
попробую объяснить
важным является уровни High и Low
для TTL логики (питание 5 вольт)


для датчиков с питанием 3.3 вольта - это CMOS технология
уровни будут такими

Как видим сигналы с выхода CMOS вполне могут быть входными сигналами TTL
Поэтому датчик включается на питание на 3.3 вольта и его выводы подключаются к пинам дурины
 

sccp

Member
Поэтому датчик включается на питание на 3.3 вольта и его выводы подключаются к пинам дурины
так в этом и есть главный вопрос - нужен все таки между arduino и si7021 какой либо преобразователь логического уровня?
так как тут тоже на схеме/картинке подключение без них

если да, нужно, то что лучше - резистор на 10ком, либо какой-то стабилизатор типа такого(хс6206)

я думаю такая ситуация часто встречается, кто что использует? пока желательно не варианты с Али, так как нужно поскорее подключить датчик влажности, а arduino и датчик в 1 экземпляре, не хотелось бы их в "кирпич" превратить )
 

Сергей_Ф

Moderator
Команда форума

nikolz

Well-known member
так в этом и есть главный вопрос - нужен все таки между arduino и si7021 какой либо преобразователь логического уровня?
так как тут тоже на схеме/картинке подключение без них

если да, нужно, то что лучше - резистор на 10ком, либо какой-то стабилизатор типа такого(хс6206)

я думаю такая ситуация часто встречается, кто что использует? пока желательно не варианты с Али, так как нужно поскорее подключить датчик влажности, а arduino и датчик в 1 экземпляре, не хотелось бы их в "кирпич" превратить )
попробую снова объяснить
берем документацию на датчик и читает
Input Voltage High VIH SCL, SDA pins 0.7xVDD
V Input Voltage Low VIL SCL, SDA pins — 0.3xVDD
V Input Voltage Range VIN SCL, SDA pins with respect to GND 0.0 — VDD V
-----------------------
т е High минимум 0.7*3.3=2.3 вольта
Low максимум 0.3*3.3=1 вольт
диапазон напряжений от 0 до 3.3 вольт
-----------------------------
сигнал с выхода устройства 3.3 вольта можно прямо соединять с входом дурины
а сигнал с выхода дурины желательно соединить так

диод D1 может быть уже внутри датчика тогда достаточно поставить резистор
включал на вход ESP датчик 5 вольтовый через делитель

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

Alegz

New member
Как видим сигналы с выхода CMOS вполне могут быть входными сигналами TTL
Учитывая, что сигнал бегает в обе стороны, на часть с питанием 3.3V будут приходить сигналы с уровнем 4+V, т.е. выше питания "низковольтной" части. Что, в общем-то, поднимает вопрос физической выживаемости такой схемы.
 

sccp

Member
попробую снова объяснить
спасибо
риторический вопрос: не понятно, почему большинство примеров без преобразователей

какие есть варианты для покупки России (Москва), с Али долго будут идти?
то, что предложил Сергей_Ф, в России найти не могу
 

Сергей_Ф

Moderator
Команда форума
@Alegz, @sccp господа, вы хоть читаете что @nikolz пишет?
Достаточно резистора на линии входа у устройства с питанием 3.3В. внутренняя защита приведет его к нужному уровню.
Но это не преобразователь. Это согласование уровня одной линии. И это работает обычно.
 

nikolz

Well-known member
спасибо
риторический вопрос: не понятно, почему большинство примеров без преобразователей

какие есть варианты для покупки России (Москва), с Али долго будут идти?
то, что предложил Сергей_Ф, в России найти не могу
микросхемы всегда имеют запас по диапазону допустимых напряжений и токов
кроме того часто выходы маломощные, а сгорают микросхемы не от напряжения (если оно менее 10 вольт) а от теплового пробоя из за большого тока
т е чтобы вход выгорел надо чтобы выход смог обеспечить большой ток в нагрузке
Поэтому включение с нарушением допустимых напряжений на 1-2 вольта редко приводит к выходу микросхем
Например я использовал в схема питания ESP от суперкондеров напряжение до 5 вольт при разрешенном 3.6
все работает без проблем.
но риск выхода из строя такого включения остается
-------------------
включение делителей из резисторов не всегда подходит так как уменьшает полосу сигналов т е влияет на быстродействие
есть более сложные схемы
-----------------------------------
с али последнее время детали идут медленнее
если будете заказывать то рассчитывайте приход примерно 2-4 недели.
------------
В россии перекупщики торгуют компонентами в 2-5 раз дороже.
 

sccp

Member
@Alegz, @sccp господа, вы хоть читаете что @nikolz пишет?
Достаточно резистора на линии входа у устройства с питанием 3.3В. внутренняя защита приведет его к нужному уровню.
Но это не преобразователь. Это согласование уровня одной линии. И это работает обычно.
Сергей_Ф, я про это спрашивал -
>> если да, нужно, то что лучше - резистор на 10ком, либо какой-то стабилизатор типа такого(хс6206)

в ответ, в место простого - да, резистора достаточно, я получаю следующим постом -

>> попробую снова объяснить
>> берем документацию на датчик и читает
 

nikolz

Well-known member
Сергей_Ф, я про это спрашивал -
>> если да, нужно, то что лучше - резистор на 10ком, либо какой-то стабилизатор типа такого(хс6206)

в ответ, в место простого - да, резистора достаточно, я получаю следующим постом -

>> попробую снова объяснить
>> берем документацию на датчик и читает
резистор на 1-2 ком, а не на 10
-------------------
я не раздаю рыбу, я учу ее ловить. Поэтому рассказываю как сделана удочка и куда вешать червяка.
 

Alegz

New member
@Alegz, @sccp господа, вы хоть читаете что @nikolz пишет?
Достаточно резистора на линии входа у устройства с питанием 3.3В. внутренняя защита приведет его к нужному уровню.
За преобразование уровней я уже сказал. Ну если @nikolz - истина в последней инстанции и гарантирует работу защиты при наличии резистора, то я молчу.
 

esp340

Active member
так в этом и есть главный вопрос - нужен все таки между arduino и si7021 какой либо преобразователь логического уровня?
Вот здесь неплохо объясняется нужны ли преобразователи и что будет если их не ставить
Еще один люксметр на BH1750

нужно поскорее подключить датчик влажности, а arduino и датчик в 1 экземпляре, не хотелось бы их в "кирпич" превратить )
так вы хоть скажите что у вас за датчик? Покажите фото или хотя бы ссылку где есть его реальная картинка. Они кагбэ в разных исполнениях бывают.
 

nikolz

Well-known member
Сергей_Ф, я про это спрашивал -
>> если да, нужно, то что лучше - резистор на 10ком, либо какой-то стабилизатор типа такого(хс6206)

в ответ, в место простого - да, резистора достаточно, я получаю следующим постом -

>> попробую снова объяснить
>> берем документацию на датчик и читает
у Вас осциллограф или вольтметр есть?
 
Сверху Снизу