Я работаю с микроконтроллерами уже несколько лет. По началу прошивал микроконтроллеры через LPT порт. Потом это надоело, и я собрал программатор «USB Tiny» на микроконтроллере ATtiny2313, и пользовался им на протяжении трёх лет.
Программатор «USB Tiny» всем устраивал, за исключением некоторых недостатков:
- Драйвер на Windows 7 x64 ставился лишь после перевода «Винды» в «Тестовый режим». Иначе – никак не получалось заставить его работать. В связи с чем установка программатора на другой ПК начиналась с лишних ненужных телодвижений;
- Нужна была возможность отключения питания программатора, чтобы программируемая схема могла питаться от собственного источника питания;
- Программатор мной был сделан на скорую руку, и провода (штекер USB и штекер под МК) просто торчали из корпуса, и время от времени они изнашивались (перетирались при интенсивном использовании и при переноске, либо в месте входа в программатор, либо в месте вблизи разъёмов).
Было решено собрать новый программатор, и учесть все мелочи, которые скопились на протяжении трёхлетнего срока эксплуатации программатора. Посмотрев в Интернете информацию по программаторам, я решил, что буду собирать USBasp, но сделаю небольшие доработки…
Итак, какие моменты я хочу учесть при сборке нового программатора:
- Прежде всего, сделать программатор в форм-факторе «коробочки», без торчащих проводов, всё сделать на разъёмах. В случае износа проводов, можно будет просто подключить новый провод к разъёму на корпусе программатора;
- Сделать возможность выбора питания: питание от программатора, либо МК питается от устройства, в котором он установлен;
- Если выбрано питание от программатора, то сделать выбор напряжения питания: 3,3 либо 5 вольт (это тоже немаловажно, потому что схемки бывают совершенно разные…);
- У программатора USBasp есть функция «Slow SCK» которая позволяет прошивать микроконтроллеры, работающие на пониженной тактовой частоте, поэтому обязательно вывести кнопку включения этой функции;
- Сделать кнопку сброса прошиваемого МК, иногда тоже бывает нужно, при отладке некоторых девайсов;
- Уж делать так делать – добавить предохранитель с возможностью быстрой замены.
На этом, пожалуй, хватит. Это основные недостатки, которые я хотел устранить. Начинаем сборку. Печатную плату я изготовил при помощи ЛУТ технологии. Отмочил бумагу:
Протравил
Смыл тонер ацетоном, и просверлил отверстия
Спаял и покрыл лаком
На торцах корпуса находятся разъёмы: USB для подключения к ПК, и DB-9 для подключения к микроконтроллеру. На корпусе наклеена наклейка с распиновкой выводов разъёма DB-9:
На боковой части корпуса расположены две кнопки и гнездо для предохранителя. Красная кнопка выполняет перезагрузку подключенного к схеме МК (reset target), синяя кнопка понижает тактовую частоту (SCK) до 375 КГц, это нужно для прошивки микроконтроллеров, работающих на низкой тактовой частоте. Предохранитель нужен для дополнительной защиты USB порта от перегрузки, материнские платы всякие бывают, мне попадались и без защиты по току (!!!).
На второй боковой части корпуса расположены два индикаторных светодиода, и два переключателя для выбора напряжения питания, либо для его отключения. Зелёный светодиод свидетельствует об успешном USB-соединении, а красный светодиод загорается в момент чтения или записи программы микроконтроллера.
Приклеил самоклеющиеся ножки.
Готово!
Про процесс прошивки и другую подробную информацию можно прочитать в этой статье, ну а я приведу лишь модифицированную схему программатора:
Из схемы видно, что добавлен LDO-стабилизатор на 3.3 вольта (NCP1117-3.3), стабилитроны в цепи USB-порта (любые на напряжение 3.6В), а также добавлен предохранитель на ток 0,5 ампер. Также ниже можно скачать модифицированную мной печатную плату в формате SL5, из которой выкинут разъём программирования (он теперь находится на корпусе программатора), благодаря чему сильно упростилась «разводка» платы на одностороннем стеклотекстолите. Также в своём варианте я применил smd-резисторы типоразмера 1206, под которые плата и была переделана.
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
IC1
МК AVR 8-битATmega8-16PU1
Линейный регуляторTLV1117-331
NCP1117-33
Стабилитрон3.6В2
D1, D2
Светодиодлюбой2
R1
Резистор smd 120610 кОм1
R2, R6
Резистор smd 120668 Ом2
R3
Резистор smd 12060 Ом1
ПеремычкаR4, R5
Резистор smd 1206390 Ом2
R7
Резистор smd 12061.5 кОм1
Резистор smd 1206270 Ом1
C1, C2
Конденсатор smd 120618 пФ2
C3
Конденсатор smd 12060.1 мкФ2
C5
Конденсатор10 мкф 10в1
Q2
Кварц12 МГц1
FUSE
Предохранитель0.5 Ампер1
Добавить все
Скачать список элементов (PDF)
Прикрепленные файлы: