Временные задержки на Включение
- Войдите на сайт для отправки комментариев
Чт, 17/09/2015 - 19:18
Доброго всем времени суток. Я новичек на сайте. Подскажите как мне организовать такую штуку. Есть датчик на входе который подает HIGH и два выхода на корых реле пуска и реле стопа двигателя. Смысл в чем: на вход подаётся кратковременный сигнал - на реле пуск подаётся сигнал длиной 2-3 секунды и через 3 минуты подаётся сигнал на реле стоп длительностью 1 сек. Особенность в том что при повторной подаче сигнала на вход - на выходе пуска сигнал не подается, но отсчет 3 минут начинается заново. Сижу уж две ночи разбираюсь с функцией mills так ни чего не получалось.
Привет. Ваш вопрос не содержит вопросов. Покажите ваши наработки. Текст программы (скетч). Рисунок, схему того о чём речь. Функция millis возвращает количество миллисекунд с момента включения и больше ничего не делает.
Как только Вы из того, что тут написали составите правильный алгоритм, все сразу встанет на свои места. Реализация любого алгоритма возможна многими способами и это уже простая механика. Просто возьмите блокнот и карандаш и нарисуйте алгоритм.
Из набросок скейча только входа и выхода, не знаю какую функцию использовать в данном случае
недостаточно данных для корректной работы алгоритма.
Например, эту фразу как воспринимать: на реле пуск подаётся сигнал длиной 2-3 секунды и через 3 минуты подаётся сигнал на реле стоп длительностью 1 сек?
Вот так: на реле №1 "пуск" подаётся сигнал длиной 2-3 секунды и через 3 минуты подаётся сигнал на реле№2 "стоп" длительностью 1 сек
Или вот так: на реле подаётся сигнал "пуск" длиной 2-3 секунды и через 3 минуты на реле подаётся сигнал "стоп" длительностью 1 сек
В первом случае два реле (замыкающее и размыкающее), во втором - одно, которое просто включается-выключается.
3 минуты отсчитывается с момента сигнала "пуск", или с того момента, как прошло 3 секунды?
Особенность в том что при повторной подаче сигнала на вход - на выходе пуска сигнал не подается, но отсчет 3 минут начинается заново.
Чья это особенность? Это жесткие условия ТЗ или глюк твоего кода?
Всем доброго времени суток. Давно не появлялся, да и не было времени.... Решил добить вопрос до конца.
Чтобы понятно было я нарисовал схемку как я зацепил на ардуину.
Cуть процесса такая: В нормальном положении все входа и выхода выключены.
При появлении на входе 2 сигнала (он имееет разные характеристики, может быть кратковременным, может долго держаться, может несколько раз появляться и потухать, это датчик)
На выходе 3 появляется сигнал который держится определенное время( 2-3 сек) а затем потухает, оборудование запускается и работает
По истечении заданного интервала (45сек--3мин), если на входе 2 больше не появляется сигнал, то включается выход 4 (1 сек), оборудование останавливается и переходит в режим ожидания старта. Если появляется сигнал то отчет времени до срабатывания выхода 4 продлевается на заданный интервал.
еще один момент, что при уже работающем обарудовании и срабатывании входа 2, сигнал не должен появится на выходе 3. Щас сделаю наброску скейча с буленами и условиями
Вот код посмотрите вроде так как Вы говорили, единственное Вы не указали что делать если START отработал а датчик продолжает сигналить, в связи с этим STOP отработать не может. Должен ли START снова реагировать на датчик или ждать отработки STOP. В этом коде мы не ждем STOP а продолжаем регировать.
Cпасибо, щас проверю
ВСЕ СУПЕР. Только получается что при повторном срабататывании датчика, во время работы оборудования, запускается реле старта
В описании к коду я и написал что так будет, потому что не знаю как надо. А если START не должен запускаться пока не отработает STOP то код нужно немного подправить.
21ю строчку замените на
if (digitalRead(SB1) == HIGH && WORK == 0 && fl_stop == 0) //Сработал датчик -сменили переменную
Спасибо огромное. Я уже начал чуть чуть понимать как это работает