В какой ситуации у ардуино может "слететь" скетч?

Использование Arduino/CraftDuino (Freeduino, Seeduino, ...).

В какой ситуации у ардуино может "слететь" скетч?

Сообщение druulian » 26 ноя 2015, 14:04

Привет.
Есть проект, основными компонентами которого являются Arduino Uno и DFPlayer-mini.
За ~7 месяцев работы наблюдал несколько странностей в работе. Был период несколько недель, когда скетч переставал выполняться - зависал по несколько раз в день. Reset спасал ситуацию до следующего зависания. Подозреваю, что срабатывал Watchdog.
Недавно случилось удивительное - скетч перестал выполняться совсем. И Ресет не помогал. Залить заново его получилось и после этого работа, похоже, восстановилась - бутлоадер остался цел.
Важный момент - несколько цифровых входов ардуины подключены к длинному (десятки метров) проводу, который в теории работает в пределах 0-5V, но потенциально может на себя набрать наводок от близлежащих линий 220, индуктивностей типа электромагнитных замков и т.п.
Вопрос к бывалым: насколько вероятна ситуация, что, в результате скачка напряжения на входах произойдут какие-то изменения во Flash-памяти, а пины при этом останутся целыми? Или какие еще могут быть ситуации, когда скетч ардуины слетает сам по себе?
Питается все от компа через USB.
druulian
 
Сообщения: 2
Зарегистрирован: 23 дек 2014, 13:51
programming: Python

Re: В какой ситуации у ардуино может "слететь" скетч?

Сообщение noonv » 27 ноя 2015, 11:23

несколько цифровых входов ардуины подключены к длинному (десятки метров) проводу

Очень плохое решение - на такие расстояния нужно использовать соответствующие интерфейсы (RS485, CAN и т.п.).

На предыдущей версии загрузчика - иногда могла быть проблема "слетания" скетча - если он "вдруг" ловил команду на перезапись прошивки и начинал перезаписывать рабочий скетч всяким мусором. На Optiboot-е про такое не слышал (слишком коротко время ожидания), но, в принципе, тоже возможно.
Проблему можно решить изменением фьюзов, но нужно делать очень осторожно и внимательно.
Аватара пользователя
noonv
Администратор
 
Сообщения: 557
Зарегистрирован: 05 май 2011, 15:44
Откуда: Калининград
programming: С++


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron
© 2009-2019 |  О проекте  |  Политика Конфиденциальности  |