Безопасный Arduino
Я хочу прочитать RFID-тег с помощью Arduino, который управляет некоторыми реле. Это легко.
Для меня более сложной задачей является создание отказоустойчивости. Поэтому я подумал, что смогу использовать сторожевого пса. Сложность в том, что мой модуль реле должен сохранять определенное состояние (изменение состояния происходит редко), независимо от того, что происходит с Arduino.
Моей первой мыслью было поставить на реле несколько конденсаторов. Рассчитайте компонент RC так, чтобы он мог продержаться в течение времени ожидания сторожевого таймера и загрузки.
Теперь существует проблема: модуль реле сохраняет свое состояние во время загрузки. Думаю, я не смогу использовать подтягивающий/понижающий резистор, поскольку состояние реле может быть случайным: низким или высоким.
Моя вторая мысль заключалась в использовании реле с защелкой. Но у этого метода есть тот недостаток, что он, вероятно, может скрыть проблемы. Например, если Arduino умер, а реле-защелка удерживает определенное состояние, это маскирует проблему. В этом случае заметить неисправный Arduino невозможно.
По этим причинам я считаю, что конденсаторы лучше?
Осуществимы ли эти идеи? Есть ли более простые способы сделать это?
Есть ли еще проблемы, о которых стоит подумать?
(Я уже читал о миллисе на странице gammon. Судя по всему, это не проблема.)
@duedl0r, 👍0
Обсуждение1 ответ
Лучший ответ:
Рассмотрите возможность ограничения вашего дизайна четкими требованиями. Поскольку маловероятно, что какая-либо конструкция сможет защитить себя в любых ситуациях.
мой модуль реле должен сохранять определенное состояние (изменение состояния происходит редко), независимо от того, что происходит с Arduino
Рассмотрим реле с фиксацией, в которых есть катушка установки и катушка сброса. Например, этот. Такое устройство не нуждается в постоянном питании. Только импульсный для установки и импульсный для сброса.
Поэтому я подумал, что могу использовать сторожевой таймер.
Сторожевые таймеры хороши, если ваша программа может застрять в ожидании события, которое может никогда не произойти. Это как ожидание чтения данных с RFID-чипа. Если вы считаете, что это может произойти, добавьте в свой дизайн сторожевой таймер.
Теперь существует проблема: модуль реле сохраняет свое состояние во время загрузки.
Большинство встроенных процессоров с двунаправленными контактами GPIO принудительно используют эти контакты в качестве входов при загрузке. Это выглядит как высокий импеданс для внешнего мира. Рассмотрите возможность использования подтягиваний вверх или вниз на этих контактах, чтобы предотвратить их переход в состояние, которое может привести к изменению состояния реле во время загрузки процессора.
Да, ты совершенно прав. Мои требования не ясны. Даже я в них не уверен. Хорошая точка зрения. Я думал о временной защелке. Если я перейду в состояние по умолчанию, ничего не произойдет, и я смогу обнаружить проблему. Если есть состояние, отличное от значения по умолчанию, я хочу быть уверен, что оно правильное., @duedl0r
- Причины, по которым нельзя подключать реле непосредственно к цифровому контакту Arduino
- Несколько неблокирующих таймеров обратного отсчета?
- Управление регулятором вентилятора от Arduino
- Какой релейный модуль купить и в чем разница между 1-канальными и 2-канальными релейными платами
- ESP8266 отключается через несколько часов
- Можно ли подключить вывод релейного модуля к аналоговым выводам arduino вместо цифрового вывода?
- Управление двигателем Arduino Uno с помощью 2 реле, 2 концевых выключателей и Bluetooth. Вперед Назад Стоп
- Реле для управления двигателем водяного насоса
Пожалуйста, объясните, почему и где вам понадобится резистор повышения/понижения., @per1234
вы противоречите сами себе в своих утверждениях.........
модуль реле должен сохранять определённое состояние (изменение состояния происходит редко), что бы ни случилось с ардуино
........иесли ардуино умерло, а реле-защелка удерживает определенное состояние, это маскирует проблему
, @jsotolaЭто невозможно решить. Вы должны уметь обнаруживать все проблемы во всем. Когда провод катушки RFID рвется или замыкается, как это можно обнаружить? Детектор дыма может обнаружить дым и низкое напряжение аккумулятора. Вот и все. Чтобы сделать его надежным, необходим детектор дыма хорошего качества, который следует проверять каждый месяц (в некоторых руководствах указано: каждую неделю). Для начала вам понадобится оборудование и программное обеспечение самого высокого качества., @Jot
@jsotola: это связано с неясными требованиями. Я не был уверен в них. Подумав еще немного: я думаю, что хочу сохранить состояние только в течение определенного периода времени. Достаточно времени, чтобы ардуино восстановилось. Или же перейти в состояние по умолчанию, где ничего не происходит, и я вижу проблему. Если состояние остается бесконечным, то мне не так-то легко увидеть проблему., @duedl0r
@jot: Я думаю, единственное требование, которое у меня есть: если считыватель RFID сообщает мне, что он прочитал определенную метку, это должно быть правдой. если он потерпит неудачу, ничего не будет работать, и я смогу обнаружить проблему. Я думаю, что с помощью временной фиксации я смогу перейти в состояние по умолчанию, где я выключу модуль реле. Так что я надеюсь, что со мной все будет в порядке., @duedl0r