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