Как защитить GPIO при использовании длинных проводов?

Я хочу соединить обычный тумблер с одним из контактов gpios tasmotized esp01 проводом длиной около 20 футов. Когда я пробовал это раньше, я потерял контакт GPIO в основном из-за большого тока, потребляемого от GPIO из-за длинного провода. Как я могу ограничить ток и полностью защитить gpio и esp?

, 👍0

Обсуждение

Существуют причины, по которым существуют такие технологии, как RS232, RS485 или петля постоянного тока 4-20 мА, не только для обеспечения изоляции, но и для возможности передачи данных по витой паре на расстояние, с помехоустойчивостью и без ухудшения сигнала., @hcheung


3 ответа


0

Вы можете использовать резистор с транзистором, чтобы управлять чем-то, что требует большей мощности. Это защитит ваш io pin. Значения зависят от того, что конкретно вы подключаете к выводу io.

,

Как сейчас написано, ваш ответ неясен. Пожалуйста, [изменить], чтобы добавить дополнительные сведения, которые помогут другим понять, как это относится к заданному вопросу. Дополнительную информацию о том, как писать хорошие ответы, можно найти [в справочном центре](/help/how-to-answer)., @VE7JRO


0

Вы не говорите, как подключен ваш коммутатор.

Стандартный способ защиты вывода GPIO — это последовательный резистор и, в идеале, пара диодов Шоттки, чтобы закрепить его на шинах питания.

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

Диоды идут от входного контакта к контактам питания и заземления процессора. Они подключены так, что если входное напряжение находится в диапазоне от 0 до 3,3 В, они имеют обратное смещение и не действуют. Но если входной сигнал становится выше VCC или ниже GND, то включается соответствующий диод и фиксирует напряжение. Последовательный резистор ограничивает ток, который может протекать в этой ситуации, и таким образом предотвращает перегрузку диода. На изображении ниже это означает, что контакт 1 BAT54-S (нижний правый) подключается к GND, контакт 2 к 3V3 и контакт 3 к вашему сигналу. Обратите внимание, разные производители иногда нумеруют контакты в разном порядке.

Теоретически диод не нужен. Чип будет включать эквивалентные диоды внутри. Однако они не особенно хороши и будут более подвержены неудачам, рассчитывать на них никогда не стоит. Внешние зажимаются быстрее и сильнее, и их легче заменить, если что-то поджарится.

Просто для ясности: резистор находится снаружи диода. Путь сигнала: Внешний мир — резистор — ограничивающий диод — контакт ESP32.

Распиновка диода BAT54

,

1

Спасибо за советы. Я видел еще одно решение для защиты выводов GPIO, которое здесь никогда не упоминалось. Для этого используются оптопары. Анод или катод оптопары можно подключить через переключатель к vcc или земле соответственно. Что касается оптопары, также необходимо будет использовать последовательное сопротивление. GPio и земля подключены к контактам 3 и 4. когда переключатель включен, контакты 3 и 4 соединены.

Ограничение заключается в том, что не все GPIO можно использовать, поскольку некоторые из них необходимо физически заземлить, например контакт Rx esp8266. Защита оптопары для переключателя GPIO

,