Май 2020 года. Самоизоляция.
Сделал программатор vusbtiny по описанию из статьи. Я не разобрался или программное обеспечение не доработанное.После этого у меня оказалось несколько микроконтроллеров attiny85 не пригодных для использования с моими техническими и программными средствами.
В статье я рассказываю как я восстановил работоспособность моих микросхем.
В статье «Записываем программу в Attiny85» я подготовил микроконтроллер ATtiny85 для программатора vusbtiny. Я изготовил программатор vusbtiny. Вставил в панельку для управляющего процессом управления программирования микроконтроллер Attiny85, подключил его к персональному компьютеру, работающему на операционной системе Windows XP(32bit) кабелем к USB порту. В диспетчере устройств появилось « неизвестное устройство».
Программатор vusbtiny на ATtiny85
После установки драйверов в диспетчере устройств появилось «устройство USBtiny». Так оно в моём понимании и должно было случиться, но ни с одним из многих программ - программаторов это моё чудо не заработало.
На фото внизу (скриншот) диспетчера устройств моего ПК с подключенным программатором vusbtiny на ATtiny85.
Я менял драйвера, прошивал в ATtiny85 разные программы управления (прошивками), но никак не получилось «подружить» электронное устройство программатор vusbtiny с программами программаторами. В результате у меня скопилось несколько штук мк ATtiny85, в которые я уже не смогу записать прошивки с помощью программатора AVRISP, работающего в режиме последовательного программирования («Serial Peripheral Interface» в переводе «последовательный периферийный интерфейс») и управляемого программой SinaProg 2.1.1. В железе SPI - это синхронная четырёхпроводная шина. Печально.
После поиска в сети информации о таких ситуациях выяснилось, что микроконтроллеры (мк) семейства Tiny можно программировать ещё в режиме последовательного программирования при высоком напряжении в переводе High Voltage Serial Programming (HVSP).
Программаторы HVSP оказались сложными, сделанными для всех семейств мк фирмы Atmel.
Но мне повезло - я нашел статью, в которой автор предложил способ восстановления способности мк ATtiny25 программироваться по интерфейсу SPI. Вот адрес статьи в сети.
Статья очень маленькая. Идея автора интересная. Он предложил плату Arduino соединить с мк ATtiny25 в соответствии со схемой, загрузить в Arduino IDE скетч hv_serial_prog.pde, переработать его (скомпилировать), а результат компиляции – управляющую программу для микроконтроллера платы Arduino записать в микроконтроллер платы Arduino.
Затем запустить монитор порта. В окне монитора порта Arduino IDE ввести любой символ и нажать клавишу Enter, программа отработает в холостую. Можно приступить к изменению фьюзов на заводские .
Для этого подаётся постоянное напряжение 12В на первый вывод мк ATtiny25, и в окне последовательного порта Arduino IDE вводится любой символ и нажимается клавиша Enter.
Две секунды - и фьюзы изменены. Кнопку подачи напряжения можно отпустить.
Решил, что перед тем как сделать устройство (шильд), сначала нужно проверить скетч hv_serial_prog.pde на работоспособность.
Компиляция скетча выполнена успешно в Arduino IDE 1.8.7.
Результат компиляции скетча hv_serial_prog.pde.
Загрузка управляющей программы проведена в мк ATmega328P Arduino Pro Mini china, и она прошла успешно.
Результат загрузки управляющей программы в мк ATmega328P Arduino Pro Mini china.
После запуска монитора порта в программе Arduino IDE 1,8.7.
Окно Arduino IDE, в котором можно открыть окно «Монитор последовательного порта».
В окне монитора последовательного порта начинает появляться надпись: «Enter a character to continue».
Программа управления просит ввести любой символ для разрешения выполнить запрограммированные действия по изменению фьюзов, установленных в микроконтроллер.
Вводим символ А и нажимаем кнопку «отправить».
Фото 6. Приглашение программы к работе.
В окне монитора порта появились результаты работы программы. Я убедился, что программа работает.
Отчет программы о проделанной работе в холостую.
Забегая вперед, привожу фото окна монитора порта при удачном изменении фьюзов с использованием моего устройства.
Старые фьюзы определены, показаны и стерты программой, а затем прошиты (выставлены) в микроконтроллер новые фьюзы.

Отчет программы о проделанной работе.
Исследуя скетч hv_serial_prog.pde, я увидел, что кроме ATtiny25 можно работать и с ATtiny45, ATtiny85.
Поэтому я решил сделать устройство (шильд) для восстановления моих микросхем (ATtiny85).
Фото 9. Заголовок скетча hv_serial_prog.pde
Изготовление Шильда.
Я начал изготовление шильда с разработки схемы под оборудование, которое у меня было (плата Arduino Pro mini china, USB Serial adapter CH340G).
Схема выводов на Arduino Pro mini и мк ATtiny85.
Выводы микроконтроллеров ATtiny25, ATtiny45, ATtiny85 совпадают.
Схема устройства не стандартная, но мне с ней было удобно работать.
Схема установки с использованием шильда для восстановления заводских установок фьюзов для ATtiny25, ATtiny45, ATtiny85.
Для этого я нашел кусочек односторонней макетной платы, губку, ушную палочку, флюс паяльный ЛТИ-120, паяльник, припой.
Зачистил макетную плату губкой от окислов (что останется от медного слоя, если его зачищать наждачной бумагой). Обработал ее флюсом, а затем покрыл тонким слоем припоя с помощью паяльника. Результат на фото внизу.
Подготовка макетной платы.
Затем взял лист бумаги А4 и набросал схему расположения компонентов схемы на макетной плате.
Причем на бумаге у меня изображено как бы две плоскости макетной платы. Дальняя плоскость от моего взгляда это - медная фольга. Схема шильда простейшая, поэтому у меня все получилось.
Схема расположения компонентов платы шильда.
Перед установкой и пайкой деталей я проверил единственный полупроводниковый прибор – транзистор. Проверил его тестером Lcr-t4, работающим на микроконтроллере AVR с минимумом дополнительных деталей.
Проверка на работоспособность транзистора 2N3904.
Результат трудов внизу на Фото 15. Это - собранная схема для изменения фьюзов с шильдом. Здесь на фото не хватает только блока питания на 12В.
Микроконтроллер ATtiny85 лежит рядом.
Фото15 Система для изменения фьюзов мк Attiny25, ATtiny45, ATtiny85, плата Arduino Pro mini china, USB Serial adapter CH340G, шильд, микроконтроллер ATtiny85.
Блок питания на 12В 3А.
Еще раз опишу кратко о последовательности действий по изменению фьюзов на ATtiny мк Attiny25, ATtiny45, ATtiny85.
1. Устанавливаем систему программирования Arduino IDE.
2. Подключаем плату Arduino (Arduino UNO, Arduino Mega, Arduino Nаno, Arduino Mini, Arduino Pro mini china сUSB Serial adapter CH340G).
3. Открываем скетч hv_serial_prog.pde в Arduino IDE. Я поступил так: в Arduino IDE создал новый скетч. Открыл файл hv_serial_prog.pde на сайте автора идеи (смотри Фото9) и скопировал текст. Скопированный текст я вставил в окно нового скетча, созданного в Arduino IDE, затем сохранил его под именем hv_serial_prog. Расширение для файла допишет сама Arduino IDE, она также потребует создать папку с таким же именем (hv_serial_prog).
4. Компилируем скетч hv_serial_prog.
5. Записываем результат компиляции в микроконтроллер вашей платы Arduino.
6. Открываем монитор порта. Если Вы видите фразу: «Enter a character cjntinue», то можете приступить к монтажу схемы. Схема небольшая, можно воспользоваться макетной платой для монтажа без пайки.

Выводы платы Arduino Nano для программирования Attiny85 в режиме High Voltage Serial Programming с помощью скетча hv_serial_prog.pde.

Выводы платы Arduino MEGA для программирования Attiny85 в режиме High Voltage Serial Programming с помощью скетча hv_serial_prog.pde.

Выводы платы Arduino Micro для программирования Attiny85 в режиме High Voltage Serial Programming с помощью скетча hv_serial_prog.pde.
7. Подаёте напряжение 12В на схему и нажимаете кнопку. Я кнопку не нашел, на разъём для неё поставил перемычку, а напряжение подавал через разъем блока питания.
8. Вводим символ А и нажимаем кнопку «отправить». Видим отчет программы о проделанной работе (смотри Фото6).
9. Снимаем (отключаем) напряжение 12В со схемы.
10. Разбираем схему, вынимаем микросхему из панельки. Микросхема как новая.
Таким же образом можно превратить плату Digispark в простую плату с микроконтроллером Attiny85 c возможностью записи программ в него без использования Arduino IDE (освобождается место в памяти программ, и вы можете использовать в своём проекте все выводы Attiny85).

Выводы платы Digispark для программирования Attiny85 в режиме High Voltage Serial Programming.
Теперь у меня есть возможность программировать ATtiny85 (см. статью «Записываем программу в Attiny85») и восстанавливать фьюзы микроконтроллера. Теперь я могу делать устройства на ATtiny85 и если они не рабочие не «понерять» микросхему.
Удачи!