Перейти к содержанию

    

AtTiny13A глюк с Brown-out Detector и входа Reset в режиме I/O

Столкнулись с такой проблемой: пришла очередная партия электронных модулей от контрактного производителя (500шт.), до этого в течении нескольких лет заказывали несколько тысяч таких же в точности модулей – такой проблемы не было.

 

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

 

Опытным путём выяснено, что помогает отключение (в Fuse-битах) Brown-out Detector или изменение уровня с 2,7В на 1,8В (но это помогает не всем платам).

Такое ощущение, что вход контроля BOD привязан к ножке Reset и «фьзом» не отключается.

 

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

 

Ни у кого такой проблемы не возникало? Можно это решить программным путём?

Я уже несколько лет не занимаюсь МК, может что-то за это время изменилось в AtTiny13, вышла очередная «Errata»? (после покупки Микрочипом – Атмела).

Как поставщику модулей (а он в свою очередь – поставщику компонентов) предъявить претензию по этому поводу?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно убедиться, что сброс мк происходит от смены уровня с 1 на 0. Эта проверка простая. Пишем примитивную программку. Настройка одного пина на выход. На выход цепляем светодиод. На пин Reset цепляем подтягивающий резистор на 10 кОм. Подаем питание на МК. Светодиод включится. Теперь подаем низкий уровень на ресет. Если светодиод гаснет, значит однозначно проблема в этом. Если нет, разбираемся дальше. Возможно причина в настройках сторожевого таймера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не очень в тему, но совсем недавно мы столкнулись с партией явно поддельных или дефектных ATmaga169PA, у которых и фьюзы BOD стояли нетипично, и некоторые экземпляры при программировании не отзывались, и у солидного процента портовые (LCD) ноги не работали...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Нужно убедиться, что сброс мк происходит от смены уровня с 1 на 0. Эта проверка простая…
Появилось время (я в этой организации не работаю, бываю изредка), провёл эту проверку – «глючный» МК со светодиодом работает!!!

 

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

 

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

 

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

 

Как не попасться в следующий раз на такие же "нежные" AtTiny13?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Как не попасться в следующий раз на такие же "нежные" AtTiny13?

Схему нужно смотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть, производитель перешел на другой техпроцесс ? Вероятно, надо править "в консерватории" - менять топологию, добавлять развязки и блокировки. Иначе рано или поздно, но ситуация обязательно повторится....

Изменено пользователем rx3apf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в прошлом году столкнулся с проблемой перехода с tiny13 на tiny13a . заключалась она в следующем: на tiny13 был отлажен макет фазового регулятора мощности. собрал 3-х фазный регулятор но за неимением tiny13 были использованы tiny13а, к моему удивлению он нормально не работал. после танцев с бубнами выяснил что тактовая внутреннего генератора tiny13а у пяти экземпляров находилась в диапазоне 7,8 - 8,4мгц . у дух экземпляров tiny13 тактовая была 9,6+/- 0,1мгц. в моём случае получалось следующее - за время полупериода (10мС) таймер не успевал при пониженной тактовой обнуляться до прихода импульса синхронизации с сетью т.к. ТОР таймера был рассчитан для тактовой 9,6мгц.

arisov, возможно в прошивке вашей тыньки есть переменные завязанные на тактову проца.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
...arisov, возможно в прошивке вашей тыньки есть переменные завязанные на тактову проца.
Нет, с частотой там ничего не завязанно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Как не попасться в следующий раз на такие же "нежные" AtTiny13?

МК – «нежное» создание, а его коммутационными выбросами долбите.

Похоже, лучше нанять грамотного электронщика, который правильно пристыкует МК к шаговому двигателю, тогда проблем с «нежностью» AtTiny не будет.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация