Надежность ардуино для 24-часового использования-без зависания?

mu_ssina
Offline
Зарегистрирован: 30.08.2013

Всем привет! Было бы интересно выслушать опыт людей... Суть вопроса такова: насколько ардуина надежна для обеспечения работы важных проектов - полива и т.д. Случаются ли зависания? Насколько часто?

mu_ssina
Offline
Зарегистрирован: 30.08.2013

P.S. в крайнем случае можно было бы конечно увеличить надежность-например 2 ардуины. Одна- выполняет функционал, а вторая- просто сколько то  раз каждую секунду посылает запрос первой и ждет ответа. Есть ответ- значит не висит. Нет ответа- принудительно перезагружает ее. 

А вот если контролирующая ардуина зависнет-тода да..бяда :-))))

Ну это так- измышления пока что...А на деле как? Есть зависы? Насколько критично много?

MaksMS
Offline
Зарегистрирован: 11.03.2013

В любом современном микроконтроллере  имеется ватчдог - не надо тут ничего городить из 2 ардуин

mu_ssina
Offline
Зарегистрирован: 30.08.2013

ок...поясните что он делает и как это работает в нештатной ситуации?

MaksMS
Offline
Зарегистрирован: 11.03.2013

mu_ssina пишет:

ок...поясните что он делает и как это работает в нештатной ситуации?

 

http://ru.wikipedia.org/wiki/Сторожевой_таймер

mu_ssina
Offline
Зарегистрирован: 30.08.2013

ок. спасибо:-). Но я так и не услышал по ардуине-бывает что виснет? сбоит?

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

MaksMS
Offline
Зарегистрирован: 11.03.2013

При нормальных условиях(нормальное электропитание и НЕкривой скетч и библиотеки) работает без сбоев.Чему там виснуть ?)

sds
Offline
Зарегистрирован: 29.10.2012

Сама по себе она виснуть/тупить не будет, если не будет рядом больших помех

А вот прикладная программа легко может таких висяков наделать, что ай-ай наступит быстро

toc
Offline
Зарегистрирован: 09.02.2013

>> резервное сохранение текущего состояния системы
можно сделать в eeprom. Только не очень часто.

>> А вот если контролирующая ардуина зависнет-тода да..бяда :-))))
Сделай кластер. Обе ардуины следят друг за другом. При одновременном старте проводят выборы "кто главная (master)". Мастер всё проверяет и работает, регулярно сообщает второй ардуине (slave, "раб") типа "всё ок".   ... и так далее

toc
Offline
Зарегистрирован: 09.02.2013

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

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

mu_ssina пишет:

Всем привет! Было бы интересно выслушать опыт людей... Суть вопроса такова: насколько ардуина надежна для обеспечения работы важных проектов - полива и т.д. Случаются ли зависания? Насколько часто?

Почему вы предполагаете, что дуино может зависнуть - она может просто выйти из строя по миллиону причин в любой момент времени с вероятностью 100%.

axill
Offline
Зарегистрирован: 05.09.2011

делал видеонаблюдение на IP камерах с подключением по WIfi. Камеры не проф, обычные домашние, пробовал разные - все как одна рано или поздно виснут (может не виснут, но их клинит и с них больше не идет запись). И ведь не важно когда это произойдет через день или месяц - все равно плохо. Решение нашел простейшее включил камеры в недельные таймеры (такие коробочки по 200р из леруа мерлен у которых програмируется включение-выключение). Запрограмировал выключение и включение (получается минутный интервал отключения) и все - с тех пор годами камеры работают работают и работают.

Вы точно также можете сделать в простом варианте с ардуиной - вне зависимости ни от чего перегружать ее в какое-то время когда от этого нет вреда.

А если конечно делать грамотно, то надо очень качественно прорабатывать 1. вопрос питания 2. вопрос экранирования от помех 3. вопрос качества ардуины/шилдов/соединений. 4. проверять и еще раз проверять свой скетч на предмет отсутствия накапливающихся ошибок. И поверх всего этого грамотно програмировать watchdog timer

зависнуть ардуина может в 99% по одной из трех причин 1. помехи (чаще всего по питанию, но могут и от датчиков придти если датчики с длинными проводами) 2. ошибки в скетче 3. сбои в электронной части - потеря контакта, замыкание, выход из строя электронного компонента

 

souchkov
Offline
Зарегистрирован: 04.02.2013

у меня мега отрубается когда начинаю шилдом с 8 релюшками играться... причем если коммутирует низкое напряжение, то все в порядке.... а если 220В то периодически вырубается... причем достаточно часто... пока не разбирался как побороть, делаю железную часть проекта. Если кто то разобрался, буду премного благодарен. :)

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

souchkov пишет:
Если кто то разобрался, буду премного благодарен. :)

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

souchkov
Offline
Зарегистрирован: 04.02.2013

на ардуино и на релюшки вообще разные блоки питания стоят.... не все так просто (

MaksMS
Offline
Зарегистрирован: 11.03.2013

souchkov пишет:

у меня мега отрубается когда начинаю шилдом с 8 релюшками играться... причем если коммутирует низкое напряжение, то все в порядке.... а если 220В то периодически вырубается... причем достаточно часто... пока не разбирался как побороть, делаю железную часть проекта. Если кто то разобрался, буду премного благодарен. :)

 

Как "вырубается" ??

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

souchkov пишет:

на ардуино и на релюшки вообще разные блоки питания стоят.... не все так просто (

"разные" - это "один китайский, а второй, тоже, китайкий?".

souchkov
Offline
Зарегистрирован: 04.02.2013

Виснет......

А что у нас не китайского сейчас ????? Своего то, не производим )

обычные блоки, с переключалкой напряжения и кучкой разъемов....

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

souchkov пишет:

Виснет......

А что у нас не китайского сейчас ????? Своего то, не производим )

обычные блоки, с переключалкой напряжения и кучкой разъемов....

Т.е. тупо не желаем вникать в схемотехнику правильного питания, потому как "своего ничего не производим, а российский мосг не в состоянии проникнуть в чёрный ящик китайскога блока питания"?

souchkov
Offline
Зарегистрирован: 04.02.2013

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

релюхи вот такие.

http://www.sainsmart.com/arduino-compatibles-1/relay/8-channel-relay/8-c...

если подскажите в какую сторону рыть, и что значит правильное питание, буду признателен )

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

Если заметили, как устроено в более-менее нормальных блоках питания - блочно: сеть 220V -> сетевой фильтр -> преобразовательная часть блока питания -> снова фильтрующая схема(что бы не шли помехи в блок питания и отсекался мусор преобразования напряжения) -> далее: процессорное питание разделено от силового дросселями, на силовые контакты реле навешены конденсаторы для гашения переходных импульсов, при включении/выключении нагрузки, на катушку реле ставить диод...

здесь пытался не дать готовый вариант решения, но помочь выявить причину безобразия. http://arduino.ru/forum/programmirovanie/elektromagnitnye-navodki

souchkov
Offline
Зарегистрирован: 04.02.2013

понял, спасибо... будем рыть дальше...

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Мммм.. дело не в блоке питания...

зависание происходит потому что проц уходит в бесконечный ресет-режим перепрошивки...

нужно ему  ногу подвешивать воздухе которая ресет и тогды он начинает работать годами

сам над ентой фигней разбирался целый день :)

souchkov
Offline
Зарегистрирован: 04.02.2013

С ногой тоже попробую, но и от помех надо избавлятся... Кстати, ферритовые кольца, есть смысл одеть на сигнальные провода к релюшкам?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

souchkov пишет:

С ногой тоже попробую, но и от помех надо избавлятся... Кстати, ферритовые кольца, есть смысл одеть на сигнальные провода к релюшкам?

да не в помехах дело!

если вы не в курсе то эти же самые камни используются в сурьезных индустриальных решениях..

мне видится это так..

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

zhuki
Offline
Зарегистрирован: 12.10.2011

Прошлую зиму жил на даче . Система отопления построена на Ардуино ,куча датчиков ,тиристорные ключи,насосы для антифриза и т.д. Всё что положено для отопления дома. Утром на работу ,вечером обратно. Ни одного сбоя , при кратковременном отключении энергии всё просто перезапускается с прежними параметрами (сохраняется что то в ЕЕРRОМ , а текущее в DS1307 в её памяти).     

В моём представлении очень надёжно работает. Главное правильно всё построить и написать. 

Система полива не такая ответственная система и предусмотреть можно всё.

 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

zhuki пишет:

Ни одного сбоя , при кратковременном отключении энергии всё просто перезапускается с прежними параметрами 

отключения кратковременые случались раз в 2-3 недели или чаще? Ибо обычно дуинки виснут примерно после 3-4 недель.. в одном варианте временно приделали ей саморесет раз в 2 недели..

 

zhuki
Offline
Зарегистрирован: 12.10.2011

Нет никакого саморесета. Отключения раз в месяц,на 3-5 мин ,а в моё отсутствие даже не знаю. Просто не заметно. И ничего не виснет у меня.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

zhuki пишет:

Нет никакого саморесета. Отключения раз в месяц,на 3-5 мин ,а в моё отсутствие даже не знаю. Просто не заметно. И ничего не виснет у меня.

это у колеги мы само ресет приделали кк временое решение :)

а у вас оно само ресетилось методом краковременых отключений електричества :)

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Puhlyaviy пишет:

отключения кратковременые случались раз в 2-3 недели или чаще? Ибо обычно дуинки виснут примерно после 3-4 недель.

Покупать надо нормальные железки - тогда и виснуть раз в две недели не будут. :) У меня - не виснет, по крайней мере - я этого не вижу: uptime.value 980646 - выводится при запросе к шилду (в секундах). Питание - не от сети, а от АКБ через DC-DC преобразователь. От сети - бывали висы поначалу.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Andrey_Y_Ostanovsky пишет:

Покупать надо нормальные железки - тогда и виснуть раз в две недели не будут. :) У меня - не виснет, по крайней мере - я этого не вижу: uptime.value 980646 - выводится при запросе к шилду (в секундах). Питание - не от сети, а от АКБ через DC-DC преобразователь. От сети - бывали висы поначалу.

11 дней? да вы рекордсмент :) обсудим когда аптайма наберется полгода минимум :)

а железки сделаные Атмел считаются нормальными? 

std
Offline
Зарегистрирован: 05.01.2012

all, правда что if(millis()-time>=interval){ something; } работает с учётом переполнения и не нужно обнулять millis()/перезагружать каждые 49 суток, типа всё равно будет работать?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

std пишет:

all, правда что if(millis()-time>=interval){ something; } работает с учётом переполнения и не нужно обнулять millis()/перезагружать каждые 49 суток, типа всё равно будет работать?

врятли оно работает с учетом. хотя нужно попробовать.. из моего опыта пока не видел проектов которые бы использовали миллис и не зависали через 4-5 недель :)

на всякий случай я бы строил логику не отталкиваясь от миллис как абсолютного времени от старта..

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Puhlyaviy пишет:

11 дней? да вы рекордсмент :) обсудим когда аптайма наберется полгода минимум :)

Как Вы это себе представляете? :) Какой должен быть тип переменной на полгода аптайма, если хранить его, как арюуина, в миллисекундах... Можно, конечно, специально озадачиться пересчетом и хранением отдельно в днях, но мне пока этого не требуется.

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

std пишет:

all, правда что if(millis()-time>=interval){ something; } работает с учётом переполнения и не нужно обнулять millis()/перезагружать каждые 49 суток, типа всё равно будет работать?

При правильном использовании - перезагружать не требуется.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Andrey_Y_Ostanovsky пишет:

При правильном использовании - перезагружать не требуется.

вы делаете мне смешно... то правильное железо нужно, то правильное использование? 

как именно железо правильное? и какое использование правильное? 
Правильное использование я  себе представляю когда по назначению... в данном случае ардуино является макетной платой для разработчиков.. ее правильное использование это на столе затыканая проводками... а не в картонной коробке прбитой к стене с надписью ТЕРМОСТАТ :)

axill
Offline
Зарегистрирован: 05.09.2011

Да что вы спорите до хрипоты?) кто то в аруино проводки втыкает, кто то многослойные платы делает и сам все это паяет. Мы же о хобби говорим, тут бессмысленно спорить о вкусах и интересах. Если конечно кто то ардуино использует для коммерческих проектов, то это не серьезно. А для себя любимого все дозволено. 

 

Looka
Offline
Зарегистрирован: 24.04.2012

А почему в обсуждении обошли WDT?

 

axill
Offline
Зарегистрирован: 05.09.2011

Looka пишет:

А почему в обсуждении обошли WDT?

мы ждали вашего выхода) рассказывайте

std
Offline
Зарегистрирован: 05.01.2012

axill пишет:
ардуино использует для коммерческих проектов, то это не серьезно

да, но atmega328 на плате со всем что нужно (типа датчиков-экранчиков), без всяких висящих проводов, с программой скомпилированной в Arduino но без загрузчика - вполне себе допустимо, я считаю.

axill
Offline
Зарегистрирован: 05.09.2011

Ардуино это среда разработки и железо. Вы железо берете саое и используете только среду от ардуино

почему бы и нет, если излишки кода сделанные для удобства, но пожирающие ресурсы МК вам не мешают

за вычетом излишков между ардуино и атмел студио нет отличий, у них один и тот же toolchain

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

std пишет:

да, но atmega328 на плате со всем что нужно (типа датчиков-экранчиков),

Людей можно перевозить на машине с шашечками, а можно - на машине без шашечек. Это к вопросу: "шашечки или ехать?"

У кого-то и спутники падают - я далек от того, что они там внутри набиты ардуинами. :)

vlkam
Offline
Зарегистрирован: 17.02.2013

 У меня больше месяца без зависаний и перерывов на улице работает. Но пока морозов не было.

Андрей01
Offline
Зарегистрирован: 04.11.2013

Правильно мой начальник говорит - сделай и запусти, пусть хоть месяца 3 поработает без зависания, тогда и поговорим...

alexey_and
Offline
Зарегистрирован: 03.03.2013

на DUE например отпаиваеш всего одну детальку и она начинает работать без всяких зависаний

 

можно подробнее?

vlkam
Offline
Зарегистрирован: 17.02.2013

Итак, у меня уже почти полгода висят две ардуины на улице. Выдержали мороз -30

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

Возможно проблема в поднявшейся влажности, боксы не особо то и герметичны

Потеплеет - буду разбираться.

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Андрей01 пишет:

Правильно мой начальник говорит - сделай и запусти, пусть хоть месяца 3 поработает без зависания, тогда и поговорим...

Практика - критерий истины. :)

HWman
HWman аватар
Offline
Зарегистрирован: 26.02.2013

Очень интересная тема, насчёт ватчдога интересно, неужели он не может зависнуть? 
Кстати, давно хочу попробовать в качестве фильтров поюзать ионисторы, они же будут как ИБП.

axill
Offline
Зарегистрирован: 05.09.2011

HWman пишет:

Очень интересная тема, насчёт ватчдога интересно, неужели он не может зависнуть? 
Кстати, давно хочу попробовать в качестве фильтров поюзать ионисторы, они же будут как ИБП.

вачдог зависнуть не может, но если вы включите вачдог это не даст вам абсолютной гарантии бесперебойности в работе. Если по каким то причинам МК окажется в условиях отличных от допустимых то он не зависнет, а просто перестанет работать. Нельзя так же исключать ошибок при програмировании как источника зависаний даже с включенным вачдогом

vlkam
Offline
Зарегистрирован: 17.02.2013

HWman пишет:
Очень интересная тема, насчёт ватчдога интересно, неужели он не может зависнуть? 
Кстати, давно хочу попробовать в качестве фильтров поюзать ионисторы, они же будут как ИБП.

По моему опыту использования, а это 2 китайских ардуины Funduino в пластиковом боксе на улице, управляющие воротами многоквартирных домов, ардуины не виснут вообще

Под подвисанием я подразумеваю ситуацию, когда плата не работает абсолютно

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

HWman пишет:

Очень интересная тема, насчёт ватчдога интересно, неужели он не может зависнуть? 
Кстати, давно хочу попробовать в качестве фильтров поюзать ионисторы, они же будут как ИБП.

Наши программисты могут и ватчдог завесить... :) Во, один уже рукава засучивает.

На это можно навесить внешний супервайзер с конденсатором: если в нужный момент конденсатор не подзарядися с какого-нибудь пина - супервайзер дернет питание.