Внимание ! Автор устройства не стоит на месте — постоянно усовершенствует своего «Доктора». За изменениями слежу и я, внося обновления в статью.
В статье описана самая стабильная версия Update №9. от 13.03.2011.
В конце статьи есть последняя версия и архив со всеми старыми версиями «Доктора».
Хочу спросить у читающих мой блог — много ли у Вас скопилось микроконтроллеров с неправильно прошитыми фьзами и непригодными для дальнейшего использования? Я думаю, если Вы довольно продолжительное время работаете с микроконтроллерами, то у Вас были случаи неправильной прошивки фьюзов. Свои «запорченные» микроконтроллеры я складывал в специальную коробочку с надеждой на то, что когда-то, в будущем, соберу высоковольтный параллельный программатор и верну их к жизни. Но высоковольтный программатор как-то особо не хотелось собирать. Схема довольно наворочена, да и применение такого программатора разовое – оживить ошибочно прошитый микроконтроллер. Короче, всегда проще (и дешевле) было купить новый микроконтроллер. Так и хранились бы и дальше «мертвые» микроконтроллеры если бы не случилась странная штука – при изготовлении нового устройства (скоро выложу) перестали подавать признаки жизни, сразу две тини2313 без особых на то причин. Подозрение пало на то, что при прошивке были неправильно выставлены фьюзы. Новых, в SOIC корпусе, быстро достать не получалось, а схемку закончить чесались руки. Так как, я все равно собирался, когда то делать высоковольтный программатор, решил, что пришло время это сделать. Но высоковольтный программатор я так и не сделал, а сделал устройство специально предназначенное для исправления ошибочно установленных фьюзов.
Некоторое время назад, по ссылке geovas , я поглядел на устройство под названием «Atmega fusebit doctor». Автор — поляк Pawel Kisielewski. Так как схема этого устройства относительно несложная решил вместо высоковольтного программатора собрать «доктора». И не ошибся – устройство оказалось замечательным! Не могу не поделиться своими впечатлениями о «Atmega fusebit doctor», так как в этом проекте есть много вещей, которые я ценю.
Что интересного есть в «Atmega fusebit doctor»?
Как Вы поняли – это не совсем высоковольтный программатор. Это устройство предназначено только для одной цели – вернуть к «жизни» микроконтроллер с неправильно прошитыми фьзами.
Такими фьюзами могут быть:
— CKSEL фьюзы выбора задающего генератора (выбран внешний генератор при его отсутствии или выбрана очень маленькая частота внутреннего);
— SPIEN запрет последовательного программирования;
— RSTDISBL использование ножки сброса как дополнительной линии ввода-вывода;
— установленные LOCK биты;
— другие, мешающие последовательному программированию.
ПРИНЦИП РАБОТЫ УСТРОЙСТВА
— очень прост – подаем на плату 12 вольт, вставляем в панельку «запорченный» микроконтроллер, нажимаем кнопочку «START» и через доли секунды получаем новенький рабочий микроконтроллер. Очень просто, даже не нужен компьютер (всегда возмущают псевдо навороты, в виде управления при помощи специальной программе на PC, там, где это в принципе не нужно). И если внешне устройство выглядит просто, то внутри все гораздо сложнее. При нажатии кнопки «START» устройство читает сигнатуру микроконтроллера-пациента, при этом, если она не читается, делается несколько попыток прочитать различными способами. После того как сигнатура прочитана по базе определяется тип микроконтроллера и восстанавливаются заводские, для данного микроконтроллера, установки фьюз бит. Если сигнатура неизвестна или микроконтроллер выдает ее неверно устройство установит фьюз биты в такое состояние, при котором станет возможным последовательное программирование. При восстановлении фьюз бит прошивка микроконтроллера остается нетронутой. Еще на плате есть перемычка «ALLOW ERASE«, при замыкании которой устройство полностью «обнулит» микроконтроллер. Это нужно в том случае, если пациент «залочен», т.е. установлены защитные биты которые препятствуют чтению/записи микроконтроллера.
Для индикации работы устройство имеет два светодиода – красненький и зелененький :). Минималистично? Но этого вполне хватает!
Если горит зеленый – пациент успешно вылечен, фьюз биты восстановлены до заводских. Если микроконтроллер «залочен» (LockBits включены), просто проверяются фьюз биты и если они совпадают с заводскими — загорается зеленый светодиод.
Если горит красный – проблемы с сигнатурой чипа, невозможно прочитать, нет микроконтроллера в панельке или нет такой сигнатуры в базе данных.
Если зеленый мигает — сигнатура в порядке, фьюз биты с ошибкой, но исправить их невозможно, так как микроконтроллер «залочен» (LockBits включены), необходимо полное стирание микроконтроллера (нужно установить перемычку для стирания — «ALLOW ERASE»).
Если мигает красный — сигнатура в порядке, микроконтроллер «не залочен», но, по какой-то причине, невозможно восстановить фьюз биты.
Если Вы хотите получить более подробную информацию о процессе «лечения» на плате есть выход UART. Отправьте этот сигнал на терминал и получите «распечатку» того, что было сделано.
Установки для терминала:
baudrate: 4800
parity: none
databits: 8
stopbits: 1
handshake: none
На плате установлены три панельки для «пациентов» на 20 (Attiny2313 …), 28 (Atmega48/88/168, Atmega8 …), 40 (Atmega16, Atmega8535 …) ножек. Если Вы решили «полечить» другого «пациента», то на плате предусмотрен специальный разъем для подключения адаптеров с панельками под любой, нужный Вам, микроконтроллер. Устройство поддерживает аж 106 типов микроконтроллеров AVR.
Вот полный список:
1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2kB:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22,Attiny25, AT90s2313, AT90s2323, AT90s2343
4kB:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8kB:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT90s8535
16kB:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT90pwm216, AT90pwm316, AT90usb162
32kB:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega328, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/PA, AT90can32
64kB:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT90usb646, AT90usb647, AT90can64
128kB:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256kB:
Atmega2560, Atmega2561
Зелененьким отмечены кристаллы которые проверялись и удачно полечились пользователями «доктора». Если Вы вылечили кристалл не помеченный зеленым, прошу сообщить об этом автору устройства или мне — я передам.
С лестными отзывами закончили, теперь давайте собирать устройство.
СБОРКА УСТРОЙСТВА.
Схема устройства довольно простая. Номиналы резисторов можно варьировать в небольших пределах
059-atmega_fusebit_doctor_V2e_schematic.pdf (53022 Загрузки)
Плата устройства разведена хорошо, но есть один нюанс, о котором важно не забыть при сборке устройства. Ножки 40-ка пиновой панельки с 29 по 37 необходимо откусить (лучше в плате вообще не сверлить отверстия под эти ножки).
Еще есть картинка для нанесения на плату со стороны деталей (монтажная картинка). Я впервые попробовал нанести такую картинку. Получилось очень удобно – монтаж превращается в простую процедуру установку деталек по картинкам. Наноситься рисунок методом ЛУТ. Вскройте рисунок лаком, иначе он быстро сотрется.
059-atmega_fusebit_doctor_V2e_PCB.zip (41039 Загрузок)
«Набиваем» плату радиодеталями, ставим несколько перемычек, получаем вот такое устройство:
ВНИМАНИЕ! Если у Вас собрана предыдущая версия платы «Доктора» (V2d — плата апдейдов по №6 включительно), для новой версии (апдейты №№7-9) переделывать ее нет необходимости, изменения минимальны. Для апгрейда версии платы V2d до версии V2e необходимо, всего лишь, припаять в нужном месте резистор на 100 Ом. Ниже показано куда его впаивать.
Hryam сделал рисунок платы версии V2d в Спринте. Вышло даже лучше чем у автора (размеры площадок, например).
059-atmega_doctor_plate_v2d_Sprint.zip (Одна Загрузка)
ПЛАТА ДЛЯ SMD КОМПОНЕНТОВ.
Появилась версия платы для SMD компонентов (товарисщь Shuffle постарался) . В этой плате нет панелек под «пациентов» есть только разъем для подключения адаптеров. Все «пациенты» включаются через адаптеры. Добавлен преобразователь UART to USB TF232RL, а значит Доктор будет выдавать информацию о ходе лечения по USB (можно не ставить). В остальном все как в оригинале.
059-shuffle_avrdoc_usb.zip (49330 Загрузок)
ПРОШИВАЕМ МИКРОКОНТРОЛЛЕР.
Теперь осталось только прошить микроконтроллер ATmega8 и устройство готово!
atmega_fusebit_doctor_2.09_m8.zip (Одна Загрузка)
059-FuseBits.png (68244 Загрузки)
Фьюз байты: Lock Bits = 0x 3F; High Fuse = 0x D1; Low Fuse = 0x E1; Ext. Fuse = 0x 00
Напоминаю:Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.
Как программировать микроконтроллеры читаем в FAQ.
Данный вариант прошивки еще есть для микроконтроллеров:
Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
Прошивка для микроконтроллеров с 16kB и 32kB памяти, кроме того, выдает названия восстанавливаемых микроконтроллеров.
Прошивки и фьюзы для других микроконтроллеров смотрите в архиве старых версий «Доктора» в конце статьи.
АДАПТЕРЫ ДЛЯ МИКРОКОНТРОЛЛЕРОВ.
Автором были разработаны два адаптера:
— для HVPP программирования 20-ти пиновых Attiny26 подобных и 40-ка пиновых Atmega8515 подобных контроллеров.
— для HVSP программирования для 8-ми пиновых и 14p-ти пиновых микроконтроллеров с высоковольтным последовательным способом программирования
059-adapter-1HVPP_dip20-dip40.zip (25233 Загрузки)
059-adapter-HVSP-dip8-dip14.zip (23928 Загрузок)
Небольшой бонус от меня – адаптеры для микроконтроллеров 8-ми пиновых (ATtiny13 …) и 20-ти пиновых (ATtiny2313 …) в корпусах SOIC.
059-adapter_soic20-soic8.zip (Одна Загрузка)
Пользоваться адаптерами для SOIC корпусов очень просто:
АРХИВ ВСЕХ ПРЕДЫДУЩИХ ВЕРСИЙ ДОКТОРА.
Это архив со всеми предыдущими версиями «Доктора». Кроме того архив содержит дополнительные материалы, такие как пинауты для различных корпусов AVR, платы-адаптеры и другое.
atmega-hvpp-fusebit-doctor_archive.zip (32878 Загрузок)
ПОСЛЕДНЯЯ, НА ДАННЫЙ МОМЕНТ, ВЕРСИЯ «ДОКТОРА».
Как я уже упоминал выше, главным достоинством «Доктора» является его автономность. Для восстановления фьюзов нужно лишь само устройство. Это очень хорошо!
Да, «Доктор» по UART выдавал информацию о процессе «лечения». Сообщения по UART, дублируя светодиоды, давали более полную картину «лечения», но многим этого было недостаточно. Хотеться более полного контроля процесса восстановления. И в новом апдейте автор дает этот полный контроль!
Теперь стало возможным:
— двухстороннее общение с «Доктором» по UART;
— работа с кристаллами у которых неверная сигнатура;
— устанавливать свои fusebits и lockbits;
— об остальном читайте в описании внутри архива…
atmega-hvpp-fusebit-doctor_update11.zip (63516 Загрузок)
ПЛАТЫ ДОКТОРА ЧИТАТЕЛЕЙ БЛОГА.
Здесь находятся устройства собранные читателями — хорошо когда есть выбор.
Печатка «Доктора» от Paul (в Сплинте)
ATmega-Fusebit-Doctor-PCB.zip (22847 Загрузок)
zloynik нашел некоторые ошибки:
1.Резистор с 23 ноги меги не соединен с панельками.
2.Резистор с 4 ноги меги не соединен с панельками.
3.Резистор с 5 ноги меги не соединен с панельками.
4.Транзистор BC547(Т2) с 13 ноги меги-нет контакта с эмиттера на «землю».
В остальном вроде все впорядке. Собрал-залочил тиньку 2313-восстановило.
Учтите при изготовлении.
Вариант «Доктора» в SMD исполнении от webconn.
ATmega Fusebit Doctor SMD by WebConn V2h.zip (18774 Загрузки)
Хотел бы внести свой вклад в форме ещё одной платы для «доктора» в SMD-исполнении. Всего 5 перемычек и 3 SMD-»пофигистора», питание от Power Jack 5mm (но в архиве есть версия с колодкой) через 78L05 (греется, но пару минут можно работать без отключения питания, а больше обычно и не нужно ) Также греется один из транзисторов, но тоже в меру (мелкота требует жертв). Тем не менее, плата юзабельна. Совместима с последней версией Доктора V2h (то есть полностью растащен UART).
Вариант «Доктора» от Machineman.
Fusebit-Doctor.zip (Одна Загрузка)
Плата в спринте, разводил под детали, которые были в наличии, так что там симбиоз SMD с выводными элементами, от перемычек уйти не удалось, как ни крутил. Транзистор T3 перевернул в нужную сторону (по началу запутался с эмиттером-коллектором). Да, с питанием не стал особо заморачиваться и вывел все на разъем molex. Ну и разумеется выход на платы расширения. Удачи!
Вариант «Доктора» от TaseG (разводка в сплинте).
hvpp-fusebit-doctor-v2h.zip (13672 Загрузки)
Исправление разводки от Максима Носырева.
Я начинающий, поэтому прошу строго не судить, если я ошибся.
Если сравнить разводку с оригиналом из статьи, то там есть лишняя дорожка, замыкающая 9 и 5 вольт, как я понял на питание меги придет 9 вольт. Может, конечно, я ошибаюсь, но наверно так не должно быть…
Вариант «Доктора» от Sailanser (разводка в Eagle 5.10)
Atmega-fuse-doctor.zip (11070 Загрузок)
Сам себе делал это устройство по выложенной оригинальной схеме. Плату сделал двухстороннюю дабы была маленькой и компактной. Делал на SMD плюс управляющий контроллер в DIP. Контроллеры для излечивания если необходимо подключаю с помощью внешней макетки.
Вариант «Доктора» от MVV
А еще «Доктора» можно сделать и так:
Адаптер для ATtiny26 от Fahivec
Adapter_Tiny26_SMD.zip (7542 Загрузки)
В архиве фотка и файлы .sch/.brd из Eagle 5.7.0
Доктор от dimon24
вариант печатной платы с универсальными ZIF панельками под 5 МК DIP8,14,20,28,40
Atmega-fusebit-doctor-ZIF.zip (9422 Загрузки)
Переходник для ATmega48A/PA/88A/PA/168A/PA/328/P TQFP32 от S@per
TQFP32-for-fuse-bit-doctor.zip (8915 Загрузок)
ЗАКЛЮЧЕНИЕ.
В результате работы «Atmega fusebit doctor» мною были возращены к жизни несколько ATtiny2313, ATmega48, Atmega8535. «Atmega fusebit doctor» зарекомендовал себя с наилучшей стороны. И даже появились планы на нестандартное его использование. Давно руки чешутся заюзать ножку сброса ATtiny13 как еще один порт ввода/вывода, но всегда останавливало то, что микроконтроллер теряется для последующего использования. С «доктором» можно смело использовать ножку по своему усмотрению и при необходимости восстанавливать ее «заводское» назначение.
Еще смотрим:
Что такое фьюз биты?
Как правильно прошить фьюз биты в разных программах?
Страничка ATmega FuseBit Doctor
(Visited 386 439 times, 32 visits today)
Для вылечивания микроконтроллеров с неправильно прошитыми фьюзами собрал Atmega fusebit doctor.
Всю информацию почерпнул с сайта с этой статьй: Исправляем AVR фьюзы при помощи «Atmega fusebit doctor»
Что доктор может или как это будет работать?
При подаче питания 12 вольт на плату, и установке «порченого» микроконтроллера, нажатием на кнопку START получим рабочий микроконтроллер.
При восстановлении фьюз бит прошивка микроконтроллера остается нетронутой. На плате есть перемычка, при замыкании которой устройство полностью «обнулит» микроконтроллер.
Приступим )
1. Изготовление платы
1. Собираем устройство по самой последней версии на данный момент.
Печатка Доктора от Paul (в Сплинте)
Ошибки в данной плате, обнаруженные zloynik:
1.Резистор с 23 ноги меги не соединен с панельками.
2.Резистор с 4 ноги меги не соединен с панельками.
3.Резистор с 5 ноги меги не соединен с панельками.
4.Транзистор BC547(Т2) с 13 ноги меги-нет контакта с эмиттера на «землю».
Не беда. Дорисовываем недостающие соединения.
Печатная плата в Спринте
специально выделил дорожку, чтоб показать какие они тонкие. Ширина дорожки — 0.5 мм. Для меня это слишком мелко
2. Печатаем несколько вариантов дорожек на кальке, чтоб потом выбрать более лучший рисунок. В следующий раз буду пробовать глянцевую бумагу от бесполезных буклетов-макулатуры…
принтер не в лучшем состоянии (. Мажет. Единственное спасение — это то, что он в самом начале нормально пропечатывает
3. Прогреваем плату предварительно утюгом на максимуме. Прикладываем рисунок — он моментально прилипает. А мы его разглаживаем ваткой и опять греем утюгом.
4. НУ вот и первый блин комом. Перестарался с очисткой бумаги. Не отчаиваемся, переделываем ) a-a.d-cd.net/cfcaaa8s-960.jpg
5. Пропустим попытку №2 и сразу к третьей передем. А если быть более точным честным, то плата эта была 5-й раз переделана. После протравки в хлорном железе получилось это чудо )
Нужно было маркером подправить перед травлением.
желтым выделил места, где недотравил. Зеленым — дорожки в процессе травления пострадали
6. Смываем тонер растворителем 646-м (что имелось по близости, то пошло в дело) и получаем нужные дорожки. Эти дорожки ввиду недотравления пришлось доводить до ума путем «прозвонки» каждого соединения. Еще та задачка…
вот они, перетравленные дорожки. Пришлось перемычки лепить в этих местах
7. Представляю помощника в изготовлении отверстий. Его название: ДП-11 7500 обмин.
Очень полезная штукенция. Правда кушает 27В, но и от 24-х не отказывается (два аккума от УПСа ). Взял попользоваться на неопределенное время.
Особенность: если положить моторчик, перестает крутиться. А если начать сверлить (только подносишь к будущему отверстию и надавливаешь), то начинает сверлить.
миниатюрный моторчик
Т.е. вначале не понравилось, когда он в горизонтальном положении останавливался, а потом понял, что это вообще незаменимая вещь! Просверлил нужные отверстия, отложил моторчик всторону. Нужно просмерлить? берешь и сверлишь… Питание при этом не убитается.
Вначале думал, что там какой-то регулятор стоит. Но нет там ничего такого, это просто моторчик износился со временем и глючит. Глюк на пользу )))
2. Сборка устройства Atmega fusebit doctor</b>
1. Набиваем плату компонентами. Вначале припаиваем перемычки и панельки под микросхемы.
Подписал радиоэлементы. Неподписанные резисторы — на 1К Ом. Не было в наличии одного резистора на 10К Ом. По совету vasilii76 установил меньше на 8,2К (какой был).
Резисторы при монтаже планировались для установки в лежачем положении (на 0.125 Вт), но раз приобрел 0,250Вт, то так и запихал их…
Устройство Atmega fusebit doctor. Надписи со стороны элементов не делал — и так пойдет (на функционирование устройства не влияет)
2. На первый раз для дорожек 0,5мм сойдет. Боялся перетравить дорожки, поэтому в процессе пришлось их дорабатывать.
позже покрою лаком сверху
3. Получилось довольно скромно ). В планах немного не так себе представлял.
Панельку под микроконтроллер на 40-пин установил на плату кверх-ногами ))) Не критично
остается подпилить края и прошить -мозги- для функционирования устройства
4. А вот такой красивый девайс с сайта getchip.net должен был получиться )
с надписями поинтереснее будет выглядеть
Сборка устройства на этом завершена. Идем прошивать микроконтроллер Atmega-8L
3. Прошивка микроконтроллера для устройства «Atmega fusebit doctor»
1. Специально делать макетку для прошивки Atmega-8L не стал.
Собирал вот по этой схемке Упрощенную отладочную для Atmega-8, но из того, что имелось и без кварца.
Две панельки на 28-ножек и пару перемычек — вот все устройство.
ну не было у меня панельки нужной ширины, прилепил на 2-х 28-и пиновыйх, но широких
2. Подключаем ранее изготовленный:
Простой LPT программатор AVR микроконтроллеров (5-ть проводков)
3. Запускаем uniprof_08_jun_10. Наш микроконтроллер определился как mega8.
Отлично! Заливаем прошивку с версией 2.11 из этого архива в папке «firmware» для нужного МК. Архив — Прошивка — atmega_fusebit_doctor_2.11_m8.bin
4. Устанавливаем фьюзы для МК и давим на батон «Write».
Всего один фьюз изменить. Убираем галочку — значит активируем перемычку
Вот и все с прошивкой. Бежим проверять в действии )
4. Проверка работоспособности доктора
Большое спасибо vasilii76, который помогал при проверке работоспособности данного устройства, давал наставления )))
1. Собираем опять же из подручных средств переходник для Attiny13. Панелька, 11 штырьков и проводки — вот и все )))
полноценную плату буду позже готовить
2. Подключаем к доктору нашу подопытную Attiny13, с заранее активированными фьюзами:
CKSEL, RSTDISBL, SPIEN. Давим на кнопку и пациент «вылечен» )
Установка в корпус + изготовление адаптера для Attiny 13 в DIP-корпусе
1. Приобрел в радиомагазинчике корпус для РЭА модели G407. После небольших манипуляций на точильном станке плата подошла идеально!
2. Установил адаптер под Attiny 13 в DIP-корпусе. Подробнее про изготовление адаптера можно ознакомиться в статье «Ч».
Адаптер под Attiny — 8pin (14pin) для Доктора (atmega fusebit doctor)
адаптер тоже идеально подходит. Копрус с адаптером отлично закрывается
Какие микроконтроллеры были испытаны?
1. Attiny 13
На докторе был испытан микроконтроллер Attiny 13. Были проверены все фьюзы в полях:
Fuse High Byte – старший байт;
Fuse Low Byte – младший байт.
Проверка прошла успешно!
2. Attiny 12
С ним что-то не так получилось. Испытывал тут: Lock Bit Byte.
МК успешно залочен.. Мигает зеленый светодиод. Эти фьюзы не получилось восстановить (
Буду позже разбираться с ней.
Сопряжение доктора с ПК
Преобразователь RS-232 — UART (для конфигурирования различных устройств)
Сколько стоит собрать это чудо?
Цена вопроса: 270р на детали, + 130р на корпус = 400р
Из деталек самый дорогой — микроконтроллер (145р — пол стоимости Доктора)
Не учитываются трудо-затраты и материалы на печатку
Опыт при изготовлении платы — бесценен!
Варианты Доктора от драйвовчан
Хороший вариант реализовал renoshnik.
Всем удачных поделок )
Не забываем нажать кнопку Нравится )))
Спасение контроллеров дело рук самих контроллеров. Эта схема для исправления не правильно зашитых фузов ATTINY2313 (хотя наверное можно перепрограммировать и другие AVR, у них команды схожи) использует режим параллельного программирования. МК восстанавливает заводские установки, а главное бит SPIEN, включается внутренний генератор, и снова можно использовать последовательный программатор, я использую USB на atmega8. Скорость его надо уменьшить, т.е. замкнуть вывод 14 ( PB0 ) через резистор 300 ом на корпус. Повышенная скорость видимо предназначена для программирования МК вставляемых в панельки находящиеся на плате программатора. У меня ATTINY2313 стоял на макетной плате соединенной проводами( примерно 20см ) с программатором , и при повышенной скорости были ошибки чтения и FLASH и сигнатуры и фузов. Стертая FLASH читалась — частично FFFF , частично 0000 , частично вообще какие — то случайные значения . Было и такое что после первого программирования МК вообще переставал определяться. Как только программатор перевел в режим LOW все ошибки исчезли, конечно при этом увеличилось время записи и чтения. Программа использовалась — СhipBlasterAVR ver 1.12.
Нижеприведенная схема исправляет фузы . Частота кварца особого значения не имеет, может быть и 1мгц и 10 мгц , или внутренний генератор с делением частоты или без . Если нужно исправить только один AVR то он припаивается сверху D1 , отгибаются только некоторые выводы и тонкими проводками соединяются с резисторами . Если несколько AVR то сверху припаивается панелька для 20 выводного корпуса ( хотя панельки не очень надежны ) . Сначала возможно придется подобрать количество диодов для получения напряжения 12в на коллекторе источника тока КТ361 ( 11,5……12,5 ), ток коллектора примерно 10ма ( можно подбирать резистор подключенный к базе ) . При использовании вместо D2 другой МК надо сравнить даташиты ( фузы других AVR совсем другие и бит SPIEN может находиться в другом разряде , тогда придется некоторые строчки прошивки изменить ), хотя и в справочных данных на ATTINY2313 есть ошибки , не правильно указаны номера входов PAGE и BS2 . Приведена также программа ( может кому пригодится ) , временые задержки организованы на программных циклах.
Сначало при подаче одновременно двух напряжений питания ( от одного блока питания ) идет стирание чипа , потом запись старших фузов далее младших , светодиод должен три раза мигнуть ( tи = 1мс при кварце 8 мгц , т. е. три раза приходит сигнал ответа RDY/BSY ) . Питание должно включаться одновременно ( нужен БП который выдает и + 5V и + 15V ) , далее МК делает набольшую задержку потом устанавливается 0 на выв. R , потом + 12в ……. и т.д.
Если после восстановления фузов будет перепрограммирован генератор с внутреннего на внешний кварц (с помощью СhipBlasterAVR ) то avr перестает определяться (сигнатура не будет читаться ) пока не будет подпаян внешний кварц .
Похожие схемы есть на греческом http://www.serasidis.gr и на немецком http://www.dl5neg.de на AVR AT90S1200, но там без обратной связи с вывода RDY/BSY ( R/B ).
Список радиоэлементов
| Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
|---|---|---|---|---|---|---|
| D1, D2 | МК AVR 8-бит |
ATtiny2313 |
2 | Одна из них нуждается в исправлении фузов | Поиск в магазине Отрон | В блокнот |
| Биполярный транзистор |
КТ315А |
1 | Поиск в магазине Отрон | В блокнот | ||
| Биполярный транзистор |
КТ361А |
1 | Поиск в магазине Отрон | В блокнот | ||
| Стабилитрон |
Д814Г |
1 | Поиск в магазине Отрон | В блокнот | ||
| Диод |
КД522Б |
2 | Поиск в магазине Отрон | В блокнот | ||
| Резистор |
330 Ом |
1 | Поиск в магазине Отрон | В блокнот | ||
| Резистор |
1 кОм |
3 | Поиск в магазине Отрон | В блокнот | ||
| Резистор |
10 кОм |
1 | Поиск в магазине Отрон | В блокнот | ||
| Резистор |
22 кОм |
1 | Поиск в магазине Отрон | В блокнот | ||
| Резистор |
150 кОм |
1 | Поиск в магазине Отрон | В блокнот | ||
| Кварцевый резонатор | 1 МГц или 10 МГц | 1 | Поиск в магазине Отрон | В блокнот | ||
| Светодиод | 1 | Поиск в магазине Отрон | В блокнот | |||
| Добавить все |
Скачать список элементов (PDF)
Теги:




Я собрал
0
1
x
Оценить статью
- Техническая грамотность
- Актуальность материала
- Изложение материала
- Полезность устройства
- Повторяемость устройства
- Орфография
0
Средний балл статьи: 2.9
Проголосовало: 1 чел.
Для исправления микроконтроллеров с неправильно прошитыми фьюзами собрал Atmega fusebit doctor. Как у большинства начинающих, программирование микроконтроллеров заканчивается залочиванием кристалла неправильно выставленными фьюзами. Не обошла и эта проблема меня, в результате, две Atmega8 и три Atmega328P в dip корпусе лежат у меня в коробке. Изучая в интернете вопрос «как разлочить микроконтроллер Atmega», попал на сайт getchip, где автор предложил свой вариант устройства Atmega fusebit doctor для исправления фьюзов до заводских. Единственным фактором являлась цена Atmega8. В городе в магазине радиодеталей Atmega8 стоит 320 рублей. Пришлось заказывать на площадке Aliexpress микроконтроллер, доставка составила 26 дней. За это время подготовил плату, и распаял детали.
Изготавливать плату с кучей dip панелей под разные микроконтроллеры не хотелось, так как в наличии Atmega8 и Atmega328P dip корпусе с неправильно прошитыми фьюзами. Решил оставить только один разъем к которому, есть возможность подключать переходники адаптеры под разные микроконтроллеры, если возникнит такая необходимость. Схема устройства взята с сайта автора и имеет версию 2h. Я ее немного изменил: резисторы smd тип 0805, транзисторы smd выпаял из старой материнской птаты. Перед установкой транзисторов проверил исправность с помощью ESR тестер. Стабилизатор напряжения +5V на чипе ams1117-5.0. Плату развел программой Sprint Layout под smd детали. Также заранее необходимо прошить микроконтроллер Atmega8 любым подходящим и имеющимся у вас в наличии программатором. Я рекомендую программатор USB ISP для прошивки кристала Atmega8. Стоит не забывать про правильно выставление фьюзы для прошивки микроконтроллера.
Переходник Atmega8 и Atmega328P dip корпусе
Изготовленная плата с распаянными деталями
Обратная сторона:
После подачи постоянного напряжения +12В на плату устройство при правильной сборке и монтаже запустится сразу же о чем будет сигнализировать красный светодиод. Блок питания на 12V от старой телевизионной приставки. Этот блок питания использую для подачи напряжения на электромотор, для сверления отверстий в печатных платах.
Изготовленный переходник для Atmega8 и Atmega328P
Обратная сторона
Индикации готового устройства имеет два светодиода – красный и зеленый цвета.
Горит зеленый светодиод – микроконтроллер успешно вылечен, фьюз биты восстановлены до заводских. То есть если микроконтроллер «залочен» (LockBits включены), проверяются фьюз биты и если они совпадают с заводскими – загорается зеленый светодиод.
Горит красный светодиод – проблемы с сигнатурой микроконтроллера, невозможно прочитать микрокод, нет микроконтроллера в панельке или нет такого микрокода в кристале данных Atmega8.
Зеленый светодиод мигает – микрокод в порядке, фьюз биты с ошибкой, но исправить их невозможно, так как микроконтроллер «залочен» (LockBits включены), необходимо полное стирание данных микроконтроллера, для этого нужно установить перемычку для полного стирания кристала – «ALLOW ERASE».
Мигает красный светодиод – микрокод в порядке, микроконтроллер «не залочен», но, по какой-то причине, нет возможности восстановить фьюз биты.
На плате есть 3-х пиновый разъем UART, через который наше устройство Atmega fusebit doctor есть возможность подключить к компьютеру через соответствующий переходник и считывать данные о процессе восстановления микроконтроллера.
Список микроконтроллеров: успешно востановленных пользователями устройством Atmega fusebit doctor.
1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2kB:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22,Attiny25, AT90s2313, AT90s2323, AT90s2343
4kB:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8kB:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT90s8535
16kB:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT90pwm216, AT90pwm316, AT90usb162
32kB:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega328, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/PA, AT90can32
64kB:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT90usb646, AT90usb647, AT90can64
128kB:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256kB:
Atmega2560, Atmega2561
Успешно вылечил свои микроконтроллеры.Теперь в программаторе USB ISP микроконтроллеры Atmega читаються и прошиваються.
Скачать с Яндекс Диска прошивку и печатную плату
AliExpress Программатор USB ISP для прошивки Atmega
AliExpress дешевые микроконтроллеры ATMEGA8-16PU
Сообщения без ответов | Активные темы
| ПРЯМО СЕЙЧАС: |
| Автор | Сообщение | ||
|---|---|---|---|
|
|
Заголовок сообщения: Помогите востановить Fuse на ATmega8.
|
||
Зарегистрирован: Вс фев 13, 2011 17:14:50 Рейтинг сообщения: 0
|
Есть ATmega8. Так вот я этой меге прошил фьюзы не правельно и не помню какие шил. Как можно восстоновить мегу ? возможно ли скинуть фьюзы подав на ногу reset 12v? и куда подключать минус к GND? |
||
| Вернуться наверх |
Профиль
|
||
| Реклама | |
|
|
|
|
BoRtO |
Заголовок сообщения: Re: Помогите востановить Fuse на ATmega8.
|
|
Карма: 7 Рейтинг сообщения: 0
|
нужно атмега доктор |
| Вернуться наверх | |
| Реклама | |
|
|
|
|
-Kasa- |
Заголовок сообщения: Re: Помогите востановить Fuse на ATmega8.
|
||
Зарегистрирован: Вс фев 13, 2011 17:14:50 Рейтинг сообщения: 0
|
мне по деталям пока его не собрать и по фенансам. мне то всего 14 |
||
| Вернуться наверх | |||
|
_RUS73_ |
Заголовок сообщения: Re: Помогите востановить Fuse на ATmega8.
|
||
Карма: 22 Рейтинг сообщения: 0
|
-Kasa- писал(а): Есть ATmega8. Так вот я этой меге прошил фьюзы не правельно и не помню какие шил. Как можно восстоновить мегу ? возможно ли скинуть фьюзы подав на ногу reset 12v? и куда подключать минус к GND? Нет не получится. Ищите в гугле Atmega FuseBit Doctor. Это устройство для восстановления микроконтроллеров с неправильно прошитыми фьюзами. |
||
| Вернуться наверх | |||
| Реклама | |
|
Выгодные LED-драйверы для решения любых задач КОМПЭЛ представляет со склада и под заказ широкий выбор LED-драйверов производства MEAN WELL, MOSO, Snappy, Inventronics, EagleRise. Линейки LED-драйверов этих компаний, выполненные по технологии Tunable White и имеющие возможность непосредственного встраивания в систему умного дома (димминг по шине KNX), перекрывают практически полный спектр применений: от простых световых указателей и декоративной подсветки до диммируемых по различным протоколам светильников внутреннего и наружного освещения. Подобрать LED-драйвер>> |
|
DiGiCat |
Заголовок сообщения: Re: Помогите востановить Fuse на ATmega8.
|
||
Карма: 3 Рейтинг сообщения: 0
|
-Kasa- писал(а): Есть ATmega8. Так вот я этой меге прошил фьюзы не правельно и не помню какие шил. Как можно восстоновить мегу ? На вывод XTAL тактирующие попробовать подать… в 90% возвращается…
|
||
| Вернуться наверх | |||
| Реклама | |
|
|
|
| Реклама | |
|
LIMF – источники питания High-End от MORNSUN со стандартным функционалом на DIN-рейку На склад Компэл поступили ИП MORNSUN (крепление на DIN-рейку) с выходной мощностью 240 и 480 Вт. Данные источники питания обладают 150% перегрузочной способностью, активной схемой коррекции коэффициента мощности (ККМ; PFC), наличием сухого контакта реле для контроля работоспособности (DC OK) и возможностью подстройки выходного напряжения. Источники питания выполнены в металлическом корпусе, ПП с компонентами покрыта лаком с двух сторон, что делает ее устойчивой к соляному туману и пыли. Изделия соответствуют требованиям ANSI/ISA 71.04-2013 G3 на устойчивость к коррозии, а также нормам ATEX для взрывоопасных зон. Подробнее>> |
|
onik |
Заголовок сообщения: Re: Помогите востановить Fuse на ATmega8.
|
||
Зарегистрирован: Чт апр 08, 2010 22:15:31 Рейтинг сообщения: 0
|
|||
| Вернуться наверх | |||
|
Smoker |
Заголовок сообщения: Re: Помогите востановить Fuse на ATmega8.
|
||
Зарегистрирован: Пт июн 04, 2010 21:58:36 Рейтинг сообщения: 0
|
Было раз, неправильно установил CKSEL. После чего отрезал от XTAL1 дорожку от программатора подающую тактовую частоту и начал подключать кварцы , керамические резонаторы на разные частоты к контактам XTAL2 XTAL1 прямо на контроллере. При одном из них — контроллер стал читаться. Еще RC- цепочку можно попробовать подключить. Но это в том случае, если другие критические фьюзы не задеты. Чтобы не напортачить я обычно считываю фьюзы с микроконтроллера а потом меняю то что мне нужно. |
||
| Вернуться наверх | |||
Кто сейчас на форуме |
|
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8 |
| Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |

Ссылки по проекту Fuse Bit Doctor
| Файл | Наименование | Размер | Скачать с сервера |
|---|---|---|---|
| FBD_PCB.zip | Печатная плата доктора в DipTrace | 270кБ | Скачать |
| FBD_circuit.zip | Схема печатной платы доктора в DipTrace | 55 | Скачать |
| FBD_circuit.pdf | Схема печатной платы доктора в PDF | 212 | Скачать |
| Fromware_V2.11.zip | Прошивка v2.11 для доктора | 87 | Скачать |
В архиве FBD_PCB.zip находится 2 версии печатной платы, с кнопками и с перемычками.
{youtube}vk5Do03bWn4{/youtube}
Список потдерживаемых типов микроконтроллеров AVR
В настоящий момент поддерживается 145 типов микроконтроллеров AVR, но не все из них были протестированы. Те, что были проверены, подкрашены зеленым цветом. Автор просит в случае проблемы с каким-либо микроконтроллером сообщить ему, тогда он исправит ошибку. Список рассортирован по объему памяти программ микроконтроллера (FLASH).
1 килобайт: AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2 килобайта: Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22, Attiny25, AT90s2313, AT90s2323, AT90s2343
4 килобайта: Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8 килобайт: Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT90s8535
16kB: Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT90pwm216, AT90pwm316, AT90usb162
32 килобайта: Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega328, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/PA, AT90can32
64 килобайта: Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT90usb646, AT90usb647, AT90can64
128 килобайт: Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256 килобайт: Atmega2560, Atmega2561
Я доработал текущую версию доктора до версией 2.10, фото 3D модели новой версии ниже.
1) Штырьевые перемычки заменил на переключатели
2) Добавлена светодиодная индикация положения кнопок и режима работы доктора
3) Добавлено ещё одно посадочное место под USB на нижней стороне платы (запасной, на случай если сломается основной)
4) Добавлена поддержка прошивки V2.12, с возможностью перейти на версию 2.11
6) Поправлена разводка платы
7) + ещё некоторые незначительные измененя.
Схемы новой версии чуть позже, после того как проверю работоспособность!
Многие радиолюбители знают (иногда на собственном печальном опыте), что микроконтроллер AVR можно вывести из строя неосторожным программированием настроечных бит (так называемых фьюзов). Будучи запрограммированными неправильно, эти биты сохраняются в энергонезависимой памяти, и могут привести к невозможности дальнейшего программирования микроконтроллера или выбору фьюзами его тактовой частоты. По крайней мере невозможно восстановить микроконтроллер обычными средствами, без наличия специального высоковольтного HVPP/HVSP программатора.
HVPP расшифровывается как high voltage parallel programming, т. е. высоковольтное параллельное программирование.
HVSP расшифровывается как high voltage serial programming, т. е. высоковольтное последовательное программирование.
Atmega fusebit doctor, как следует из названия, это устройство, предназначенное для восстановления «убитых» микроконтроллеров AVR ATmega (и ATtiny начиная с версии v2.04 устройства) путем записи в них корректных значений бит фьюзов. Описанное простое и дешевое устройство позволит исправить Ваши брикнутые микроконтроллеры за доли секунды.
Это устройство использует параллельный и последовательный принципы высоковольтного программирования микроконтроллеров AVR. С помощью этих методов можно «достучаться» до убитых микроконтроллеров, у которых запрещен сброс или программирование ISP.
[Как восстановить фьюзы «убитого» микроконтроллера]
Просто поместите убитый AVR в сокет, нажмите кнопку START и… и это все. Вы получите восстановленный, работоспособный микроконтроллер в том виде, как он пришел с завода Atmel. На плате fuse-доктора есть 3 слота для установки большинства совместимых микроконтроллеров AVR, которые совпадают с цоколевкой DIP-версий Atmega8, Atmega16, Attiny2313. Имеется также дополнительный коннектор, куда Вы можете подключить адаптеры:
[Светодиоды индикации]
Для индикации состояния на плате fuse-доктор установлены 2 светодиода — зеленый (GOOD) и красный (BAD).




Ниже приведены схемы устройства, и для удобства изучения линии питания расскрасил в разные цвета.
Розовый +5 Вольт
красный +12 Вольт
Светло синий GND (-)
Оранжевый +5 PROG для програмируемых МК, включается транзистором t3
Зеленый +12 RESET для подачи напряжения на ноги RESET востанавливаемых мк.
Общая схема для самостоятельной сборки
==============================================================================
==============================================================================
Подключение управляющего контроллера к восстанавливаемым
Схема подключения USB и преобразователь USB-UART на CP2102
Схема увлечения напряжения с 5в до 12в при помощи микросхемы MC34063
Конденсатор 470pf – емкость частотнозадающего конденсатора преобразователя.
Сопротивление 1 – резистор который отключит микросхему при превышении тока.
C13 – конденсатор фильтра. Чем он больше тем меньше пульсаций, должен быть LOW ESR типа.
13k, 1.5k – делитель напряжения который задает выходное напряжение.
D1 – диод должен быть сверхбыстрым (ultrafast) или диодом шоттки с допустимым обратным напряжение не менее чем в 2 раза превышающим выходное.
С13 электролит 220мкф,
Схемы соединения, светодиодов, транзисторов и кнопки «старт»
Подключение микроконтроллеров ATTINY 24/44/48/2313/4313
Подключение микроконтроллеров ATMEGA 8/16/32/48/164/168/324/328
Вот востановил Attiny 13A SSU
Также можно просмотреть что там происходит с МК при помощи любого терминала, благодаря встроенному USB-UART CP2101.
Фото печатной платы в DIP TRACE
Верхняя часть платы
Нижняя часть платы





















































