Простая сложная задачка

varvik85
Offline
Зарегистрирован: 28.01.2013

Здравствуйте!Появилась необходимость в простом устройстве, оно представляет из себя поворотный механизм. Все просто, два концевика, устройство поворачивается то в одну сторону то в другую, нажимая на концевик. Казалось бы очередная банальшщина но...затаилась у меня мысль, а что если вдруг концевик не сработает, ну или выйдет из строя? Нельзя ли сделать отслеживание операции по времени? Время поворота примерно известно и всегда одинаково. Как сделать так, чтоб программа следила за состоянием датчика ( концевика) и если он не сработает допустим через 10 сек то отключала бы устройство сигнализируя об ошибке? Наверно нужно как то примастить millis(), но я ее не использовал ни разу. Гуглил я гуглил и ничего не нагуглил. Может уважаемые знатоки программисты подскажут как реализовать или где почитать?

Клапауций 666
Offline
Зарегистрирован: 10.11.2015

varvik85 пишет:

а что если вдруг концевик не сработает, ну или выйдет из строя?

сработает - промышленные концевики разрабатываются с учётом специфики их применения в ответсвенных узлах оборудования, когда от их надёжности зависит жизнь человека и сохранность дорогостоящего оборудования.

если есть желание дублировать безопасность, ставь датчик крайнего положения и, если по каким либо причинам устройство пересечёт этот датчик и не остановится - аварийный концевик, напрямую отрубающий питание от двигателя привода оборудования.

поисковые запросы в гугле [датчик положения] [концевик]

концевики:

varvik85
Offline
Зарегистрирован: 28.01.2013

Спасибо большое, но по мимо вероятности того, что не сработает датчик, существует вероятность, что вся конструкция может каким либо образом видоизмениться в процессе эксплуатации ( разболтается, раскрутиться и т.п), ну и интересно все же понять, как реализовать данную задачу? Еще вопрос, как можно выполнять две процедуры параллельно на ардуино? или такой возможности нет?

Клапауций 666
Offline
Зарегистрирован: 10.11.2015

varvik85 пишет:

Спасибо большое, но по мимо вероятности того, что не сработает датчик, существует вероятность, что вся конструкция может каким либо образом видоизмениться в процессе эксплуатации ( разболтается, раскрутиться и т.п), ну и интересно все же понять, как реализовать данную задачу? Еще вопрос, как можно выполнять две процедуры параллельно на ардуино? или такой возможности нет?

регулярный техосмотр ещё никто не отменял.

я сказал выше, что делать - датчик положения, аварийный концевик.

*считать время поворота... ну, считай - кто же запрещает? обнуляй флаг каждые 10 секунд, если флаг не обнулится - включай тревогу.

код за тебя никто писать не будет.

varvik85
Offline
Зарегистрирован: 28.01.2013

Клапауций 666 пишет:

 обнуляй флаг каждые 10 секунд,

мне не нужен весь код, мне бы понять как отсчитывать 10 секунд

Клапауций 666
Offline
Зарегистрирован: 10.11.2015
varvik85
Offline
Зарегистрирован: 28.01.2013

а millis() через 50 дней не переполняется ? что будет через это время?

Клапауций 666
Offline
Зарегистрирован: 10.11.2015

varvik85 пишет:

а millis() через 50 дней не переполняется ? что будет через это время?

переполняется.

чему равно millis() в момент переполнения?

http://arduino.ru/Reference/Millis

что нужно делать в момент переполнения millis()?

varvik85
Offline
Зарегистрирован: 28.01.2013

спасибо) теперь до меня дошло) жму руку