USBTiny - миниатюрный USB программатор AVR микроконтроллеров. Как подключить, написать программу и прошить микроконтроллер ATtiny2313 Attiny2313 драйвер для подключения

Устройства 04.12.2019
Устройства

И, так как все равно решил травить новую, было принято решение внести изменения в разводку платы.

Что нового в измененной разводке?
1 Появился светодиод, светящийся при подключении к USB. Отсутствие какой либо индикации подключения очень напрягало.
2 Появилась возможность подтянуть ножку сброса к плюсу питания. Конечно, сброс можно подтянуть и внутренним резистором, но для очень «шумных» условий, я думаю, будет не лишним подтянуть внешним резистором (5-10 кОм).
3 Сделав плату немного шире, добавил к выходному разъему «землю» и плюс 5 вольт от USB. Если внешнее устройство необходимо будет запитать от USB, будет удобно это делать с одного разъема.
4 Ножки 11, 12, 13 выведены на отдельные площадки. Это сделано для того, чтобы плату можно было использовать как универсальную для различных устройств с использованием USB (термометры, даталогеры, устройства управления, сигнализации и т.д.).

Все остальное (прошивка, фьюзы, драйвер) осталось прежними.

Думаю не лишним будет еще раз описать процедуру установки драйвера и работу с преобразователем.

Этот преобразователь взят с сайта www.recursion.jp/avrcdc/ . Я немного модифицировал оригинальную схему, добавил стабилитроны в линии USB, что улучшило совместимость с подключаемыми схемами. На схеме красным показаны изменения.

1 Печатная плата односторонняя . Перемычка всего одна — для подтяжки ножки сброса — можно не ставить. Предусмотрены дополнительные площадки для того, чтобы перемычками можно было изменять схему под другие устройства с USB.

Рисунок печатной платы UART-USB на ATtiny2313

Готовая плата имеет вот такой вид:

2 Далее нужно прошить микроконтроллер. Программатор подключается прямо на разъем. Штырек сброса Рядом с UART разъмом. При программировании преобразователь нужно запитать напряжением 5v от внешнего источника. Через USB нежелательно.

Прошивка преобразователя UART to USB для ATtiny2313
- Фьюзы для микроконтроллера ATtiny2313 (преобразователь UART to USB)

3 После того как устройство собрано и прошито необходимо установить драйвер виртуального COM порта.
Качаем архив и выбираем нужный драйвер
- Драйвер «Virtual Communications Port» для Win
В архиве есть папки для разных Win:
/raw — для (Windows 2000/XP)
/w2k — для Windows 2000 (bulk mode only)
/xpvista7 — для Windows XP/Vista/7 x32
/vista64 — для Windows Vista x64 (так же работает и на Win7 x64)

Установить драйвер очень просто:


3.1 Вставляем «флешку-преобразователь» в USB порт;


3.2 Получаем в трее сообщение о том, что найдено новое устройство «USB-232»;


3.3 Запустится «Мастер нового оборудования», выбираем «Установка из указанного места», жмем «Далее»;


3.4 Выбираем «Включить следующее место для поиска» и в окошке указываем нужный путь к выбранному драйверу;
3.5 Жмем «Далее», драйвер установится, жмем «Готово»

Теперь в «Свойствах» «Моего компьютера» в закладке «Оборудование» нажимаем кнопку «Диспетчер устройств». В окошке диспетчера устройств в разделе «Порты (COM и LPT)» увидим новое устройство — «Virtual Communications Port (COM5)» — это и есть наш виртуальный COM порт.


Для каждого USB порта будет назначен свой виртуальный COM порт (COM5, COM6, COM7 и т.д.).

4 Готово! Теперь можно пользоваться преобразователем.

Проверим работоспособность преобразователя, для этого нужно закоротить вход с выходом (RxD, TxD) и посылать с компьютера сообщения по виртуальному порту. Посланные сообщения должны возвращаться как принятые.

Рано или поздно перед разработчиком какого либо устройства на микроконтроллере появляется потребность в стыковке его с компьютером. Самое простое и очевидное решение — это заюзать COM или LPT порт компьютера. А как быть тем у кого нет COM и LPT ? Например владельцам ноутов? Решение есть! Встречайте этот чудесный девайс. Это преобразователь интерфейсов USB-UART.

Преобразователей подобного рода существует великое множество. Наибольшую популярность получили преобразователи FTDI. Они конечно хороши но у них есть три недостатка:

  • Стоимость . Например у нас FT232RL стоит 155 р. Довольно таки дорого
  • Корпус . Она жутко мелкая! Корпус SSOP-28 не для новичков.
  • Доступность. Достать её не так то просто. Во всяком случае у нас

Я предлагаю собрать аналогичный преобразователь на микроконтроллере Atmega8. Скажу сразу что схема и прошивка не моя. Я лишь разработал печатную плату и доработал схему. (добавил стабилитроны на 3.3 в). Итак схема:

Как видно, схема особой сложности не представляет. Хочу обратить внимание на то что нумерация указанная на схем подходит только для микроконтроллера в DIP корпусе. Я же использовал TQFP для экономии места. Получилось у меня примерно следующее:

Самодельный драйвер двигателей на транзисторах можно использовать не только для управления коллекторными моторчиками постоянного тока но и для управления шаговыми двигателями. Шаговые двигатели можно использовать для изготовления самодельных станков, роботов и прочих интересных вещей. Коллекторные двигатели тоже можно использовать для этих целей и асинхронные тоже но шаговые для таких применений обладают преимуществами: 1) точность, 2) отсутствие необходимости в обратной связи, 3) высокий момент и 4) низкие обороты. Начать освоение шаговых двигателей можно с каких нибудь дешёвых небольших например таких:

Рисунок 1 - Шаговый двигатель

У этого двигателя имеется 4 вывода 2 из них идут на одну обмотку остальные 2 на другую. Ротор двигателя будет вращаться если на определённые выводы в определённой последовательности подавать определённые напряжения. Есть несколько способов управления шаговым двигателем, один из них иллюстрируется на рисунке:

Рисунок 2 - Пример управления шаговым двигателем

Микроконтроллер может управлять драйвером так чтобы ротор подключённого к этому драйверу шагового двигателя вращался, для этого можно например хранить последовательности состояний выводов в массиве и перебирать их по очереди с необходимой периодичностью и в нужном направлении. А можно управляющую программу запускать на компьютере а микроконтроллер использовать для преобразования последовательного кода в набор состояний выводов микроконтроллера. LPT-порт параллельный и для управления шаговым двигателем в этом нет необходимости но так всё же можно поступить например для того чтобы не переделывать (сделанную ранее) схему для перепрограммирования микроконтроллера:

Рисунок 3 - ATtiny2313 и LPT-порт


Драйвер также не нужно переделывать:

Рисунок 4 - Драйвер двигателей


Прошивку для ATtiny2313 вместе с проектом для WinAVR можно скачать . Программу (вместе с inpout32.dll) для управления двигателем можно скачать , для этой программы как и для предыдущей необходим файл inpout32.dll который должен находится в той же папке что и программа. Эту программу можно использовать не только для управления шаговым двигателем. Вообще она подойдёт для управления как угодно драйвером на небольшой частоте. Посмотреть всё в действии можно на видео:

Программатор USBASP — устройство, распиновка, подключение, прошивка

Сегодня мы рассмотрим как, без особых затрат и быстро, запрограммировать любой микроконтроллер AVR поддерживающий режим последовательного программирования (интерфейс ISP) через USB-порт компьютера. В качестве программатора мы будем использовать очень простой и популярный программатор USBASP , а в качестве программы — AVRdude_Prog V3.3 , которая предназначена для программирования МК AVR.

Программатор USBASP

Для того, чтобы запрограммировать микроконтроллер необходимо иметь две вещи:
— программатор
— соответствующее программное обеспечение для записи данных в МК
Одним из наиболее простых, популярных и миниатюрных программаторов для AVR является USBASP программатор , созданный немцем Томасом Фишлем.
Имеется много разных схемотехнических решений этого программатора, программатор можно собрать самому или купить (стоимость — 2-3 доллара). При самостоятельной сборке следует учитывать, что собранный программатор необходимо будет прошить сторонним программатором.

Мы рассмотрим наиболее «навороченную» версию программатора:


Характеристики программатора:
— работает с различными операционными системами — Linux, Mac OC, Windows (для операционной системы Windows, для работы программатора, необходимо установить драйвера — архив в конце статьи)
— скорость программирования до (скорость программирования можно устанавливать самому, к примеру в AVRDUDE_PROG) 375 (5) кб/сек
— имеет 10-контактный интерфейс ISP (соответствует стандарту ICSP с 10-контактной распиновкой)
— поддерживает два напряжения питания программатора — 5В и 3,3В (не все USB порты ПК работают при 5 Вольтах)
— питается от порта USB компьютера, имеет встроенную защиту по току (самовосстанавливающийся предохранитель на 500 мА)

Назначение джамперов:
разъем JP1 — предназначен для перепрошивки микроконтроллера программатора (для перепрошивки — необходимо замкнуть контакты)
разъем JP2 — напряжение питания программатора — 5 Вольт или 3,3 Вольта (по умолчанию — 5 Вольт, как на фотографии). Программируемый микроконтроллер, или конструкцию, в которой он установлен, при токе потребления 300-400 мА можно запитать с программатора, для этого на разъеме есть выход +5В (VCC).
разъем JP3 — определяет частоту тактирования данных SCK: разомкнутый — высокая частота (375 кГц), замкнутый — низкая частота (8 кГц)
Подробнее о разъеме JP3
Джампер JP3 предназначен для уменьшения скорости записи данных в микроконтроллер. Если у микроконтроллера установлена частота тактирования более 1,5 мГц — джампер может быть разомкнут, при этом скорость программирования высокая. Если тактовая частота менее 1,5 мГц — необходимо закоротить выводы джампера — снизить скорость программирования, иначе запрограммировать микроконтроллер не получится. К примеру, если мы будем программировать микроконтроллер ATmega8 (в принципе, практически все МК AVR настроены на тактовую частоту 1 мГц по умолчанию), у которого частота тактирования по умолчанию 1 мГц, необходимо будет замкнуть выводы джампера (как на фотографии). Лучше, наверное, держать этот джампер постоянно замкнутым, чтобы, забыв о его существовании, не мучиться вопросом — почему микроконтроллер не прошивается.

Если вы будете пользоваться , выложенной на сайте, то о перемычке можно забыть

Программатор поддерживается следующим программным обеспечением:
— AVRdude
— AVRdude_Prog
— Bascom-AVR
— Khazama AVR Prog
— eXtreme Burner AVR

Работать с таким программатором очень просто — соединить соответствующие выводы программатора с микроконтроллером, подключить к USB-порту компьютера — программатор готов к работе.
Распиновка 10-контактного кабеля программатора USBASP :


1 — MOSI — выход данных для последовательного программирования
2 — VCC — выход +5 (+3,3) Вольт для питания программируемого микроконтроллера или программируемой платы от порта USB компьютера (максимальный ток 200 мА — чтобы не сжечь порт USB)
3 — NC — не используется
4 — GND — общий провод (минус питания)
5 — RST — подключается к выводу RESET микроконтроллера
6 — GND
7 — SCK — выход тактирования данных
8 — GND
9 — MISO — вход данных для последовательного программирования
10 — GND

Установка драйверов для программатора USBASP

Установка драйвера для программатора USBASB очень проста:
— подсоедините программатор к USB порту компьютера, при этом в диспетчере устройств появится новое устройство «USBasp» с желтым треугольником и восклицательным знаком внутри, что означает — не установлены драйвера
— скачайте и разархивируйте файл «USBasp-win-driver-x86-x64-ia64-v3.0.7»
— запустите файл «InstallDriver» — будут автоматически установлены драйвера для программатора
— проверьте диспетчер устройств — желтый треугольник должен исчезнуть (если нет, щелкните правой кнопкой по устройству «USBasp» и выберите пункт «Обновить»
— программатор готов к работе

FUSE-биты при программировании USBASP AVR:

Архив «usbasp.2011-05-28» содержит папки:
= BIN:
— win-driver — драйвера для программатора
— firmware — прошивка для микроконтроллеров Mega8, Mega88, Mega48
= circuit — схема простого программатора в PDF и Cadsoft Eagle

При перепрошивке китайского программатора рекомендую установить FUSE-бит CKOPT. CKOPT взаимосвязан с предельной тактовой частотой. По умолчанию CKOPT сброшен и стабильная работа микроконтроллера программатора при применение кварцевого резонатора возможна только до частоты 8 МГц (а МК программатора работает на частоте 12 МГц). Установка FUSE-бита CKOPT увеличивает максимальную частоту до 16 МГц. Китайцы не трогают этот FUSE-бит, что довольно часто приводит к отказу программатора (обычно система не определяет программатор).

Архив «USBasp-win-driver-x86-x64-ia64-v3.0.7» предназначен для установки драйверов, как указано в статье

(518,9 KiB, 13 188 hits)

(10,9 MiB, 24 942 hits)

Описанный в статье USBASP программатор, прошитый последней версией программы, проверенный в работе, с установленными джамперами и перемычками, вы можете приобрести в интернет-магазине «МирМК-SHOP»

Рекомендуем почитать

Наверх