ГЛАВНАЯ Визы Виза в Грецию Виза в Грецию для россиян в 2016 году: нужна ли, как сделать

USBTiny - миниатюрный USB программатор AVR микроконтроллеров. Программаторы Готово! Теперь можно пользоваться преобразователем

Ну вот и пришло время нам соорудить USB программатор. Я долго не мог определиться какой бы программатор нам собрать. Выбирал по критериям простоты конструкции и удобства работы с ними, но ничего не нравилось. Выбрать программатор помог случай. Вернее я его не выбирал вообще – я его случайно собрал сам того не подозревая!

А дело было так. Некоторое количество постов назад мы собрали преобразователь USB to UART на ATtiny2313 (а в мы даже улучшили печатную плату). Еще при выборе схемы преобразователя я планировал на его базе (при помощи заливки различных прошивок) получать устройства различного назначения. Тогда я не подозревал, что данный преобразователь можно использовать шире, чем я планировал. Увидев схему USB программатора — USBtiny на ATtiny2313 я понял, что я уже имею готовый программатор!

Посмотрев на схему, сделанного ранее, преобразователя USB to UART (домашняя страничка)


и схему USB программатора USBTiny (домашняя страница)

можно увидеть, что это одна и та-же схема . Различия незначительны – отсутствуют сигнальные светодиоды и несколько резисторов. Для того, чтобы преобразователь стал USB программатором нужно просто прошить микроконтроллер новой прошивкой и сделать кабель для подключения.

Теперь все по порядку.
1 Для начала нужно собрать преобразователь (это если Вы его еще не собрали).
Вот рисунок печатной платы преобразователя:
Если интересно — вот .
В собранном виде преобразователь выглядит так:

2 Немного модифицируем плату
Для того, чтобы обеспечить все необходимые сигналы для программирования впаиваем защитные резисторы номиналом по 100 Ом в линии ножек 12, 16, 17, 18, 19 (номинал не критичен — можно варьировать).


3 Теперь нужно прошить микроконтроллер.
Линии для программатора выведены на общий разъем платы (кроме сброса — стоит отдельно).

Наверно не нужно говорить о том, что для прошивки микроконтроллера Вам понадобится программатор. На скорую руку можно собрать и прошить при помощи .


Схема шлейфа проста.

Из особенностей — я вынес индикаторный светодиод и балластный резистор для него за плату на разъем — это для того, чтобы плату без перепайки можно было использовать для других устройств (ну и так прикольней — светодиод мигает прямо в разъеме:)). Кроме того, линия Vcc отделена от общего разъема — это на случай если программируемое устройство запитывается не от USB, а от своего источника (что, в принципе, желательно). Сигнальные линии (SCK, MISO, MOSI) желательно экранировать (например чередованием сигнальных и земляных линий в шлейфе). Длину шлейфа не стоит делать большой — до 50 см, не больше. Если нужно программировать удаленное устройство всегда можно применить USB удлинитель — так надежней. Вот мой готовый шнурок:



5 Сам программатор готов, теперь нужно установить драйвер для того, чтобы Винда смогла с ним работать (для Mac OS X & Linux, вродь-как, драйвера вообще не нужно). Тут все просто:

5.1 Скачиваем драйвер, разархивируем его.
Страничка с драйверами


5.2 Вставляем наш программатор в USB порт.




5.3 В трее появится сообщение о том, что найдено новое устройство.



5.4 Запустится мастер нового оборудования.



5.5 Указываем в окошке «место поиска» папку с драйвером.



5.6 Пройдет процесс установки драйвера. Появится окошко сообщающее о том, что драйвер установлен. Чтобы проверить, что мы там наустанавливали— заходим в «Мой компьютер/Свойства/Оборудование/Диспетчер устройств» и находим там наш программатор

Винда увидела новое устройство и готова с ним работать.

USBtiny программатор поддерживается AVRDude , а это значит, что многие среды программирования будут с ним работать без проблем. Еще одним достоинством работы с AVRDude является то, что для работы с AVRDude существует множество оболочек GUI из которых можно выбрать подходящую именно для Вас (но об этом в следующей статье).

Я с USBTiny до этого не работал, но отзывы о нем в сети положительные (отличается надежностью и быстротой программирования) — мои тестовый прошивки это подтвердили. ATtiny2313 прошивается за 10 секунд (это вместе с проверкой). Микроконтроллер определяется и программируется надежно — не было ни одной ошибки во время моих тестов. Приятный в использовании программатор!


Файлы к статье:
- Рисунок печатной платы UART-USB на ATtiny2313
- Прошивка USBtiny программатора для ATtiny2313
- Фьюз-биты ATtiny2313 для USBtiny
- Схема кабеля для USBtiny программатора


Миниатюрный USB программатор AVR микроконтроллеров построен на микроконтроллере AtTiny 2313, содержит минимум элементов и позволяет работать в такими средами разработки как AVR Studio и AVRDUDE.
Есть две версии этого программатора, а именно USBTiny v1.0 и USBTiny v2.0. По порядку о каждой:

Схема USBTiny v1.0:

Схема отличается простотой и наличием малого количества компонентов. Печатных плат несколько.

Печатная плата от Дмитрия Шпака:


Скачать в формате layout: (cкачиваний: 1031)

Печатная плата от Андрея Баранова:


Скачать в формате layout: (cкачиваний: 967)
И версия от mebadboy : (cкачиваний: 963)

Скачать в формате eagle: (cкачиваний: 805)
Прошиваем контроллер любым другим программатором(например 5 проводков и LPT), собираем устройство воедино и...
Вставляем его в USB порт компьютера, система найдёт новое устройство USBtinyISP AVR Programmer
Устанавливаем драйвер для своей ОС и пользуемся.

Драйверы и прошивки:
Драйвер Win x86: (cкачиваний: 1542)
Драйвер Win x64: (cкачиваний: 1581)
Прошивка v1.0 с исходником: (cкачиваний: 1166)

Прошивка v1.4 с исходником: (cкачиваний: 1452) последняя версия
(avr-gcc v3.4.6 + avr-libc v1.4.4 + Winavr-20060421)
hex файл в папке spi.

Установка фьюзов:


Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.

Схема USBTiny v2.0:

В отличие от первой схемы программатора, во второй версии добавлена буферная микросхема для согласования уровней.

Также изменена прошивка:
Прошивка v2.0 с исходником: (cкачиваний: 1020)
(avr-gcc v3.4.6 + avr-libc v1.4.4 + Winavr-20060421)
Драйверы подходят от первой версии.

Самодельный драйвер двигателей на транзисторах можно использовать не только для управления коллекторными моторчиками постоянного тока но и для управления шаговыми двигателями. Шаговые двигатели можно использовать для изготовления самодельных станков, роботов и прочих интересных вещей. Коллекторные двигатели тоже можно использовать для этих целей и асинхронные тоже но шаговые для таких применений обладают преимуществами: 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»