Лучший способ защитить цифровой выход?
Я ищу способ защитить цифровые выходы моего Arduino от нежелательных внешних напряжений. В моем проекте используется около 20 различных выходов, каждый из которых подключен к проводу (трассе), длина которого может варьироваться от 20 до 100 футов (я использовал кабель категории 5, при этом каждый внутренний провод (выбранный случайным образом) предназначен для одного цифрового входа, выхода, +5, +9 или заземление.) Есть хорошее изменение, заключающееся в том, что внешнее напряжение может влиять на эти цифровые выходы (или любой другой контакт или провод питания.)
У меня есть хороший ресурс по защите цифровых входов, но я не знаю, как защитить цифровые выходы. Каждая из них должна быть в состоянии как соединить соединительный компонент с землей, так и поднять его до 5 вольт (правильно ли я говорю?)
Это должно защитить цифровые выходы от короткого замыкания или скачков напряжения 12 В.
Как построить эту схему?
Редактировать: мне сложно описать эту проблему, не упомянув об опасности для всех компонентов.
Обратите внимание, что способы защиты цифровых входных данных приведены ЗДЕСЬ.
@Hoytman, 👍1
4 ответа
Добавьте в цепь резистор для ограничения тока в случае короткого замыкания.
Добавьте ограничивающий диод, чтобы предотвратить напряжение выше 5 В (вместе с резистором, который использовался ранее). В AVR есть внутренние фиксирующие диоды, но они могут работать только с очень небольшим током. Поскольку вы используете такие длинные провода, вам, вероятно, потребуется добавить резистор с наименьшим номиналом, чтобы ограничить шум.
PS Меня очень беспокоит возможность подачи внешнего напряжения на выходной звук.
Некоторые хорошие результаты можно получить с помощью оптопары.
Он электрически отсоединяет одну часть вашей цепи от другой.
Например, вот мое IoT-устройство, которое обнаруживает протечки воды в моей ванной:
Я использую трансформатор (Т1), который имеет две отдельные выходные обмотки, так что обмотки не связаны электрически, только магнитно. Блок в бордюре "Датчик" не имеет проводов с другой схемой - только магнитное поле, которое питает его, и инфракрасный свет в оптроне (u2, PC817), который информирует ESP01 о наличии утечки.
Как это работает? Очень простой! Когда вода закорачивает JP1 (длинные оголенные провода на полу), Q1 открывается и загорается ИК-диод в PC817. Свет от этого диода открывает другой транзистор — и опускает контакт RxD ESP01.
Небольшой скетч, написанный на Arduino для ESP8266, периодически отправляет состояние контакта по HTTPS
на мой веб-сервер , где программное обеспечение для мониторинга, Nagios, проверяет возраст информации и состояние вывода и отправляет мне уведомления, когда что-то идет не так .
Можете ли вы добавить немного больше деталей, пожалуйста? По сути, это ответ только по ссылке, в котором говорится, что ссылка решит ваши проблемы., @Nick Gammon
@NickGammon - Готово!, @gbg
Обратитесь к своему любимому поставщику автомобильных полупроводников, например к ST. В автомобильных списках вы найдете драйверы, которые будут делать именно то, что вы хотите, и если короткое замыкание будет отключено и вернется, когда короткое замыкание будет устранено. Я не собираюсь давать рекомендации, так как есть буквально сотни возможностей. Они приходят от 1 драйвера на единицу до 8, которые было бы легко купить. У них есть параллельный и последовательный интерфейсы в зависимости от того, что вы хотите. Если вы хотите быть неприятным, купите драйвер на 50 ампер и поместите за ним огромный источник питания, а затем наслаждайтесь внешним видом и дымом при коротком замыкании, и вы смеетесь последним, с вашим Arduino все будет в порядке. Веселиться!
См. 10 способов уничтожить Arduino
Одно из предложений относительно выходных контактов было таким:
Подключите сбрасываемый предохранитель (PTC) на 30 мА последовательно к каждому контакту ввода/вывода. Мало того, что ток безопасно ограничен до 30 мА при любых условиях (подробнее об этом ниже), но и встроенное сопротивление предохранителя 220 Ом естественным образом сразу же ограничивает ток до 5 В/220 = 23 мА.
Вы также можете ознакомиться с некоторыми предложениями по вопросу о защите входных контактов, которые могут помочь предотвратить скачки напряжения в выходных цепях.< /p>
- Параллельное чтение нескольких выводов DI как одного байта/слова
- Какое напряжение и ток может потреблять цифровой вход Arduino Uno?
- Использование контактов NodeMCU D8 (GPIO15), D4 (GPIO2) и D3 (GPIO0).
- Могу ли я использовать выход 3,3 В Arduino напрямую к esp8266?
- ArduinoMEGA: 64 цифровых входа вызывают случайные значения digitalRead
- Подключите Arduino Uno RX/TX к GPS-модулю 3,3 В NEO-M8N.
- Пороговые напряжения цифрового ввода-вывода для ATmega32u4
- Как сканировать сигнал HIGH на digitalRead во время основного цикла, одновременно выполняя другие задачи?
Меня тоже беспокоит возможность наличия внешнего напряжения. Мои схемы доступны для других «техников», которые отключают / снова подключают их, не отключая все. Существует вполне реальная вероятность того, что 12-вольтовый провод коснется цифрового входа, цифрового выхода, 5-вольтового провода питания или земли Arduino. Я обсудил это с ними и боссом, и ответ состоит в том, чтобы построить цепь, которая не будет повреждена такими вещами., @Hoytman
Просто добавьте провод 220В. Таким образом, они необходимы, чтобы выключить все. Это защитит остальную часть схемы от идиотов, которые возятся с цепью, находящейся под напряжением. д-:, @Gerben
Я бы с удовольствием, но Arduino — это часть драматической сцены, поэтому техники должны быть очень быстрыми и действительно безопасными., @Hoytman
Связано с: [лучший способ защитить цифровой или аналоговый вход от 12 вольт] (http://arduinoprosto.ru/q/13126/best-way-to-protect-a-digital-or-analog-input-from -12 вольт) от @Hoytman, @Nick Gammon
Следует ли использовать одну и ту же конфигурацию для входов и выходов?, @Hoytman
@Hoytman - вы задали тот же вопрос в другой ветке. Это немного сбивает с толку, спрашивая в одном потоке о входах, а в другом о выходах, а затем в * обоих * потоках спрашивая об альтернативе (выход/ввод). Это распространяет ответы по нескольким потокам, что сбивает с толку., @Nick Gammon
Ваше право, я попрошу, чтобы ответы соответствовали названию темы., @Hoytman
Конфигурация, упомянутая в другом потоке, в которой резистор 1 кОм последовательно с сигналом, не будет так хорошо работать для выхода. Для начала, в соответствии с законом Ома, он ограничит величину тока, который он может подавать или потреблять, до 5 мА. Если вывод представляет собой что-то вроде последовательного порта, это может не иметь значения. Если вы пытаетесь включить реле или светодиод, это может оказаться ограничением., @Nick Gammon
Будет ли хорошей идеей использовать ту же конфигурацию, но поэкспериментировать со значениями, пока я не найду то, что работает?, @Hoytman
@Hoytman Не могли бы вы использовать транзистор для его включения и выключения, а также добавить подтягивающий резистор, чтобы притянуть провод к земле после его выключения, и диод для защиты транзистора?, @Avamander