Я работаю с микроконтроллерами уже несколько лет. По началу прошивал микроконтроллеры через 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-16PU | 1 | Поиск в магазине Отрон | ||
Линейный регулятор | TLV1117-33 | 1 | NCP1117-33 | Поиск в магазине Отрон | ||
Стабилитрон | 3.6В | 2 | Поиск в магазине Отрон | |||
D1, D2 | Светодиод | любой | 2 | Поиск в магазине Отрон | ||
R1 | Резистор smd 1206 | 10 кОм | 1 | Поиск в магазине Отрон | ||
R2, R6 | Резистор smd 1206 | 68 Ом | 2 | Поиск в магазине Отрон | ||
R3 | Резистор smd 1206 | 0 Ом | 1 | Перемычка | Поиск в магазине Отрон | |
R4, R5 | Резистор smd 1206 | 390 Ом | 2 | Поиск в магазине Отрон | ||
R7 | Резистор smd 1206 | 1.5 кОм | 1 | Поиск в магазине Отрон | ||
Резистор smd 1206 | 270 Ом | 1 | Поиск в магазине Отрон | |||
C1, C2 | Конденсатор smd 1206 | 18 пФ | 2 | Поиск в магазине Отрон | ||
C3 | Конденсатор smd 1206 | 0.1 мкФ | 2 | Поиск в магазине Отрон | ||
C5 | Конденсатор | 10 мкф 10в | 1 | Поиск в магазине Отрон | ||
Q2 | Кварц | 12 МГц | 1 | Поиск в магазине Отрон | ||
FUSE | Предохранитель | 0.5 Ампер | 1 | Поиск в магазине Отрон | ||
Скачать список элементов (PDF)
Комментарии (49) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
https://www.dropbox.com/s/1hneoizet95v5d0/IMG_20070101_050017.jpg
https://www.dropbox.com/s/mygchf35ishdctx/IMG_20070101_050159.jpg
При работе висит на проводе и не мешается
[Автор]
Ваша плата не умеет напругу менять на выходе, нету средств защиты, да и МК сбросить можно только из под винды. Мой вариант гораздо функциональней. Судя по всему, отладкой вы не занимаетесь, так как без кнопки ресета помоему там никак
Да и к программатором "законченность" является именно платой, а не бесполезным корпусом.
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
Да, и открою еще одну тайну, существуют специальные программы для рисования схем, а уж никак на Paint.
[Автор]
[Автор]
[Автор]
[Автор]
(Changelog: usbasp.2007-10-23 (v1.2)
- red LED turns on before connecting to target device: this signal can be used to control external tri-state buffers - похоже как раз про это)
Т.е. буфер 5В->3,3В можно добавить потом, даже в виде отдельного модуля, подключаемого к ISP 10pin разъему.
[Автор]
[Автор]
Этот программатор пользую только для написания прошивок на AVR.
[Автор]