Как защитить GPIO при использовании длинных проводов?
Я хочу соединить обычный тумблер с одним из контактов gpios tasmotized esp01 проводом длиной около 20 футов. Когда я пробовал это раньше, я потерял контакт GPIO в основном из-за большого тока, потребляемого от GPIO из-за длинного провода. Как я могу ограничить ток и полностью защитить gpio и esp?
@SHEMIN A SALAM, 👍0
Обсуждение3 ответа
Вы можете использовать резистор с транзистором, чтобы управлять чем-то, что требует большей мощности. Это защитит ваш io pin. Значения зависят от того, что конкретно вы подключаете к выводу io.
Как сейчас написано, ваш ответ неясен. Пожалуйста, [изменить], чтобы добавить дополнительные сведения, которые помогут другим понять, как это относится к заданному вопросу. Дополнительную информацию о том, как писать хорошие ответы, можно найти [в справочном центре](/help/how-to-answer)., @VE7JRO
Вы не говорите, как подключен ваш коммутатор.
Стандартный способ защиты вывода GPIO — это последовательный резистор и, в идеале, пара диодов Шоттки, чтобы закрепить его на шинах питания.
Если вы не ожидаете особенно высокого напряжения или не нуждаетесь в высокой скорости передачи данных, то последовательное сопротивление около 100 Ом является разумным.
Диоды идут от входного контакта к контактам питания и заземления процессора. Они подключены так, что если входное напряжение находится в диапазоне от 0 до 3,3 В, они имеют обратное смещение и не действуют. Но если входной сигнал становится выше VCC или ниже GND, то включается соответствующий диод и фиксирует напряжение. Последовательный резистор ограничивает ток, который может протекать в этой ситуации, и таким образом предотвращает перегрузку диода. На изображении ниже это означает, что контакт 1 BAT54-S (нижний правый) подключается к GND, контакт 2 к 3V3 и контакт 3 к вашему сигналу. Обратите внимание, разные производители иногда нумеруют контакты в разном порядке.
Теоретически диод не нужен. Чип будет включать эквивалентные диоды внутри. Однако они не особенно хороши и будут более подвержены неудачам, рассчитывать на них никогда не стоит. Внешние зажимаются быстрее и сильнее, и их легче заменить, если что-то поджарится.
Просто для ясности: резистор находится снаружи диода. Путь сигнала: Внешний мир — резистор — ограничивающий диод — контакт ESP32.
Спасибо за советы. Я видел еще одно решение для защиты выводов GPIO, которое здесь никогда не упоминалось. Для этого используются оптопары. Анод или катод оптопары можно подключить через переключатель к vcc или земле соответственно. Что касается оптопары, также необходимо будет использовать последовательное сопротивление. GPio и земля подключены к контактам 3 и 4. когда переключатель включен, контакты 3 и 4 соединены.
Ограничение заключается в том, что не все GPIO можно использовать, поскольку некоторые из них необходимо физически заземлить, например контакт Rx esp8266.
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- Какие входные контакты я могу использовать на ESP8266 NodeMCU
- ESP 12 непригодных контактов
- Какие контакты GPIO лучше всего использовать для моего проекта?
- digitalRead не читает входной контакт ESP8266-01
- Реле с активным низким уровнем и контакты ESP8266 GPIO
- Как использовать GPIO ESP-01 для ввода
- Можно ли запитать ESP8266E-12 любым из контактов 3,3 В?
Существуют причины, по которым существуют такие технологии, как RS232, RS485 или петля постоянного тока 4-20 мА, не только для обеспечения изоляции, но и для возможности передачи данных по витой паре на расстояние, с помехоустойчивостью и без ухудшения сигнала., @hcheung