Преобразователь 3v3 <> 5v, МК и датчик

Все прочитали, вроде даже поняли, взяли паяльник - а нифига не получается? Скорее сюда! Поможем. Чем можем...
Аватара пользователя
Stass48
Потрогал лапой паяльник
Сообщения: 329
Зарегистрирован: Пн фев 18, 2008 17:48:40

Преобразователь 3v3 <> 5v, МК и датчик

Сообщение Stass48 »

Здравствуйте!
Имеется датчик температуры 3,3 в, микроконтроллер 5 в и вот такой преобразователь, который, как я понимаю, работает по вот такой схеме.

Имеется вопрос. Что по подтягивающим резисторам? Нужны ли они вообще? Предполагается, что со стороны датчика уже стоят резисторы по 4,7К и убрать их оттуда не представляется возможным. Так как в преобразователе уже стоит резистор на 10К, то он наложится на резистор в датчике и будет уже порядком меньше, чем 4,7К в итоге. Не помешает ли это все? Стоит ли ставить Допольнительные резисторы со стороны МК? Например еще на 10К и в итоге получится 5К, что очень близко к стандартному 4,7К.

В общем, главный вопрос в том, как это все подружить так, чтобы работало надежно.
Заранее огромное спасибо всем людям, которые помогут. :beer:
The only one thing necessary for the triumph of evil ...is for good people to do nothing.
74LS00
Друг Кота
Сообщения: 7670
Зарегистрирован: Вс июл 24, 2011 11:38:09
Контактная информация:

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение 74LS00 »

Какой датчик, какие уровни ?
Изображение.

Вот SD карту приделали, почти всё на резисторах и один транзистор, но есть недостаток, очень капризна к питанию, должно быть ровно 5в и не меньше, больше 6в тоже пипец. Ваши модульки врятли лучше.

Есть специальные контролеры, если уж покупать, то их.

Видел чтото вроде 74LV244, она проглатывает 5в сигнал, и выдаёт 3в от которых питается, но статью сложно найти.

У датчика может быть двусторонний интерфейс, таких преобразователей нет вообще. Надо делать отдельную схему переключения направлений. Но вроде есть супер вафля от ti, но даже кластер не понял как она должна работать и она не работает.
Аватара пользователя
Stass48
Потрогал лапой паяльник
Сообщения: 329
Зарегистрирован: Пн фев 18, 2008 17:48:40

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение Stass48 »

М-да. Действительно я не указал, что датчик пирометрический и работает по интерфейсу i2c. Как-то, для меня очевидная вещь, оказалась упущенной из виду для других. Это не UART, где и простой резистивный делитель прокатит. Вот и вопрос о подтягивающих резисторах. Хотя, я думаю, оно и без них должно работать (в конверторе они уже запаяны).
Дедлайн близок. На покупку чего-то другого тупо нет времени. Есть в наличии вот такой вот переходник и всё. Но он же должен работать и для i2c.
The only one thing necessary for the triumph of evil ...is for good people to do nothing.
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16376
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение mickbell »

Дедлайн близок, говорите? Дед приближается? :))) Переходник на I2C нужен только специальный, двунаправленный - по крайней мере для линии SDA. Можно попробовать подключить 5-вольтовый слэйв прямо к 3.3-вольтовому МК, выбрав у МК интерфейс с 5В-толерантными лапами и подключив подтяжку на 5 В.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
Аватара пользователя
Martin76
Друг Кота
Сообщения: 20162
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение Martin76 »

mickbell писал(а): Переходник на I2C нужен только специальный, двунаправленный
Этот преобразователь на мелких мосфетах двунаправленный, это классика вообще то. В древних теликах конца 90х он уже вовсю применялся с I2C для согласования 3,3В контроллеров с 5В тюнерами, памятью, видеопроцами и тд.
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16376
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение mickbell »

Ага, понятно.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
74LS00
Друг Кота
Сообщения: 7670
Зарегистрирован: Вс июл 24, 2011 11:38:09
Контактная информация:

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение 74LS00 »

Ничего простого в i2c нет, он двунаправленый, и кроме uart не с чем просто не получится. Может есть какито костыли, я искал разные развязки, перебирал разные интерфейсы у ардуины, в итоге ничего кроме спец микросхем не попалось.
Я бы представил чтото вроде резистора и стабилитрона.
Техники из 90 видел не много, документацию от неё найти сложно, и то чаще всего всё было на 5в.
В моём понимании проще заказать чем искать даже полевики, нужной мелочи чаще всего нет.

Прицепите схемку если чтото попадётся рабочее. Помню много разное видел, а как начал искать, ну прям как со схемами из 90, ничерта нет в поисковиках
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16376
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение mickbell »

[uquote="74LS00",url="/forum/viewtopic.php?p=4032708#p4032708"]Ничего простого в i2c нет, он двунаправленый[/uquote]Однако же в своё время, лет десять с чем-то назад, я делал гальваноразвязку для I2C. Так что особо сложного там тоже нет.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
mont-oriol
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Пн май 27, 2019 07:18:28
Откуда: ВВХ-ск

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение mont-oriol »

[uquote="Stass48",url="/forum/viewtopic.php?p=4032472#p4032472"]Стоит ли ставить Допольнительные резисторы со стороны МК? Например еще на 10К и в итоге получится 5К, что очень близко к стандартному 4,7К.[/uquote]
Изображение
Если устройство на линии LV1 выдаст ноль, то оно будет нагружено обоими резисторами в параллель. Т.е. 5кОм. Тоже самое со стороны HV1. Поэтому, никаких доп. резисторов не нужно. А если окажется, что на линии LV1 уже есть резистор, то R3 следует убрать.
topicross
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн авг 17, 2020 12:06:01

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение topicross »

Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение Eddy_Em »

Жестоко, однако! В то время, как микроконтроллеры уже чуть ли не к 1.8В питания начинают приближаться, человек нашел МК с пятивольтным питанием!
Или долго в криокамере пролежал?

P.S. Теоретически, можно питание и до 1.5В снизить (чтобы оставалось 0.3В между переходами 0-1). Здорово было бы! Воткнул CR2032, да работай себе…
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
parovoZZ
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение parovoZZ »

Такие МК очень удобны, если сидим на Li-Ion. Не надо ничего лишнего городить.
sathv
Открыл глаза
Сообщения: 50
Зарегистрирован: Сб янв 10, 2015 12:05:52

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение sathv »

Здравствуйте. Не имею систематических знаний по И2С, но хочу разобраться с подключением датчика GXHT30. В таблице 9 его дейташита показан блок "SCL free", что это значит- на шину не давать синхроимпульсы и отпустить ее? И еще один блок "SCL pulled low"- как микроконтроллер после него узнает когда начинать прием?
Вложения
Вопрос.jpg
(65.55 КБ) 49 скачиваний
Аватара пользователя
electroget
Друг Кота
Сообщения: 4651
Зарегистрирован: Ср сен 30, 2020 16:51:47
Откуда: РФ

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение electroget »

Stass48,
Существуют вот такие платки https://tixer.ru/catalog/modules/interf ... id=1730729
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3781
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение Ser60 »

sathv писал(а):"SCL free", что это значит- на шину не давать синхроимпульсы и отпустить ее?
Да, именно так. Здесь имеется в виду, что во время измерения сенсор не влияет на SCL и I2C шину можно использовать для связи с другими устройствами.
sathv писал(а):"SCL pulled low"- как микроконтроллер после него узнает когда начинать прием?
I2C драйверы многих МК имеют эту опцию (clock stretching) реализованную аппаратно и прозрачно для пользователя. Если такой опции нет, то следует после получения ACK от сенсора проверить состояние линии SCL программно и ждать пока она не поднимется в лог. 1 прежде чем продолжать. А можно просто после запроса на новое измерение подождать достаточно долгое время (большее чем время измерения параметров ~15мс) прежде чам читать данные из сенсора.
sathv
Открыл глаза
Сообщения: 50
Зарегистрирован: Сб янв 10, 2015 12:05:52

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение sathv »

Спасибо большое- понял, кажется))
mont-oriol
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Пн май 27, 2019 07:18:28
Откуда: ВВХ-ск

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение mont-oriol »

[uquote="sathv",url="/forum/viewtopic.php?p=4397212#p4397212"]GXHT30. В таблице 9 его дейташита показан блок "SCL free", что это значит- на шину не давать синхроимпульсы и отпустить ее? И еще один блок "SCL pulled low"- как микроконтроллер после него узнает когда начинать прием?[/uquote]
Тут вот про что речь. Преобразование аналог -> цифра занимает время. Может оказаться, что когда вы хотите получить данные, они ещё не готовы. И вам на выбор предлагают два варианта, что делать в этом случае.
1) Датчик будет отвечать NAK, и вы программно должны повторять попытки чтения в этом случае.
2) Аппаратная пауза. Датчик ставит шину на паузу (SCL pulled low), как только данные готовы, передача продолжится.

Зачем этот выбор, последний вариант вроде бы удобнее? Не все Master устройства его поддерживают.
sathv
Открыл глаза
Сообщения: 50
Зарегистрирован: Сб янв 10, 2015 12:05:52

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение sathv »

Спасибо за пояснение. Получается, если я командой выбрал режим clock stretching enabled, то датчик пошлет ACK и опустит шину на время измерений- SCL pulled down. В дейташите не объясняется зачем команда Fetch Data. Может мне и надо очистить датчик? У меня индицируются и температура и влажность по 65536 (это без пересчета по формуле), т.е. принимаю все единицы.

Добавлено after 5 minutes 35 seconds:
Не 65536, а 65535. Данные, ведь, 16 бит.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3781
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение Ser60 »

sathv писал(а):В дейташите не объясняется зачем команда Fetch Data.
Эта команда нужна для чтения данных при периодических измерениях. При этом для производства таких измерений нужно послать 1 раз команду из Таблицы 10, задающей период измерений. Далее можно лишь читать данные без подачи нового запроса на измерение. Разница с командой единичного измерения из Таблицы 9 в том, что для производства каждого нового единичного измерения нужно подавать команду запроса измерения, а при периодических измерениях сенсор будет производить их без специального запроса в соответствии с выбранным периодом.
sathv писал(а):Может мне и надо очистить датчик? У меня индицируются и температура и влажность по 65536
Имеете в виду ресет? Это не нужно. Проще после заливки в МК нового кода отключить на время питание. Если у Вас имеется логический анализатор, приведите осциллограммы сессии с сенсором. Проверьте превильность конфигурации I2C интерфейса. Может на все Ваши запросы датчик отвечает NACK(?)
sathv
Открыл глаза
Сообщения: 50
Зарегистрирован: Сб янв 10, 2015 12:05:52

Re: Преобразователь 3v3 <> 5v, МК и датчик

Сообщение sathv »

Спасибо за помощь. Будьте добры, подскажите еще. Я написал программу на ассемблере и там получается, что такты SCL, они не периодические, а имеют длину от 10 до 100 мкс, примерно. Датчик это допускает? (Сам-то МК работает, там задействован АЦП, выводится что надо на ЖКИ, а вот с GXHT30 связи нет) Прошу извинить, если уже достал неразумными вопросами.
Ответить

Вернуться в «Практика»