Перезагрузка системы при зависании, контроль зависании сигнализирует светодиод...
- Войдите на сайт для отправки комментариев
Чт, 26/01/2017 - 15:19
Идея такая... нужно реализовать систему под контролем ардуино, которая следила бы состояния оборудования о наличи зависании...
Алгоритм следующий, у оборудования мигает светодиод сигнал с нее берется транзисторным оптроном PC817 и дает сигнал ардуине, ардуино следит, если нет имений в течении 3 мин то включает реле на 3 сек, реле перезагружает оборудование
Помогите с чего капать...
Идея такая... нужно реализовать систему под контролем ардуино, которая следила бы состояния оборудования о наличи зависании...
Алгоритм следующий, у оборудования мигает светодиод сигнал с нее берется транзисторным оптроном PC817 и дает сигнал ардуине, ардуино следит, если нет имений в течении 3 мин то включает реле на 3 сек, реле перезагружает оборудование
Помогите с чего капать...
Вечером домой как прийду скину вам код как я решил такую проблему. Может быть не совсем правильно но задача была примерно как у вас.
Выход оптрона цепляете на прерывание и при каждом срабатывании обнуляете таймер
При прекращении поступления импульсов, таймер перестанет обнуляться и отсчитает свои 3 минуты.
Таймер можно реализовать "через millis()" или использовать аппаратный.
Также, можно реализовать ограничение перезапусков оборудования - если оно неисправно, какой смысл его перезапускать бесконечно?
С нетерпением буду ждать.....
С нетерпением буду ждать.....
Если будут вопросы могу объяснить что и как тут работает. но вроде я все описал. ошибок возможно тут много и можно реализовать лучше. но мою поставленую задачу я решил этим кодом.
Спасибо! Щя попробую разобраться...
А у вас какая задача стояла системы? Можите разказать подробее....
Спасибо! Щя попробую разобраться...
А у вас какая задача стояла системы? Можите разказать подробее....
задача была набирать емкость водой.
при пустом баке включается насос емкость начинает набираться достигает нижнего уровня а потом верхнего. как достигает верхнего отключается насос. в качестве защиты от перелива в случае неполадки верхнего электрода (например обрыва провода) и использовал такой таймер.
Спасибо! Щя попробую разобраться...
А у вас какая задача стояла системы? Можите разказать подробее....
сейчас я попробую сделать вам образец а вы уже там для себя подберете как вам нужно
Огpомное Вам спасибо, выручаете! столько всего полезного
сейчас код отработывает только один раз. я сам только учусь поэтому я еще посмотрю что можно сделать. Ну а пока посмотрите этот может что свое придумаете
Ильяс, если требуется только отслеживать мигания светодиода, то МК это пушка для воробьев. КР1006ВИ1, 555 таймер это делают проще и дешевле.
Выход оптрона цепляете на прерывание и при каждом срабатывании обнуляете таймер
При прекращении поступления импульсов, таймер перестанет обнуляться и отсчитает свои 3 минуты.
Таймер можно реализовать "через millis()" или использовать аппаратный.
Также, можно реализовать ограничение перезапусков оборудования - если оно неисправно, какой смысл его перезапускать бесконечно?
Таймер - это лишняя сущность.
Прерывание должно запоминать момент, а который оно произошло, а основной цикл - проверять, что с последнего прерывания прошло времени меньше таймаута.
Согласен. Так даже проще.
Постановку задачи другими словами.....
Если не нажималось кнопка в течении 3 мин то включилось реле на 10 сек и этот цикл повторялся 3 раза....
с виду задача фигня но как столкнулся то в ступор встал.... я не программист
Может у кого есть наброски кода))) помогите пожалуйста.....
Посмотрите так
vosara спасибо БОЛЬШОЕ!!!
У меня вопрос. что мне сделать с кодом так чтобы работала наоборот т.е. сейчас система работает таким образом....
если кнопка нажата 3 минуты то включает реле на 10 сек а надо
если кнопка не нажималось 3 минуты то включалось реле на 10 сек...
Заранее спасибо..)
//Если не нажималось кнопка в течении 3 мин то включилось реле на 10 сек и этот цикл повторялся 3 раза....
Если у Вас кнопка при замыкании соединяется с минусом тогда так
vosara Спасибо, ВЫ МОЗГ!!!)
Остался один минус при нажатии кнопки количество перезагрузок обнуляется т.е если осталось 2 попытки перезагрузки при нажатии становиться опять 3 попытки...
Круто было бы если максимальное количество попыток перезагрузки (3) выполнялось раз в сутки, т.е 3 раза включалось реле на 10 сек, следующее тройное включения выполнялось через 24 часа....
Заранее спасибо)
Если я правильно понял задачу тогда так
vosara
Вы новерно меня не совсем поняли)) Да теперь выполняется 3 попытки* ,если в этих попытках не нажималось кнопка то включается цикл (millis() - time2 >= 86400000), но если нажималось кнопка количество перезагрузок обнуляется т.е если осталось 2 попытки перезагрузки при нажатии становиться опять 3 попытки...
Если не понятно то могу снять видео)))
попытка*- включения реле на 10сек.
Поправил!!!
vosara СПАСИБО!!!!!
ВЫ мене очень сильно помогли!!!!
Как я могу вас отблагодарить?
Я рад что все нормально! Форум для того и существует.