FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Среда, 07.12.2016, 11:33
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Железо (контроллеры, шилды, датчики и др.) » Сторожевой таймер ( WDT ) (Ищу схему)
Сторожевой таймер ( WDT )
kipiaxxx
Дата: Среда, 11.11.2015, 11:26 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 40
Награды: 3
Репутация: 1
Статус: Offline
Для ответственных применений устройств на МК совершенно необходим сторожевой таймер ( WDT ). Интересует схема такого универсального, простого и надёжного устройства применительно к Arduino. Просьба поделиться личным опытом. Мой поиск пока приемлемого результата не дал.
 
shtirlitz Дата: Воскресенье, 06.12.2015, 21:40 | Сообщение # 2
Рядовой
Группа: Проверенные
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
То есть схема? Watchdog есть пряпо в кристалле, бери и пользуйся.
 
kipiaxxx Дата: Понедельник, 07.12.2015, 06:15 | Сообщение # 3
Сержант
Группа: Проверенные
Сообщений: 40
Награды: 3
Репутация: 1
Статус: Offline
1. В статье "Arduino watchdog или автоматический RESET в случае зависания":
http://geektimes.ru/post/255800/
убедительно объясняется, что без плясок с бубном перепрошивки загрузчика (bootloader) Arduino встроенный WDT может работать некорректно.

2. Кроме того, для своей работы встроенный Watchdog требует дефицитных аппаратных ресурсов чипа. Цитирую Настройки проекта:
Защита от зависания (При использовании исключает возможность использования скоростного счетчика и и выходов 3 и 11 в режиме ШИМ)


Сообщение отредактировал kipiaxxx - Понедельник, 07.12.2015, 08:39
 
Велко Дата: Среда, 30.12.2015, 09:38 | Сообщение # 4
Рядовой
Группа: Проверенные
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
Реле времени с постоянным пингом от контроллера для обновления таймера не рассматривалось?
 
kipiaxxx Дата: Среда, 30.12.2015, 12:04 | Сообщение # 5
Сержант
Группа: Проверенные
Сообщений: 40
Награды: 3
Репутация: 1
Статус: Offline
Если под словом пинг Вы подразумеваете периодический сброс Ардуиной внешнего таймера, то - да.

Удовлетвоительное схемное решение на базе 555-таймера было найдено здесь:
Arduino Long Time Hardware Watchdog
http://www.playwitharduino.com/?p=291

Недостаток этой схемы - использование выхода Arduino с Z-состоянием.
А для FLProg - это пока невозможно.
Эту схему я модифицировал с целью большей универсализации. Теперь её можно применять не только с Arduino, но и другими МК, не меняя их прошивки. Сделал 3 экз. и успешно их эксплуатирую.

В процессе поиска нашёл интересное обсуждение:
Сбои в работе МК - делимся опытом, знаниями. Проблемы с наводками и помехами, решения
https://www.terraelectronica.ru/board/index.php?showtopic=385&st=0

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

Вопрос по WDT для себя я решил. Спасибо откликнувшимся. Тему можно закрыть.


Сообщение отредактировал kipiaxxx - Среда, 30.12.2015, 12:05
 
Evgesha Дата: Воскресенье, 10.01.2016, 15:54 | Сообщение # 6
Подполковник
Группа: Проверенные
Сообщений: 210
Награды: 3
Репутация: 3
Статус: Offline
Здраствуйте. Извените.я что недопонял. Опишите пожалуйста решение поподробнее. Спасибо.

Добавлено (10.01.2016, 15:54)
---------------------------------------------
Здраствуйте. Извените.я что недопонял. Опишите пожалуйста решение поподробнее. Спасибо.

 
support Дата: Понедельник, 11.01.2016, 10:29 | Сообщение # 7
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
В FLProg реализован собственный сторожевой таймер. В настройках проекта установить галочку "Защита от зависаний"., и выставить время срабатывания таймера. Правда при этом возникают некоторые ограничения по использованию выходов ШИМ

Разработчик программы FLProg
 
kipiaxxx Дата: Понедельник, 11.01.2016, 16:00 | Сообщение # 8
Сержант
Группа: Проверенные
Сообщений: 40
Награды: 3
Репутация: 1
Статус: Offline
Цитата Evgesha ()
Опишите пожалуйста решение поподробнее.

Ниже приводится доработанная схема. Она выполнена в программе схемотехнического моделирования TINA-TI, которую я рекомендую для начинающих. Подробнее о ней читаем в журнале "Радиоежегодник", выпуск 32. TINA-TI по-русски: http://www.rlocman.ru/book/book.html?di=151461 



По сравнению с исходной схемой из http://www.playwitharduino.com/?p=291 добавлен только транзистор Т1 и дифференцирующая цепочка С2,R4. Это типовое схемное решение для внешних WDT.
Пояснения к работе схемы.
Генератор импульсов VG1 имитирует периодические "контрольные" импульсы от  Arduino. Ключом SW1 имитируется зависание МК. Пока SW1 замкнут "контрольные" импульсы пройдя через диф. цепь будут открывать транзистор Т1, который, в свою очередь, будет периодически разряжать времязадающий конденсатор С1. Это нормальная работа микроконтроллера Arduino.
Ситуация с "зависанием" программы МК имитируется размыканием ключа SW1. При этом "контрольные" импульсы от  Arduino не поступают на транзистор Т1. Конденсатор С1 током через резисторы R1 и R2 заряжается до верхнего порога срабатывания микросхемы 555-таймера U1, 555-таймер начинает работать в режиме генератора импульсов с большим периодом следования. Выход OUT таймера U1 через диод D1 подключён к цепи сброса R5,С5 (RES) Arduino. Короткие (100-150 мс) и редкие (с периодом в несколько секунд) отрицательные импульсы сброса будут принудительно перезапускать МК, до тех пор пока он нормально не запустится и на его выходе вновь не появятся периодические "контрольные" импульсы.

Временные диаграммы иллюстрируют режимы работы внешнего WDT:



Для сокращения времени моделирования номинал конденсатора С1 на схеме установлен значительно меньше необходимого. Можно ориентироваться на значение 0,5-1 мкФ на каждую секунду необходимой длительности "сторожевой" паузы. Конденсатор С1 нельзя применять электролитический. Удобно использовать дешёвые SMD керамические конденсаторы, подключая их параллельно.
Прикрепления: 8386747.gif(14Kb) · 7813909.gif(26Kb)


Сообщение отредактировал kipiaxxx - Понедельник, 11.01.2016, 16:06
 
НовыйUser Дата: Суббота, 10.09.2016, 16:39 | Сообщение # 9
Подполковник
Группа: Проверенные
Сообщений: 271
Награды: 1
Репутация: 2
Статус: Offline
Цитата support ()
Правда при этом возникают некоторые ограничения по использованию выходов ШИМ


вопрос от новичка. 2560+w5100 ( 10-13 пин выделен сетевой карте и на ней же они отмечены). Можно ли включать watchdog в проекте flprog ?


Сообщение отредактировал НовыйUser - Суббота, 10.09.2016, 16:59
 
Форум » Основной » Железо (контроллеры, шилды, датчики и др.) » Сторожевой таймер ( WDT ) (Ищу схему)
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика