Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AtTiny13A глюк с Brown-out Detector и входа Reset в режиме I/O
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
arisov
Столкнулись с такой проблемой: пришла очередная партия электронных модулей от контрактного производителя (500шт.), до этого в течении нескольких лет заказывали несколько тысяч таких же в точности модулей – такой проблемы не было.

В последней партии плат происходит следующее: при включении питания устройство начинает работать нормально, пока в программе не доходит до места (через несколько секунд), где начинается «дёргать» выходом PB5 (Reset – в Fuse переведён в режим «вход/выход»). В этот момент (при изменении уровня с 1 на 0) происходит перезагрузка AtTiny13A и всё начинается «по кругу».

Опытным путём выяснено, что помогает отключение (в Fuse-битах) Brown-out Detector или изменение уровня с 2,7В на 1,8В (но это помогает не всем платам).
Такое ощущение, что вход контроля BOD привязан к ножке Reset и «фьзом» не отключается.

То, что однозначно виновата «тинька» - выявили так: перекинули местами МК из новой и старой партии плат (для «чистоты эксперимента» сделали с 5 комплектами). Неисправность из плат «новой» партии «перекочевала» в «старую» и наоборот «новые» платы заработали со «старой» AtTiny13A.

Ни у кого такой проблемы не возникало? Можно это решить программным путём?
Я уже несколько лет не занимаюсь МК, может что-то за это время изменилось в AtTiny13, вышла очередная «Errata»? (после покупки Микрочипом – Атмела).
Как поставщику модулей (а он в свою очередь – поставщику компонентов) предъявить претензию по этому поводу?
demiurg1978
Нужно убедиться, что сброс мк происходит от смены уровня с 1 на 0. Эта проверка простая. Пишем примитивную программку. Настройка одного пина на выход. На выход цепляем светодиод. На пин Reset цепляем подтягивающий резистор на 10 кОм. Подаем питание на МК. Светодиод включится. Теперь подаем низкий уровень на ресет. Если светодиод гаснет, значит однозначно проблема в этом. Если нет, разбираемся дальше. Возможно причина в настройках сторожевого таймера.
rx3apf
Не очень в тему, но совсем недавно мы столкнулись с партией явно поддельных или дефектных ATmaga169PA, у которых и фьюзы BOD стояли нетипично, и некоторые экземпляры при программировании не отзывались, и у солидного процента портовые (LCD) ноги не работали...
arisov
Цитата(demiurg1978 @ Oct 8 2017, 05:55) *
Нужно убедиться, что сброс мк происходит от смены уровня с 1 на 0. Эта проверка простая…
Появилось время (я в этой организации не работаю, бываю изредка), провёл эту проверку – «глючный» МК со светодиодом работает!!!

Начал разбираться – выяснил следующее: в данном случае, перезагрузка МК происходит в момент отключения индуктивной нагрузки («стрелочный» шаговый двигатель). Отключение обмоток ШД производиться изменением выходов «тиньки» на вход, одновременно с этим для работы схемы надо "прижать" выход Reset (из-за этого сначала и подумал на глюк по этому выводу). В этот момент, происходит «выброс» само-ЭДС, который на осциллографе не видно, но «видит» вход Brown-out Detector. Внутренние диоды МК «тестером прозваниваются» нормально.

Так что, новые AtTiny13A стали более чувствительны к ЭМИ, «старые» работают нормально. Сейчас закупили отдельно другие МК, их меняют и прибор работает.

Отключение обмоток ШД сделано для уменьшения потребляемого тока и как следствие этого уменьшения ёмкости кондёров (для возрата стрелки на ноль, при отключении питания). Габариты модуля ограничены, соответственно и размеры кондёров тоже.

Как не попасться в следующий раз на такие же "нежные" AtTiny13?
demiurg1978
Цитата(arisov @ Oct 14 2017, 02:17) *
Как не попасться в следующий раз на такие же "нежные" AtTiny13?

Схему нужно смотреть.
rx3apf
Может быть, производитель перешел на другой техпроцесс ? Вероятно, надо править "в консерватории" - менять топологию, добавлять развязки и блокировки. Иначе рано или поздно, но ситуация обязательно повторится....
m16
в прошлом году столкнулся с проблемой перехода с tiny13 на tiny13a . заключалась она в следующем: на tiny13 был отлажен макет фазового регулятора мощности. собрал 3-х фазный регулятор но за неимением tiny13 были использованы tiny13а, к моему удивлению он нормально не работал. после танцев с бубнами выяснил что тактовая внутреннего генератора tiny13а у пяти экземпляров находилась в диапазоне 7,8 - 8,4мгц . у дух экземпляров tiny13 тактовая была 9,6+/- 0,1мгц. в моём случае получалось следующее - за время полупериода (10мС) таймер не успевал при пониженной тактовой обнуляться до прихода импульса синхронизации с сетью т.к. ТОР таймера был рассчитан для тактовой 9,6мгц.
arisov, возможно в прошивке вашей тыньки есть переменные завязанные на тактову проца.
arisov
Цитата(m16 @ Nov 19 2017, 20:02) *
...arisov, возможно в прошивке вашей тыньки есть переменные завязанные на тактову проца.
Нет, с частотой там ничего не завязанно.
AI7
Цитата(arisov @ Oct 13 2017, 23:17) *
Как не попасться в следующий раз на такие же "нежные" AtTiny13?

МК – «нежное» создание, а его коммутационными выбросами долбите.
Похоже, лучше нанять грамотного электронщика, который правильно пристыкует МК к шаговому двигателю, тогда проблем с «нежностью» AtTiny не будет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.