Как разлочить микроконтроллер avr
Перейти к содержимому

Как разлочить микроконтроллер avr

  • автор:

Спутниковое телевидение

Для исправления микроконтроллеров с неправильно прошитыми фьюзами собрал 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. Стоит не забывать про правильно выставление фьюзы для прошивки микроконтроллера.

Плата smd Atmega fusebit doctor

Переходник Atmega8 и Atmega328P dip корпусе

Переходник Atmega8 и Atmega328P dip корпусе

Изготовленная плата с распаянными деталями

Плата Atmega fusebit doctor в сборе

Atmega fusebit doctor обратная сторона платы

После подачи постоянного напряжения +12В на плату устройство при правильной сборке и монтаже запустится сразу же о чем будет сигнализировать красный светодиод. Блок питания на 12V от старой телевизионной приставки. Этот блок питания использую для подачи напряжения на электромотор, для сверления отверстий в печатных платах.

Изготовленный переходник для Atmega8 и Atmega328P

Переходник для Atmega8 и Atmega328P

Обратная сторона переходника 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 читаються и прошиваються.

059-Исправляем AVR фьюзы при помощи «Atmega fusebit doctor».

Титл

Внимание ! Автор устройства не стоит на месте — постоянно усовершенствует своего «Доктора». За изменениями слежу и я, внося обновления в статью.
В статье описана самая стабильная версия 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 (54163 Загрузки)
Плата устройства разведена хорошо, но есть один нюанс, о котором важно не забыть при сборке устройства. Ножки 40-ка пиновой панельки с 29 по 37 необходимо откусить (лучше в плате вообще не сверлить отверстия под эти ножки).

Внешний вид платы

Еще есть картинка для нанесения на плату со стороны деталей (монтажная картинка). Я впервые попробовал нанести такую картинку. Получилось очень удобно – монтаж превращается в простую процедуру установку деталек по картинкам. Наноситься рисунок методом ЛУТ. Вскройте рисунок лаком, иначе он быстро сотрется.

Монтажный рисунок на плату

059-atmega_fusebit_doctor_V2e_PCB.zip (41826 Загрузок)
«Набиваем» плату радиодеталями, ставим несколько перемычек, получаем вот такое устройство:

Готовое устройство

ВНИМАНИЕ! Если у Вас собрана предыдущая версия платы «Доктора» (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 (50372 Загрузки)

ПРОШИВАЕМ МИКРОКОНТРОЛЛЕР.

Теперь осталось только прошить микроконтроллер ATmega8 и устройство готово!
atmega_fusebit_doctor_2.09_m8.zip (47142 Загрузки)
059-FuseBits.png (69274 Загрузки)
Фьюз байты: 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 (25613 Загрузок)
059-adapter-HVSP-dip8-dip14.zip (24288 Загрузок)

Небольшой бонус от меня – адаптеры для микроконтроллеров 8-ми пиновых (ATtiny13 …) и 20-ти пиновых (ATtiny2313 …) в корпусах SOIC.

Внешний вид адаптеров

059-adapter_soic20-soic8.zip (27708 Загрузок)

Пользоваться адаптерами для SOIC корпусов очень просто:

Работа с адаптером

Вставляем адаптер

АРХИВ ВСЕХ ПРЕДЫДУЩИХ ВЕРСИЙ ДОКТОРА.

Это архив со всеми предыдущими версиями «Доктора». Кроме того архив содержит дополнительные материалы, такие как пинауты для различных корпусов AVR, платы-адаптеры и другое.

ПОСЛЕДНЯЯ, НА ДАННЫЙ МОМЕНТ, ВЕРСИЯ «ДОКТОРА».

Как я уже упоминал выше, главным достоинством «Доктора» является его автономность. Для восстановления фьюзов нужно лишь само устройство. Это очень хорошо!
Да, «Доктор» по UART выдавал информацию о процессе «лечения». Сообщения по UART, дублируя светодиоды, давали более полную картину «лечения», но многим этого было недостаточно. Хотеться более полного контроля процесса восстановления. И в новом апдейте автор дает этот полный контроль!

Теперь стало возможным:
— двухстороннее общение с «Доктором» по UART;
— работа с кристаллами у которых неверная сигнатура;
— устанавливать свои fusebits и lockbits;
— об остальном читайте в описании внутри архива…
atmega-hvpp-fusebit-doctor_update11.zip (64544 Загрузки)

ПЛАТЫ ДОКТОРА ЧИТАТЕЛЕЙ БЛОГА.
Здесь находятся устройства собранные читателями — хорошо когда есть выбор.

Печатка «Доктора» от Paul (в Сплинте)

ATmega-Fusebit-Doctor-PCB.zip (23425 Загрузок)
zloynik нашел некоторые ошибки:
1.Резистор с 23 ноги меги не соединен с панельками.
2.Резистор с 4 ноги меги не соединен с панельками.
3.Резистор с 5 ноги меги не соединен с панельками.
4.Транзистор BC547(Т2) с 13 ноги меги-нет контакта с эмиттера на «землю».
В остальном вроде все впорядке. Собрал-залочил тиньку 2313-восстановило.
Учтите при изготовлении.

Вариант «Доктора» в SMD исполнении от webconn.

ATmega Fusebit Doctor SMD by WebConn V2h.zip (19295 Загрузок)
Хотел бы внести свой вклад в форме ещё одной платы для «доктора» в SMD-исполнении. Всего 5 перемычек и 3 SMD-»пофигистора», питание от Power Jack 5mm (но в архиве есть версия с колодкой) через 78L05 (греется, но пару минут можно работать без отключения питания, а больше обычно и не нужно ) Также греется один из транзисторов, но тоже в меру (мелкота требует жертв). Тем не менее, плата юзабельна. Совместима с последней версией Доктора V2h (то есть полностью растащен UART).

Вариант «Доктора» от Machineman .

Плата в спринте, разводил под детали, которые были в наличии, так что там симбиоз SMD с выводными элементами, от перемычек уйти не удалось, как ни крутил. Транзистор T3 перевернул в нужную сторону (по началу запутался с эмиттером-коллектором). Да, с питанием не стал особо заморачиваться и вывел все на разъем molex. Ну и разумеется выход на платы расширения. Удачи!

Вариант «Доктора» от TaseG (разводка в сплинте).

Исправление разводки от Максима Носырева.
Я начинающий, поэтому прошу строго не судить, если я ошибся.
Если сравнить разводку с оригиналом из статьи, то там есть лишняя дорожка, замыкающая 9 и 5 вольт, как я понял на питание меги придет 9 вольт. Может, конечно, я ошибаюсь, но наверно так не должно быть…

Вариант «Доктора» от Sailanser (разводка в Eagle 5.10)

Сам себе делал это устройство по выложенной оригинальной схеме. Плату сделал двухстороннюю дабы была маленькой и компактной. Делал на SMD плюс управляющий контроллер в DIP. Контроллеры для излечивания если необходимо подключаю с помощью внешней макетки.

Вариант «Доктора» от MVV
А еще «Доктора» можно сделать и так:

Адаптер для ATtiny26 от Fahivec
Adapter_Tiny26_SMD.zip (7780 Загрузок)
В архиве фотка и файлы .sch/.brd из Eagle 5.7.0

Доктор от dimon24
вариант печатной платы с универсальными ZIF панельками под 5 МК DIP8,14,20,28,40
Atmega-fusebit-doctor-ZIF.zip (9795 Загрузок)

Переходник для ATmega48A/PA/88A/PA/168A/PA/ 328/P TQFP32 от S@per


TQFP32-for-fuse-bit-doctor.zip (Одна Загрузка)

ЗАКЛЮЧЕНИЕ.

В результате работы «Atmega fusebit doctor» мною были возращены к жизни несколько ATtiny2313, ATmega48, Atmega8535. «Atmega fusebit doctor» зарекомендовал себя с наилучшей стороны. И даже появились планы на нестандартное его использование. Давно руки чешутся заюзать ножку сброса ATtiny13 как еще один порт ввода/вывода, но всегда останавливало то, что микроконтроллер теряется для последующего использования. С «доктором» можно смело использовать ножку по своему усмотрению и при необходимости восстанавливать ее «заводское» назначение.

Доктор фьюзов для AVR

Всем привет! Наверное у каждого, кто занимается или занимался прошивкой микроконтроллеров были случаи, когда вы неправильно зашивали фьюз-биты и тем самым приводили микроконтроллер в «залоченное» состояние. В этой статье я расскажу о том, как сделать AVR doctor. AVR doctor – это устройство, которое позволяет вернуть к жизни микроконтроллер с неправильно прошитыми фьюзами. Идея собрать его появилась у меня после того, как испортил 3 микроконтроллера ATtiny2313. Выбросить их было жалко, поэтому и решил их «вылечить».

Схема доктора фузов

Вот принципиальная схема данного устройства:

Итак, приступим к сборке.

1) Печатная плата

Так как дорожки на плате не очень узкие, можно изготовить плату по технологии ЛУТ. Я так и сделал, но принтер у меня печатает не очень хорошо, поэтому получилось не совсем удачно. На фото процесс изготовления платы.

Сборка устройства

Для сборки нам понадобится:

1. Резисторы:

2. Конденсаторы:

100 мкФ 16в. – 1шт.
10 мкФ 16в. – 1шт.
10 нФ – 1шт.

3. Транзисторы:

4. Светодиоды – 2 шт. (красный и зеленый)

5. Панели под микроконтроллеры

40 выводов – 1шт.
28 выводов – 2шт.
20 выводов – 1шт.

6. Кнопка 4-х контактная – 1 шт.

7. Терминальный блок на 2 контакта – 1шт.

8. Стабилизатор напряжения 7805 в корпусе ТО-220 – 1 шт.

Вот собственно и все детали. Можно приступать к сборке АВР доктора.

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

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

Доктор фьюзов для МК AVR самодельный

Прошивка микроконтроллера

Следующим этапом будет прошивка микроконтроллера. Для этого вам нужно иметь:

  1. Микроконтроллер ATmega 8
  2. Программатор для AVR микроконтроллеров.

Чтобы прошить микроконтроллер нужно иметь программатор и компьютер с соответствующим программатору ПО. Я использую AVR Studio 4. Прошивку оставлю в архиве вместе с печатной платой и принципиальной схемой.

Фьюз-биты нужно установить следующим образом:

Lock Bits = 0x 3F; High Fuse = 0x D1; Low Fuse = 0x E1; Ext. Fuse = 0x 00

Если микроконтроллер успешно прошит, можно приступать к разблокировке микроконтроллеров. Для этого вставьте прошитую атмегу в панельку возле светодиодов. А «залоченный» мк вставьте в соответствующую ему пустую панельку. Далее нужно подключить питание к плате через терминальный блок, который вы припаяли. Напряжение следует подавать 6-12 вольт, иначе плата не запуститься. Когда питание подключили загорится красный светодиод (если конечно вы все правильно собрали).

Если светодиод горит, то нажимайте на кнопку. Должен загореться зеленый светодиод, а красный погаснет. Если все так и произошло, то поздравляю – плата собрана правильно и вы разблокировали микроконтроллер.

Теперь несколько слов о джампере, который стоит на плате. Если вы поставите на него перемычку, то при разблокировке МК также очиститься его память, то есть удалиться прошивка. Если же перемычки не будет – прошивка сохраниться.

Если при нажатии на кнопку не произошли действия описанные выше, то что-то пошло не так как нужно. Причина может быть в том, что вы ошиблись при сборке платы или прошивке атмеги. Также причина может быть в том, что микроконтроллер, который вы хотите восстановить, неисправен. Дополнительная информация – на форуме. Всем удачи!

Фьюзбит Доктор. Исправляем AVR при неправильно прошитых фьюзах (Сборка устройства).

Для вылечивания микроконтроллеров с неправильно прошитыми фьюзами собрал 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-и пиновыйх, но широких

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.
МК успешно залочен.. Мигает зеленый светодиод. Эти фьюзы не получилось восстановить (
Буду позже разбираться с ней.

Сопряжение доктора с ПК

Сколько стоит собрать это чудо?

Цена вопроса: 270р на детали, + 130р на корпус = 400р
Из деталек самый дорогой — микроконтроллер (145р — пол стоимости Доктора)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *