Atmega fusebit doctor AVR

Відновлення ф'юзів мікроконтролерів

Atmega fusebit doctorБагато радіоаматорів знають (іноді на власному сумному досвіді), що мікроконтролер AVR можна вивести з ладу необережним програмуванням настроювальних біт (так званих ф'юзів).

Будучи запрограмованими неправильно, ці біти зберігаються в незалежній пам'яті, і можуть призвести до неможливості подальшого програмування мікроконтролера або вибору фьюзами його тактової частоти. Принаймні неможливо відновити мікроконтролер звичайними засобами, без спеціального високовольтного HVPP/HVSP програматора.

Atmega fusebit doctor, як випливає з назви, це пристрій, призначений для відновлення "вбитих" мікроконтролерів AVR ATmega (і ATtiny починаючи з версії v2.04 пристрою) шляхом запису в них коректних значень біт ф'юзів. Описаний простий і дешевий пристрій дозволить виправити Ваші мікроконтролери за долі секунди.

  • HVSP (High Voltage Serial Programming) послідовне високовольтне використовується для програмування мк 8 і 14 пін і не залежить від стану ф'юзів. Потребує зовнішнє джерело 12В та транзисторний ключ для подачі високої напруги на RESET пін.
  • HVPP (High Voltage Parallel Programming) високовольтне паралельне використовується для програмування мк від 20 пін і вище, не залежить від стану ф'юзів. Також вимагає зовнішнє джерело 12В та транзисторний ключ для подачі високої напруги на RESET пін.
  • ISP (In-Sistem Programming) внутрішньосхемне програмування використовує 4х провідний протокол SPI для програмування і підтримується багатьма AVR мк. Головний недолік – при певних установках ф'юзів може бути непридатним для використання.

Цей пристрій використовує паралельний та послідовний принципи високовольтного програмування мікроконтролерів AVR. За допомогою цих методів можна "достукатися" до вбитих мікроконтролерів, у яких заборонено скидання або програмування ISP.

виправлення ф'юзів

Як відновити ф'юзи "вбитого" мікроконтролера

Просто помістіть вбитий AVR у сокет, натисніть кнопку START і... і це все. Ви отримаєте відновлений, працездатний мікроконтролер у тому вигляді, як він прийшов із заводу Atmel. На платі AFD є слоти для встановлення більшості сумісних мікроконтролерів AVR, які збігаються з цоколівкою DIP-версій Atmega8, Atmega16, Attiny2313... Є також додатковий конектор, куди можна підключити адаптери.

Світлодіодна індикація

Atmega fusebit doctorДля індикації стану на платі fuse-доктор встановлено 2 світлодіоди - зелений (GOOD) та червоний (BAD).
Зелений постійно горить – пацієнт успішно вилікований, біт фьюзи відновлено. Якщо дозволені біти захисту, то буде просто проведена перевірка стану ф'юзів - чи заводські вони, і якщо це так, то зелений світлодіод спалахує.
Червоний постійно горить - проблема з сигнатурою, її не можна прочитати, немає мікроконтролера в сокеті, або такої сигнатури немає в базі даних fuse-доктора.
Зелений блимає – сигнатура гаразд, але біти ф'юзів у неправильному стані. Причина - встановлені біти захисту, потрібний дозвіл на повне очищення відновлюваного AVR (Необхідно перевести перемикач ERASE з OFF на ON).
Червоний блимає – сигнатура прочитана, немає блокування бітами захисту, але з незрозумілої причини не можна записати нове значення для біт ф'юзів.

Якщо блимає зелений світлодіод – сигнатура вірна, конфігурація Fuse-бітів не вірна. Lock-біти встановлені, потрібна операція стирання Flash-пам'яті; тоді Стирання встановлюємо у положення ON, і натискаємо кнопку Start. При виконанні цієї операції весь вміст мікроконтролера буде знищено.

USB-UART

Також можна переглянути, що там відбувається з МК за допомогою будь-якого терміналу, завдяки вбудованому USB-UART.  AFD v 2.11 має ручний режим при роботі з ПК, всі інші тільки автоматичний, остання версія v 2.14.

Перемикач "Авто" переключає порт PD0 (RXD) ATmega8 до виводу TX мікросхеми СР2102, або підключає його на мінус живлення. У режимі "auto" ви не зможете по TTL керувати роботою "AFD", тільки дивитися результат на екрані терміналу. При підключенні до ПК є можливість відновлювіти МК з нечитабельною сигнатурою і міняти ф'юзи та локбіти в ручному режимі, тільки для версії 2.11, всі вищі тільки перегляд.

Список типів мікроконтролерів 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

Електронні пристрої

Індикатор нітратів на ATmega32

У статті описано простий цифровий індикатор нітратів, виконаний на мікроконтролері ATmega32 та дисплеї від мобільного телефону Nokia3310.

Вимірювач опору переходів польових транзисторів

Вимірювач опору транзисторів

Імпульсний вимірювач опору переходів N-MOSFET польових транзисторів та падіння напруги на IGBT транзисторах.

EspHome модуль WiFi -  PowMr, Easun, Voltronic, PipSolar, Must, Growatt, Deye...

ESPHome Hybrid Inverter

Модуль підключення інверторів, MPPT, BMS та різних пристроїв до ESPHome та Home Assistant, через RS232, RS485, UART

Десульфатор збільшеної потужності

Зарядний десульфатор

Десульфатор створює короткі імпульси струму і надсилає їх в акумулятор, для руйнування шару сірчаної солі на пластинах.

Зарядне з БЖ комп'ютера

Зарядно-тренувальний пристрій АКБ

Як із комп'ютерного блоку живлення формату АТ/АТХ та саморобного блоку управління виготовити досить-таки «розумний» зарядний пристрій для свинцево-кислотних акумуляторних батарей.

перетворювач на мікросхемі SG3525

Простий інвертор 12 - 220

Простий перетворювач на мікросхемі SG3525

БЖ ATX V4

Регульований блок живлення TL494

Регульований імпульсний блок живлення Step-Down на мікросхемі TL494

Простий інвертор 12-220 Вольт 2 кВт

Замислювалися про потужний перетворювач? Насправді все не так страшно.

Амоній персульфат

Травлення друкованих плат

Замішуємо розчин для травлення. 10 г амонію надсірчанокислого додати до 90 мл води (1:9)

Контроль заряду, розряду батареї

Контроль батареї - ESPHome

Розумний шунт - модуль контроля стану акумуляторної батареї.

Десульфатор на мікросхемі CD4047

Десульфатор з індикатором стану АКБ

Десульфатор на мікросхемі CD4047 з індикатором пікової напруги на компараторі, для визначення стану акумулятора.

Маршрутизатор / дивертор сонячної енергії для ESPHome

Сонячний роутер для ESPHome

Моніторинг та управління надлишковою енергією для оптимізації використання сонячних панелей.

ATmega UPDI HV Programmer

Програматор ATmega UPDI HV

Високовольтний програматор UPDI (jtag2updi), для мікроконтролерів megaAVR та tinyAVR

Десульфатор NE555

Десульфатор акумулятора

Акумулятор пролежавши деякий час без діла перестає віддавати свою номінальну ємність, але чому це відбувається.

Автоматичний імпульсний десульфатор

Автоматичний десульфатор

Особливість десульфатора в підвищеній частоті імпульсів, та захисту від високої, низької напруги та перегрівуі.

Зарядний пристрій на Atmega328

Універсальний зарядно-тренувальний пристрій

Зарядне для AGM, GEL, Li-ion, LiTit, NiCd/Mh, LiFePo4 напругою до 24 В і ємністю до 255 Аг

Ампервольтметр на атмега8

АмперВольтметр на ATmega8

Призначений для вимірювання напруги та струму в блоках живлення.

Мікропроцесорний десульфатор

Десульфатор на мікроконтролері

Модуль керування десульфатором з регулюванням частоти та сили імпульсу, та відображенням параметрів на світлодіодному індикаторі.

ШИМ контролер кулера охолодження

Контролер кулера охолодження PWM

ШИМ регулятор керування вентилятором з температурним контролем.

Мікропроцесорний нагрівач плати

Паяльний стіл SMD

Нагрівальна плита SMD, виготовлена із друкованої плати, має кілька теплових профілів, які можна додавати та змінювати, здатна нагріватись понад 220 градусів.

Щупи Кельвіна для LCR

Щупи Кельвіна для LCR meter (DIY)

Вимірювач LCR Hantek, подібний до інших портативних вимірювачів LCR, постачається із двома крокодиловими затискачами.

Перетворювач 12-220В синусоїда

Інвертор з чистою синусоїдою

Перетворювач 12-220В синусоїда

Десульфатор без БЖ

Автономний десульфатор

Десульфатор живиться від акумулятора який десульфатується, та не потребує додаткового БЖ.

зарядне для АКБ на atmega 8

Автоматичне зарядне для АКБ

Зарядне на МК atmega8 для свинцево-кислотних АКБ 12 вольт, струмом до 10 А

Імітатор АКБ

Імітатор акумуляторної батареї

При розробці та тестуванні зарядних пристроїв для акумуляторів використання батареї може бути незручним.