Калибратор для attiny

После недавнего восстановления купленных tiny84, дошли руки собрать и то, для чего они предназначались – устройство для калибровки внутреннего генератора и по совместительству – устройство для восстановления фьюзов с помощью высоковольтного программирования. Иначе говоря, решил добавить в инструменты для работы с контроллерами этот проект.

В целом, все весьма неплохо расписано по ссылке выше, так что опишу только особенности и отличия от оригинала.

https://github.com/wagiminator/ATtiny84-TinyCalibrator

Дисплей использовал узкий – 128х32, в проекте все равно идет чересстрочная отрисовка букв, а узкий было удобнее использовать.

В качестве транзисторов для подачи +12В на вывод сброса контроллера использовал пару КТ502/КТ503 (да, КТ3102 у меня начали заканчиваться 🙂 ). КТ502 (p-n-p) включен эмиттером к +12, базой к КТ503 и коллектором к микроконтроллеру.

По-идее, можно было бы добавить и 14-контактную панельку – для тех же tiny84, например. Ведь не обязательно во всех проектах использовать кварц, а калибровка может пригодиться. Да и еще одна ресетилка фьюзов для них не помешает. Однако места уже на макетке не хватало, поэтому есть только 8-пиновая панель и гребенка для подключения прищепки под те же 8 пинов. Остальное будет использоваться через переходники.

В комментариях к прошлому посту есть ссылка на мод того resetter’a, где добавлен код для полного стирания чипа, что, в том числе, сбрасывает lock-биты – без этого не все микроконтроллеры могут восстанавливаться даже с высоковольтным программированием. Уже после сборки данной конструкции решил для большей универсальности и в нее добавить это стирание. Начал разбирать код и выяснилось, что тут данная процедура уже есть, так что ничего модифицировать не пришлось.

Повышающий стабилизатор решил не ставить. Питание организовано по такому же разъему, как и в прошлом проекте. На плату подается +12В, а уже на месте дополнительно делается +5 и +3,3, между которыми идет переключение. В качестве стабилизаторов – 78L05 и 78L33.

10K для кнопок не было, использовал 9,1, но с сохранением тех же пропорций, так что особо ничего не поменялось.

Разъем внутрисхемного программирования стоило разместить возле контактов индикатора, понял это уже во время монтажа – 4 из 6 контактов полностью параллельны дисплею.

По прошивке – похоже, нормально все выходит, если сначала стереть чип, потом записать туда прошивку (без стирания чипа, с -D), потом зашить фьюзы. Хотя странно. Ведь обычный режим – со стиранием чипа – и так подразумевает последовательно 2 процедуры. Надо будет поэкспериментировать еще как-нибудь.

Итоговый вариант:

Работает, правда, не всегда гладко – иногда зацикливается на переключении между первым экраном и экраном меню. Иногда после этого не реагирует на кнопки. Решается передергиванием питания.

ATtiny84-TinyCalibrator

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