Страница 1 из 2

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 13:09
pipapsix
Добрый день.
Имеется автоматика.
Все с ней нормально, работает без проблемм.
На ней три твердотельных реле и одно контактное. Контактное реле тоже помех не вызывает
Появляются проблемы когда вставляешь вилку( от вентилятора) в розетку, проскакивает искра и по экрану кракозябры и ардуино нано виснет.
Перешил загрузчик,от Уно. не помогает.
Может я не все условия выполняю.?
Может еще в ручную в код что то нужно добавить.
В программе защиту от зависания включил.

Кто может пошагово объяснить, показать если возможно?.

Вот этот тест проходит
[spoiler]#include <avr/wdt.h>

void setup() {
wdt_disable(); // бесполезная строка до которой не доходит выполнение при bootloop
Serial.begin(9600);
Serial.println("Setup..");

Serial.println("Wait 5 sec..");
delay(5000); // Задержка, чтобы было время перепрошить устройство в случае bootloop
wdt_enable (WDTO_8S); // Для тестов не рекомендуется устанавливать значение менее 8 сек.
Serial.println("Watchdog enabled.");
}

int timer = 0;

void loop(){
// Каждую секунду мигаем светодиодом и значение счетчика пишем в Serial
if(!(millis()%1000)){
timer++;
Serial.println(timer);
digitalWrite(13, digitalRead(13)==1?0:1); delay(1);
}
// wdt_reset();
}[/spoiler]

[spoiler]Setup..
Wait 5 sec..
Watchdog enabled.
1
2
3
4
5
6
7
8
9
10
Setup..
Wait 5 sec..
[/spoiler]

Вот тут постарался собрать и показать , все что мне понадобилось для включения сторожевого таймера "Watchdog"
Видео и файлы. Сильно не орать на меня, сделал как умею))

Яндекс диск

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 13:46
Grafsaxar
Сэр у вас проблема не софта а железа. Не туда копаете. Вентилятор рабочий?
А что произойдёт если вы вместо вентилятора простую лампочку ватт на 100 воткнёте?

искра и по экрану это серьёзно. огнетушитель рядом держите.

Схема подключения где? Каким образом запитана ардуина?
По ходу проблема с питанием.

Что бы вам помочь нужно побольше информации.......

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 14:03
pipapsix
[ref]Grafsaxar[/ref],
Grafsaxar писал(а): 12 фев 2019, 13:46Не туда копаете. Вентилятор рабочий?
100% рабочий.
Grafsaxar писал(а): 12 фев 2019, 13:46А что произойдёт если вы вместо вентилятора простую лампочку ватт на 100 воткнёте?
Провожу краш тест)) беру провода от лампочки и добиваюсь искр на контактах 220в. ну, тупо не зажимаю клеммами а прислоняю, зависает но не всегда, один раз из 15-20.

Разве я не правильно понимаю что Сторожевой таймер, должен перезапустить и все. Или в этом случае ардуина виснет безвозвратно?.
Я понимаю что никто специально искрить не будет, но защита все рано нужна.

[spoiler]
2019-02-12_14-54-27.png
[/spoiler]

Отправлено спустя 1 минуту 12 секунд:
Grafsaxar писал(а): 12 фев 2019, 13:46Сэр у вас проблема не софта а железа.
Я понимаю что не софта, он не один месяц работает и не на одном устройстве.

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 14:45
Grafsaxar
pipapsix писал(а): 12 фев 2019, 14:03Разве я не правильно понимаю что Сторожевой таймер, должен перезапустить и все. Или в этом случае ардуина виснет безвозвратно?.
Я понимаю что никто специально искрить не будет, но защита все рано нужна.
Совершенно верно.
Но по своему опыту скажу что он не всегда перезапускает контролер.
Надо бороться с зависанием. Вдруг в ответственный момент зависнет и дом сгорит:((

На плате 2 детальки с 8 ногами, это гальваническая развязка?

Как ардуино получает 5 вольт?
На сколько мкф. Конденсатор?

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 14:48
SergeyShikal
Питание платы через юсб?

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 15:02
benic
Юзал пару дней пример выше с оптибутом. Результат плачевный. Уходит в бесконечный ребут.
Пока 555 использую.
Стоит попробовать фьюз SUT0-SUT1. Если не будет результата, то переход AVR studio в общем без загрузчика.

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 15:27
pipapsix
Grafsaxar писал(а): 12 фев 2019, 14:45На плате 2 детальки с 8 ногами, это гальваническая развязка?
С 6 ногами, оптопары.
Grafsaxar писал(а): 12 фев 2019, 14:45Как ардуино получает 5 вольт?
Вот такой ипользую.
[spoiler]
HTB1nbXdSpXXXXb_XFXXq6xXFXXX9.jpg
[/spoiler]
Grafsaxar писал(а): 12 фев 2019, 14:45На сколько мкф. Конденсатор?
16в 470мФ. и керамический 100nF
SergeyShikal писал(а): 12 фев 2019, 14:48Питание платы через юсб?
Нет. подходит к ногам МК.
benic писал(а): 12 фев 2019, 15:02Стоит попробовать фьюз SUT0-SUT1
Их выбрать? остальные не трогать??
benic писал(а): 12 фев 2019, 15:02Если не будет результата, то переход AVR studio в общем без загрузчика
Я могу прямо сейчас это использовать? мой проэкт, без переделок глобальных?

Отправлено спустя 4 минуты 21 секунду:
И вопрос без ответа остался.
Как включить Watchdog? в самом проэкте, просто выбрать включить и все?
#include <avr/wdt.h> это негде потом не отображается.

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 15:55
pan
ну видимо в сетапе нужно написать что-то вроде wdt_enable(WDTO_1S); или сколько там надо секунд

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 17:18
pipapsix
Ну вроде как разобрался,.
теперь то что и требовалось. Проскакивает искра, МК зависает и через 8 сек перезагрузка, это радует.
Не радует, то что это вообще происходит, теперь нужно как то с этим бороться, только как?хз.

Несколько новых вопросов появилось.

wdt_enable (WDTO_8S); сколько секунд выставлять? 8 или меньше?

Как правильно оформлять в коде??
имеет ли значение в начале или в конце void loop()?
[spoiler] {
wdt_enable (WDTO_8S);
}[/spoiler]

Так же не понятка с размером загрузчиков, прошил с большим размером.
Это вообще как? 1111и 2222 я просто подписал для себя.
[spoiler]
2019-02-12_18-14-30.png
[/spoiler]

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 17:28
Grafsaxar
benic писал(а): 12 фев 2019, 15:02Пока 555 использую.
Много слышал но сам не пробовал. Считаю это самый надёжный вариант.
Схема есть?
----------------------------------------------------------
поговаривают что незадействованные ноги надо подтянуть на массы.
Но я в это пока не верю, т.к. у многих и так работает.

Думаю дело в 220>12в . Была тоже такая проблема.
Надо осцилоскопом прозвонить в момент включения и выключения вентилятора.


чтобы исключить ошибку питания , подключите ардуино на простой батарейке.
Откройте бутылочку пива и искрите на здоровье:)))

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 17:38
pipapsix
Grafsaxar писал(а): 12 фев 2019, 17:28Думаю дело в 220>12в . Была тоже такая проблема.
Надо осцилоскопом прозвонить в момент включения и выключения вентилятора.
А для надежности, какие номиналы поставить кондеров? проверить же нужно.

Вот сейчас пока проверял, одну автоматику, зависла вторая которая стоит в двух метрах.
Это что за импульс то такой, как будто ЭМП стреляет рядом))
ААА. забыл сказать что вентиляторы СССР производства, надежные как танк)
Grafsaxar писал(а): 12 фев 2019, 17:28чтобы исключить ошибку питания , подключите ардуино на простой батарейке.
Да 100% в нем. как это победить то?

Автоматики идентичные , до мелочи.
Grafsaxar писал(а): 12 фев 2019, 17:28Откройте бутылочку пива и искрите на здоровье:)))
У меня как раз созрело пивко, придется открывать.

Будьте все здоровы.

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 19:42
benic
Постой! :D
Файлы давай,кода кусок и фьюзов скрин.
А то так и не пошло у меня.

И все таки Watchdog. Как быть.

Добавлено: 12 фев 2019, 19:46
pipapsix
[ref]benic[/ref],
Уже, в первом сообщении))

И все таки Watchdog. Как быть.

Добавлено: 13 фев 2019, 08:33
pan
pipapsix писал(а): 12 фев 2019, 17:18wdt_enable (WDTO_8S); сколько секунд выставлять? 8 или меньше?

Как правильно оформлять в коде??
сколько секунд это вам решать. так то для мк и 1 секудна это много.

я выше написал вроде что в сетап надо вставлять.

И все таки Watchdog. Как быть.

Добавлено: 13 фев 2019, 10:03
Grafsaxar
pipapsix писал(а): 12 фев 2019, 17:38Да 100% в нем. как это победить то?
Что то у вас странное электроснабжение???

Какое сечение провода? Какой предохранитель стоит?

Есть ли возможность запитать вентилятор от другой фазы?

Попробуйте трансформаторный советский блок питания.
Может это желание советского вентилятора:)))

И все таки Watchdog. Как быть.

Добавлено: 13 фев 2019, 10:55
pipapsix
[ref]Grafsaxar[/ref],
Питание 1.5 квадрата. Пропаяно все.
Предохранителя нет, и где должен быть?
Фаза только одна.

И все таки Watchdog. Как быть.

Добавлено: 13 фев 2019, 16:35
Grafsaxar
pipapsix писал(а): 13 фев 2019, 10:55Предохранителя нет, и где должен быть?
В центральном щите .

Попробуйте с суперконденсатором.
Как вариант 2 можно запитать от аккумулятора а на него повесьте зарядное устройство.

И все таки Watchdog. Как быть.

Добавлено: 14 фев 2019, 04:23
Saman
Делал по этой схеме, сначала все отлично работает (у меня с NRF постоянно виснет)но через некоторое время постоянно перезагружается пока питание не передернишь..Пробывал время конденсатором увеличивать, не помогло...Как будто в резонанс какой входит.

И все таки Watchdog. Как быть.

Добавлено: 14 фев 2019, 05:56
pipapsix
Grafsaxar писал(а): 13 фев 2019, 16:35В центральном щите .
АА.автоматы??
и у счетчика и в инкубатории.
Но они то чем помогут?

И все таки Watchdog. Как быть.

Добавлено: 14 фев 2019, 06:25
kulibinsvv
[ref]Saman[/ref], если вы внимательно читали статью, из которой приводите схему, то должны были прочитать, что при отсутствии импульсов на входе WDI таймер будет каждые ~ 5 сек. посылать импульс сброса, до тех пор пока они (импульсы) не появятся.