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

Нужна помощь Согласование уровней ESP и AVR.

Vova777

New member
Подскажите, пожалуйста.
Хочу подключить модуль ESP8266 (ESP-01) к МК AVR ATmega16. Проблема в том, что у них разные логические уровни.

Не имею никакого желания городить на линиях TX и RX огород из транзисторов и т. д. Если использовать метод последовательных резисторов, будет ли это работать?

Схема: http://robozone.su/uploads/posts/2008-03/1205399956_2.gif
 

tretyakov_sa

Moderator
Команда форума
Последнее редактирование модератором:

Sanchos

New member
Из своего опыта скажу, что если ваша схема со сменой сигналов TX и RX (swap pins), тогда (поскольку она будет двухсторонней) лучше ставить 2 гасящих резистора на линию TX и RX. Если в схеме не предвидится смены сигналов, то на линию ТХ модуля ESP можно ничего не ставить, а на линию RX - метод делителей напряжения, но, к сожалению, этот метод не очень годится, если будете использоваться аккумулятор, поскольку будет происходить потребление тока делителем.
По мне так (уже опробовал и доволен), вместо метода делителей напряжения лучше использовать метод диодный интерфейс - простой и надежный метод, и изолирует устройства друг от друга.
Метод с мосфет транзистором (BSS138), к сожалению, не работает с ESP модулями (ну у меня лично не вышло).
 
Последнее редактирование:

msg31

New member
Я обычно пользуюсь для согласования уровней резистором 330 ом и стабилитроном на 3,3 в. Причем подключаю и на RD и TX тоже, чтобы гарантированно их не спалить, даже если случайно перепутал.
Чем такой способ универсальнее, по сравнению с делителем - он двунаправленный и не зависит от питающего напряжения.
 

msg31

New member
Внутри ESP уже есть защита.
Это хорошо, что есть защита. Для AVR есть апноут, где это подробно описано, в том числе как на этой внутренней защите сделать детектор нуля сетевого напряжения. Для ESP8266 я этого не нашел.
 

nikolz

Well-known member
Это хорошо, что есть защита. Для AVR есть апноут, где это подробно описано, в том числе как на этой внутренней защите сделать детектор нуля сетевого напряжения. Для ESP8266 я этого не нашел.
All digital IO pins are protected from over-voltage with a snap-back circuit connected between
the pad and ground. The snap back voltage is typically about 6V, and the holding voltage is 5.8V.
This provides protection from over-voltages and ESD. The output devices are also protected
from reversed voltages with diodes.
 

Sanchos

New member
Я обычно пользуюсь для согласования уровней резистором 330 ом и стабилитроном на 3,3 в.
Проверил ваш способ согласования уровней. Получилось следующее: при отсутствии стабилитрона напряжение на пинах RX-GND 3.3В, при подключении стабилитрона (на 3.3В) - падение напряжения до 2.6В. Не вижу преимуществ.
 

msg31

New member
Проверил ваш способ согласования уровней. Получилось следующее: при отсутствии стабилитрона напряжение на
Стабилитрон надо ставить плюсом к общему проводу, минусом к защищаемому входу. А чтобы не было слишком больших токов от выхода высокого напряжения к защищаемому входу нужен резистор около 330 ом.
 

Sanchos

New member
Стабилитрон надо ставить плюсом к общему проводу, минусом к защищаемому входу. А чтобы не было слишком больших токов от выхода высокого напряжения к защищаемому входу нужен резистор около 330 ом.
Если вы имеете ввиду анодом к земле, катодом к защищаемому входу, то я так и делал.
 

msg31

New member
Я такого большого падения напряжения не замечал. Но поскольку на входах ESP8266 стоит защита, то действительно просто резистора достаточно. Хотя я всегда стабилитрон и резистор ставлю на всякий случай и работает.
 

Vova777

New member
Добрый день. У меня есть схема, основанная на приведенной выше. Что скажете, допускается ли такой способ согласования уровней между AVR ATmega16 и ESP8266?Согласование уровней.png
 

msg31

New member
Очевидно, что выход где TX, то есть передача. Кстати ТХ от Atmega должен идти к RX ESP8266, хоть и можно их местами поменять, но как-то привычнее так.
Кстати, почему схема плохая, ведь внутренняя защита есть, а польза от резистора в том, что резистор ограничит ток и не приведет к перегрузке защиты?
Единственное что резистор я бы поменьше поставил, 1-2Ком, например.
 
Сверху Снизу