Перейти к содержанию
    

Здравствуйте!

Имеется два SIM800C(EAT), два DC регулятора MIC29302WU, и ESP32 запитанный через lm1117-3.3v.

Необходимо параллельно через UART общаться с двумя SIM800C.

Пытаюсь подключиться по данной схеме

v1.jpg.be32c3763b0fcf4dc6b36175b85f3ea4.jpg

Вот таким образом

parallel_uart.thumb.png.1094d4bd1d17a874178b1a09ef31ffdd.png

Но работает только до тех пор, пока оба модуля SIM800C активны. Если один из них лишить земли или отключить питание (оставив землю), то связь пропадает. Восстановив землю или питание модуль не видит данных на контакте RX.

На обоих модулях контакты RX и TX подтянуты к VCC внутренними резисторами, на них всегда 2.4V. У ESP32 вроде бы по умолчанию он просто болтается в неопределенном состоянии, и рекомендуется подтянуть этот пин к линии питания что я и сделал.

Бывает отключение одного из модулей влечет за собой "панику" ESP32 и он перезагружается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что говорит осциллограф? 
Отключенное устройство может садить на землю передачу для всех.

Но всё же для начала картинки потом думать как это решить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, MegaVolt said:

Что говорит осциллограф? 
Отключенное устройство может садить на землю передачу для всех.

Но всё же для начала картинки потом думать как это решить.

Осциллограф говорит - купи меня, дурачок 🙂

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда мультиметр и статические уровни на выходах....
Отдолжить у друзей осцил, или логический анализатор простейший за пару баксов с али...

Если гадать то выход который расходится на кучу микросхем может просаживаться выключенной платой. Хорошо бы последовательно перед каждой платой поставить резистор. Может спасёт...

Если же просаживается передача с плат то даже не знаю чем лечить... можно теми же резисторами последовательно но нужно убедится что логическое ИЛИ работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем подрубил обычный TTL конвертер и глянул что там вообще на линиях происходит в момент отключения питания одного из модулей SIM800. Там начинается спам, вероятно от того и ESP32 в панику уходит, так как его UART буфер переполняет. Видимо со схемой все нормально, нужно только подумать как избавиться от этого "спама". Как думаете, чем он может быть вызван?

Кстати, как я и говорил ранее, если потом снова включить второй модуль, то связи уже нет. Что ж такое то а..

UPD

При отключении одного из модулей иногда TTL конвертер перестает передавать данные.

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

Изменено пользователем maddogmaycry

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 минут назад, maddogmaycry сказал:

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

Потому как этим колхозом подаёте паразитное питание на TX или RX отключенных модулей. Это может быть чревато не только "спамом". Такое в принципе недопустимо при грамотном построении схемы.

Можно конечно навесить резисторов для ограничения паразитных токов питания, но лучше выкинуть весь диодно-резисторный колхоз и поставить какие-то буферные элементы. Например: транслятор уровней или гальванический изолятор. Одну сторону транслятора/изолятора запитать от питания мастера, другую - от коммутируемого SIM800.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 minutes ago, jcxz said:

Потому как этим колхозом подаёте паразитное питание на TX или RX отключенных модулей. Это может быть чревато не только "спамом". Такое в принципе недопустимо при грамотном построении схемы.

Можно конечно навесить резисторов для ограничения паразитных токов питания, но лучше выкинуть весь диодно-резисторный колхоз и поставить какие-то буферные элементы. Например: транслятор уровней или гальванический изолятор. Одну сторону транслятора/изолятора запитать от питания мастера, другую - от коммутируемого SIM800.

Вы имеете ввиду гальваническую развязку оптронами или что то подобное? Или транзисторами?

Резисторами колхозить имеется ввиду последовательно от пина RX и TX как то попытаться подобрать номинал резистора?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На Вашей схеме, насколько понял, два питания - процессор от 3.3 и SIM от 5 В. Следует использовать мс преобразователя уровня.

Какой "сокральный" смысл в установке на выходе 3.3 вольтового  ESP, линия TX (pin 35) делителя ?    + То что указал jcxz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, k155la3 said:

Какой "сокральный" смысл в установке на выходе 3.3 вольтового  ESP, линия TX (pin 35) делителя ?    + То что указал jcxz

Что бы получить рекомендуемые значения напряжения из даташита SIMCOM на пине RX. Они там вроде 2.2 ~ 2.4 не помню уже.

1 hour ago, k155la3 said:

На Вашей схеме, насколько понял, два питания - процессор от 3.3 и SIM от 5 В. Следует использовать мс преобразователя уровня.

4.0 и 3.3. А линия UART 2.2В~2.4В у SIMCOM и 2.4В у ESP32. Точных цифр не помню. Надо искать в дате.

UPD

В общем скорее всего попробую при помощи транзистора (вероятно нужен PNP) развязать TX симкома от RX ESP32.

Изменено пользователем maddogmaycry

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я бы поставил 74LVC1G125GW преобразователи уровня а заодно есть вход управления OE, можно разруливать ситуации .

И на ТХ тоже бы их поставил , чтоб отсечь влияние на ТХ , когда модем выключен.

Ну или можно использовать КМОП сдвоенный мультиплексор 1х4. У них широкий диапазон по входному напряжению.

По схеме смотрю - свободных пинов для управления много, поэтому лучше сделать коммутируемый опрос устройств и управление.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Представляется, самым простым решением будет вместо диодов поставить один четырех-входовый логический элемент "И".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

49 minutes ago, vladec said:

один четырех-входовый логический элемент "И".

который должен быть open collector и с pull up резисторами притянутым к питанию каждого sim800

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно: Автора не смущает, что на U3 и U4 может рассеиваться до 16 Вт в пике?

Это конечно если на выходе U3 и U4 = ~4V (из даташита MIC29302 вроде как нигде не следует, что его можно включать без резисторов на входе ADJ, как показано у ТС). Реально так работает или всё-таки - ошибка в схеме?

9 часов назад, vladec сказал:

Представляется, самым простым решением будет вместо диодов поставить один четырех-входовый логический элемент "И".

......который посадит линию RXD0 ESP32 на 0 как только любой из SIM800 будет обесточен. Конечно супер "решение".  :biggrin:

8 часов назад, Michael58 сказал:

который должен быть open collector и с pull up резисторами притянутым к питанию каждого sim800

Да хоть closed collector. Как только любой SIM800 будет обесточен, на RXD0 ESP32 получите стоящий колом "0".

 

PS: Это уже не говоря о том, что ESP32 - это не простой МК. А SoC. У которого в мануале даже не оговорено начальное (reset) состояние для всех пинов. Про некоторые ничего не известно в каком они состоянии буду после RESET. Или при входе в boot. А значит - запросто могут оказаться включёнными навстречу вашим "логическим элементам".

Грамотно выполненная схема на ESP32 имхо должна иметь последовательные резисторы ~50-100 Ом на всех входах, на которые приходят внешние логические сигналы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

PPS: Также остаётся неясным назначение безымянного резистора 10K между GND и +3.3V. На кой? :scratch_one-s_head:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 hours ago, jcxz said:

Это конечно если на выходе U3 и U4 = ~4V (из даташита MIC29302 вроде как нигде не следует, что его можно включать без резисторов на входе ADJ, как показано у ТС). Реально так работает или всё-таки - ошибка в схеме?

Данная схема накинута для вопроса на форуме.

20 hours ago, jcxz said:

 

PPS: Также остаётся неясным назначение безымянного резистора 10K между GND и +3.3V. На кой? :scratch_one-s_head:

Но я ответил выше. Подтяжка. Номиналы резистора там просто для галочки, так как требуется 2.4V.

Изменено пользователем maddogmaycry

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...