Часто в моей практике при программировании  микроконтроллеров  ATtiny13, которые часто использую, возникали  ситуации, когда микроконтроллер толи из-за программ или неправильных ошибочных действий при программировании «самоблокируется» и отказывается программироваться повторно в ISP-режиме. Насколько я понял, подобная проблема волновала не только меня. И  изучив статьи по ссылкам, я понял что надо попробовать собрать подобное устройство, которое бы возвращало залоченный микроконтроллер к жизни. Потому, как держать STK500 наготове и доставать его всякий раз для таких случаев не всегда удобно.

Выход из ситуации один, перепрограммировать его программатором, восстановив заводские настройки в режиме высоковольтного параллельного программирования, в так называемом H/V режиме. Данного режима нет у простых программаторов, которыми в большинстве пользуются начинающие радиолюбители осваивающие работу с микроконтроллерами AVR.

Какой выход? Купить новый программатор, где есть такой режим? — это дополнительные денежные затраты. Изготовить программатор с возможностью программирования в H/V режиме? — тоже можно, но это снова дополнительное время. Есть ещё один путь, — изготовить небольшое устройство на микроконтроллере, которое будет записывать в «заблокированный» микроконтроллер изначальные заводские настройки.

Не надо даже компьютер запускать для перепрограммирования, достаточно «заблокированный» чип воткнуть в панельку, нажать кнопку «восстановить», после чего мигнёт светодиод и через секунду всё! Микроконтроллер вернули к жизни.

Почитав статьи, на эту злободневную тему, написанную теми, кто уже сталкивался с таким явлением,  я решил собрать подобное устройство и проверить его работу. Кое-что изменил в схеме, так как мне хотелось бы, кое-что упростил и вот, что у меня получилось:

Принципиальная схема высоковольтного программатора для реанимации микроконтроллеров ATtiny13Микроконтроллер U1 берёт на себя задачу по реанимации «убитого» микроконтроллера. Вставляем в панельку повреждённую микросхему, включаем питание блока питания ATX, который я счёл удобным использовать для данного модуля, поскольку там есть два напряжения: +5 в и +12 в, что требуется нам для питания данной схемы, оснастил схему ответной частью разъёма от блока питания  ATX  для удобства.

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

С 3-й ноги микросхемы U1 подаётся импульс определённой длительности, который открывает транзисторные ключи, подавая в этот период напряжение на реанимируемый микроконтроллер  U2 (+12 в на 1-ю ножку — Reset и одновременно подаёт +5 в на 8-ю ногу — Vcc). А так же одновременно по другим выводам параллельно передаётся на запись из U1 в U2 информация изначальных заводских настроек. После окончания этого цикла светодиод гаснет, что говорит о том, что процесс реанимации закончен и можно выключить питание,  извлечь восстановленную микросхему.

Подобное устройство я собрал и испытал, сознательно загоняя «подопытный» экземпляр — микроконтроллер  ATtiny13 в «нежелательные»  режимы, приводящие к последствиям, после которых  он отказывался повторно программироваться ISP-программаторами (STK200, AVR ISP mkII и т.п.). Посредством данного реаниматора возвращал его к жизни.

Настройка fuse-битов микроконтроллера AVR ATtiny13

Транзистор Q1 n-p-n структуры, из отечественных, можно применить КТ315. Q2, Q3 p-n-p, можно применить КТ361

Принципиальную схему, прошивку  микроконтроллера, как выставить фьюзы (fuse-биты) микроконтроллера при программировании (тактовая частота 4,8 МГц) для микроконтроллера ATtiny13, выполняющего роль реаниматора, (по схемному обозначению  U1) прилагаю.

Скачать прошивку и принципиальную схему

Науменко Владимир, vladimir@radioded.ru

г. Калининград
Просмотров всего: 12 367, сегодня: 1

3 комментария

  1. Леонид Reply

    Собрал, работает. При включений загорелся светодиод, потом погас, нажал кнопку, загорелся светодиод и через секунду погас. Прошивал через «sinaprog». Транзисторы поставил bc547 и bc557. Attiny13, ожил, случайно поставил слишком низкую частоту. Интересно attiny85 сможет лечить?

  2. Андрей Reply

    Добрый день. могу ли растчитывать на Вашу помощь? Дело в том , что пришли с китая ATtiny13a 10шт. и у каждой в нулевом адрессе flash и eeprom пишет 0E. подскажите это лечится или нет?

Напишите комментарий