Зависает Arduino самопроизвольно
-
- Рядовой
- Сообщения: 84
- Зарегистрирован: 10 мар 2020, 11:35
- Имя: Алексей
Зависает Arduino самопроизвольно
День добрый. Собственно вопрос , как решить проблему зависания ардуино ? Знаю что тут много таких тем , но проблема самопроизвольная , коммутации по реле и мощных нагрузок пока нет , т.е это проект ворот , что я тут выкладывал .
Сначала думал что нехватка питания , т.к когда отлаживал проект GSM модуль был ближе к базовой станции и сигнал был -53dbm , сейчас же сигнал стал -89 -90 , но просадки по питанию я не увидел , попробую еще переделать отдельное питание на GSM модуль , но не думаю что проблема в этом.
Собственно , после включения может работать хоть день , а может и минут 15 отработать , и наглухо зависнуть .
Сначала думал что нехватка питания , т.к когда отлаживал проект GSM модуль был ближе к базовой станции и сигнал был -53dbm , сейчас же сигнал стал -89 -90 , но просадки по питанию я не увидел , попробую еще переделать отдельное питание на GSM модуль , но не думаю что проблема в этом.
Собственно , после включения может работать хоть день , а может и минут 15 отработать , и наглухо зависнуть .
-
- Лейтенант
- Сообщения: 338
- Зарегистрирован: 11 фев 2018, 13:07
- Имя: Сергей
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Зависает Arduino самопроизвольно
Причин зависания может быть масса. Без полной информации - схемы, обвязки, питания и т.д. Вам вряд ли помогут.
От себя могу сказать, без сторожевого таймера надёжное устройство построить невозможно.
https://flprog.ru/uchebnyj-centr/articl ... ntrollera/
От себя могу сказать, без сторожевого таймера надёжное устройство построить невозможно.
https://flprog.ru/uchebnyj-centr/articl ... ntrollera/
-
- Рядовой
- Сообщения: 84
- Зарегистрирован: 10 мар 2020, 11:35
- Имя: Алексей
Зависает Arduino самопроизвольно
Проект прикрепил , питание с импульсного БП , но пробовал питать от акб .
В самой UNO есть сторожевой пес ?
В самой UNO есть сторожевой пес ?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 338
- Зарегистрирован: 11 фев 2018, 13:07
- Имя: Сергей
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
-
- Рядовой
- Сообщения: 84
- Зарегистрирован: 10 мар 2020, 11:35
- Имя: Алексей
Зависает Arduino самопроизвольно
https://habr.com/ru/post/189744/ а как же это ? получается просто другой загрузчик . Или же он не работает ?
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Зависает Arduino самопроизвольно
На уно работает. Другие 328е можно прошить как уно. На форуме есть блок с выбором времени. Если есть лисплей 1602 или подобный время ставить 1 сек или более.
-
- Лейтенант
- Сообщения: 338
- Зарегистрирован: 11 фев 2018, 13:07
- Имя: Сергей
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Зависает Arduino самопроизвольно
Встроенный watchdog - это не watchdogbelokuriha писал(а): 17 фев 2021, 10:50 а как же это ? получается просто другой загрузчик . Или же он не работает ?

Я не сильно владею теорией, но из практики могу сказать, что это не работает. Или работает, но не так как надо.
Хочешь гарантированный контроль зависания - делай внешний таймер.
Кстати, на промышленных контроллерах и всяких электронных устройствах на мк, таймеры внешние.
-
- Лейтенант
- Сообщения: 516
- Зарегистрирован: 25 фев 2018, 08:48
- Откуда: Оренбург
- Имя: Александр
Зависает Arduino самопроизвольно
[ref]belokuriha[/ref], вы схему бы выложили и не было бы гадания.
У меня ни на одном из штук 30 контроллеров не было зависания за 10 лет ! Но вот в прошлом году сделал проект с дисплеем на I2C и ... был в шоке. Потом конечно прояснил в чем дело, да да именно в наводках по I2C.
Давайте схему, а уж потом все гадалки.
Кстати по датчику снега что то решили? Кто победил в лотерее по предложению датчика ?
У меня ни на одном из штук 30 контроллеров не было зависания за 10 лет ! Но вот в прошлом году сделал проект с дисплеем на I2C и ... был в шоке. Потом конечно прояснил в чем дело, да да именно в наводках по I2C.
Давайте схему, а уж потом все гадалки.
Кстати по датчику снега что то решили? Кто победил в лотерее по предложению датчика ?
-
- Рядовой
- Сообщения: 84
- Зарегистрирован: 10 мар 2020, 11:35
- Имя: Алексей
Зависает Arduino самопроизвольно
Проект прикрепил , а что еще надо ?KulibinOrsk писал(а): 17 фев 2021, 12:21 [ref]belokuriha[/ref], вы схему бы выложили и не было бы гадания.
У меня ни на одном из штук 30 контроллеров не было зависания за 10 лет ! Но вот в прошлом году сделал проект с дисплеем на I2C и ... был в шоке. Потом конечно прояснил в чем дело, да да именно в наводках по I2C.
Давайте схему, а уж потом все гадалки.
Кстати по датчику снега что то решили? Кто победил в лотерее по предложению датчика ?
По датчику пока времени нет проверить .. Обязательно отпишусь в тему .
Зависает Arduino самопроизвольно
Попробуйте так:
void setup()
{
asm ("wdr"); сброс таймера WD.
код
WDTCSR = (1 << WDCE) | (1 << WDE);
WDTCSR = (1 << WDE) | (0 << WDIE); // на 16 мс бездействия void loop. Если в цикле много delay, то меняем биты регистров, чем изменям время дежурства с 16 мс до 8000 мс.
void loop() {
asm ("wdr"); если за 16 мс таймер WD не сбросится, то перезагрузка МК.
код
}
void setup()
{
asm ("wdr"); сброс таймера WD.
код
WDTCSR = (1 << WDCE) | (1 << WDE);
WDTCSR = (1 << WDE) | (0 << WDIE); // на 16 мс бездействия void loop. Если в цикле много delay, то меняем биты регистров, чем изменям время дежурства с 16 мс до 8000 мс.
void loop() {
asm ("wdr"); если за 16 мс таймер WD не сбросится, то перезагрузка МК.
код
}
-
- Рядовой
- Сообщения: 84
- Зарегистрирован: 10 мар 2020, 11:35
- Имя: Алексей
Зависает Arduino самопроизвольно
Это я так понял надо добавить в тело моего кода ?AndrejK писал(а): 17 фев 2021, 12:52 Попробуйте так:
void setup()
{
asm ("wdr"); сброс таймера WD.
код
WDTCSR = (1 << WDCE) | (1 << WDE);
WDTCSR = (1 << WDE) | (0 << WDIE); // на 16 мс бездействия void loop. Если в цикле много delay, то меняем биты регистров, чем изменям время дежурства с 16 мс до 8000 мс.
void loop() {
asm ("wdr"); если за 16 мс таймер WD не сбросится, то перезагрузка МК.
код
}
-
- Лейтенант
- Сообщения: 338
- Зарегистрирован: 11 фев 2018, 13:07
- Имя: Сергей
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Зависает Arduino самопроизвольно
Это при работе нон стоп 24/7 и без внешнего таймера?KulibinOrsk писал(а): 17 фев 2021, 12:21 У меня ни на одном из штук 30 контроллеров не было зависания за 10 лет !
Чудеса...

- BormanYA
- Рядовой
- Сообщения: 95
- Зарегистрирован: 10 янв 2018, 18:07
- Откуда: Дмитров
- Имя: Михаил
- Благодарил (а): 2 раза
Зависает Arduino самопроизвольно
Про наводки от GSM модуля не думал? Ну там коаксиалом отвести антенну в сторону от МК, один из вариантов. Чем ниже сигнал, тем больше мощность по ВЧ выдаёт модуль. В кратце из опыта, этого достаточно чтобы завесить МК.
Зависает Arduino самопроизвольно
Глянул ваш проект. Переделал сторожа на 8 секунд. Так, как delay в loope больше 8 сек., а таймер перезагрузки настроен на максимальные 8 сек, то каждые 8 сек. МК будет перезагружаться: LED загорится и через 0,5 сек. погаснет, через 8 сек опять загорится и т.д.
void setup() {
pinMode(13, OUTPUT);
digitalWrite(13, 1);
delay (500);
digitalWrite(13, 0);
asm("wdr");
WDTCSR |= (1 << WDCE) | (1 << WDE);
WDTCSR |= (1<<WDP3)|(1<< WDP0); 8000 ms
}
void loop() {
asm("wdr");
delay (10000);
}
void setup() {
pinMode(13, OUTPUT);
digitalWrite(13, 1);
delay (500);
digitalWrite(13, 0);
asm("wdr");
WDTCSR |= (1 << WDCE) | (1 << WDE);
WDTCSR |= (1<<WDP3)|(1<< WDP0); 8000 ms
}
void loop() {
asm("wdr");
delay (10000);
}
-
- Рядовой
- Сообщения: 84
- Зарегистрирован: 10 мар 2020, 11:35
- Имя: Алексей
Зависает Arduino самопроизвольно
Вот как вариант , такое я думал , т.к мощность увеличилось , идет излучение больше. Вынесу антенну на улицу , дальше от I2c шины.BormanYA писал(а): 17 фев 2021, 19:04Про наводки от GSM модуля не думал? Ну там коаксиалом отвести антенну в сторону от МК, один из вариантов. Чем ниже сигнал, тем больше мощность по ВЧ выдаёт модуль. В кратце из опыта, этого достаточно чтобы завесить МК.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей