Меню

Программаторы attiny2313 своими руками

Программаторы attiny2313 своими руками

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

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

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

и схему USB программатора USBTiny

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

Теперь все по порядку.
1 Для начала нужно собрать преобразователь (это если Вы его еще не собрали).
Вот рисунок печатной платы преобразователя:
T2313-SMD-2 v2.0 — Рисунок печатной платы UART-USB на ATtiny2313
Для того, чтобы обеспечить все необходимые сигналы для программирования впаиваем защитные резисторы номиналом по 100 Ом в линии ножек 12, 16, 17, 18, 19 (номинал не критичен – можно варьировать).

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

usbtinyisp-T2313.hex v1.04 — Прошивка USBtiny программатора для ATtiny2313
T2313-FuseBit — Фьюз-биты ATtiny2313 для USBtiny
Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставяться инверсно.

3 Далее нам нужен шлейф для того, чтобы соединить программируемое устройство с нашим программатором. Все линии, необходимые для программирования находятся на одном разъеме.

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

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

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

4.1 Скачиваем драйвер, разархивируем его.
usbtinyisp w32 driver v1.12 — Win драйвер для USBtiny программатора
Если у Вас Винда 64 битная, Vista или Windows 7 нужно установить другой драйвер:
usbtinyisp_libusb-win32_1.2.1.0.zip — Драйвер USBtiny для х64, Vista или Windows 7

Читайте также:  Простая веранда терраса своими руками

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

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

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

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

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

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

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

ДОПОЛНЕНИЯ.
1 Дмитрий Шпак сделал довольно удачную разводку программатора. Программатор получился небольшого размера, имеет стандартный разъем для программирования и, я считаю, будет удобен в работе. Плата двусторонняя.

USBtiny.lay — Разводка USBtiny от Дмитрия Шпака

2 Еще один вариант разводки от Андрея Баранова (Andru_48)


USBtiny.lay — Разводка USBtiny от Андрея Баранова

3 Вариант от mebadboy
Доброе время суток.
Новую печатку я не собирал. Я просто исправил старую — Дмитрий Шпак . Там минимум исправлений – одну дорожку перерезать, кинуть проводок, впаять резистор и диод впаять в другое место.
USB-tiny-mebadboy — Печатка USBtiny от mebadboy
Вот лог dmesg при подключении под linux:
usb 4-2: new low speed USB device using uhci_hcd and address 2
usb 4-2: New USB device found, idVendor=1781, idProduct=0c9f
usb 4-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 4-2: Product: USBtiny

Источник

Программаторы attiny2313 своими руками

Здравствуйте уважаемые форумчане, нужна помощь. Решил собрать самое простое usb устройство на контроллере attiny2313A, главная цель, научиться управлять светодиодом через usb. Сразу скажу, что познания ограничены рамками интернет статей. За основу взял вот эту обучалку http://openrobo.ru/control/usb. В общем все шло нормально. Прошивать научился, фьюз биты настроил. Но фот когда дошел до шага(компьютер должен увидеть ваше устройство) застрял.
1. Вот схема устройства

2.Может это поможет, но в поисках проблемы делал следующее:
2.1 Если подключить данное устройство без прошивки, то система (windows7) говорит «Не удалось распознать устройство» и в списке устройств мое детище висит как Unknown device
2.2 Прошиваю в контроллер все как в инструкции.При подключении устройства, система никак не реагирует.
2.3 Подумал, что криво прошиваю. Добавил в тело функции main() циклическое мигание диода раз в секунду. Подключаю к компу, светодиод мигает, система никак не видит устройства. Я так понял, что функция main() по крайней мере работает. Странность в том, что светодиод мигает очень часто, точно не раз в секунду и тускло очень. Предположил, что дело в питании, ток чтоли не постоянный, хотя тестер говорит что на usb ровно 5v. Подключил устройство с прошивкой для usb+мигание светодиода в функции main() к постоянному источнику (батарейки), светодиод мигает как надо, ярко и четко раз в секунду. Подключил к компу, но запитал от постоянного тока, никакой реакции.

В общем у меня даже не получилось, чтобы система увидела имя моего устройства. А оно прописывается в файле usbconfig.h
Методом тыка и редактирования кода ничего не получилось, проделал и проверил несколько раз, проверил сборку.

Читайте также:  Разборные парники для дачи своими руками

Подскажите пожалуйста, в чем может быть дело, или предложите другую статейку, желательно для уровня новичка. Уж очень хочеться продвинуться в этом направлении.

Реклама
COKPOWEHEU
Сверлит текстолит когтями

Карма: 8
Рейтинг сообщений: 188
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1194
Рейтинг сообщения: 0

Реклама

JLCPCB, всего $2 за прототип печатной платы! Цвет — любой!

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/cwc

Vladimir69
Родился

Зарегистрирован: Сб мар 19, 2016 20:09:54
Сообщений: 8
Рейтинг сообщения: 0

Значения фьюзов E:FF, H:DB, L:EF

Питание сделал по этой схеме

На PB0 обычный светодиод

USB прозвонил, вроде все ок

И я ввел немного в заблуждение, если прошить все как для usb, то устройство видит, но не распознает. Правда опять таки если питание от постоянного источника 5v. Попробую еще от usb запитать. Потому-что по текущей схеме, питание 3,7 v. При прошивке на программаторе у меня стоит 5v. Вроде разницы не должно быть, написано же, что контроллер работает от 3-5V.

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

Реклама

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

COKPOWEHEU
Сверлит текстолит когтями

Карма: 8
Рейтинг сообщений: 188
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1194
Рейтинг сообщения: 0

Реклама

Вебинар поможет в выборе недорогих источников питания оптимальных для систем охраны, промышленных и телекоммуникационных приложений, а также для широкого применения. Будут представлены основные группы источников питания по конструктивным признакам и по областям применения в контексте их стоимости или их особенностей, позволяющих снизить затраты на электропитание конечного устройства.

Vladimir69
Родился

Зарегистрирован: Сб мар 19, 2016 20:09:54
Сообщений: 8
Рейтинг сообщения: 0

1.1 Спасибо, действительно есть проблемы с выходами. На линии D+ и D- у меня идет 5v. Поставлю стабилитроны на 3,6 и посмотрю как заработает.

1.2 Получается PD4 нужно на D+?

1.3 Тактовую частоту не могу проверить, т.к. имею только тестер. Я так понял, что с ней все нормально, т.к. в прошивке стоит прерывание светодиода 500мс, и он мигает как раз раз в секунду.
PORTB |= 1;
_delay_ms(500);
PORTB &=

1.5 А само устройство собрано на монтажке, 1й рисунок. Извиняюсь если не правильно понял просьбы, показать плату самого устройства.

Спасибо большое за наводки, у меня уже есть куда копать) Разберусь с напряжением на D+ и D- сразу отпишусь. Я правильно понял, что на контроллере на этих выходах должно быть 5v (непосредственно на ногах PD2-4). А резисторами 68Ом и стабилитронами, его нужно понизить до 3,6 на линии выходов usb порта?

Реклама
Реклама

Приглашаем всех желающих 13 октября 2021 г. посетить вебинар, посвященный искусственному интеллекту, машинному обучению и решениям для их реализации от Microchip. Современные среды для глубинного обучения нейронных сетей позволяют без детального изучения предмета развернуть искусственную нейронную сеть (ANN) не только на производительных микропроцессорах и ПЛИС, но и на 32-битных микроконтроллерах. А благодаря широкому портфолио Microchip, включающему в себя диапазон компонентов от микроконтроллеров и датчиков до ПЛИС, средств скоростной передачи и хранения информации, возможно решить весь спектр задач, возникающий при обучении, верификации и развёртывании модели ANN.

COKPOWEHEU
Сверлит текстолит когтями

Карма: 8
Рейтинг сообщений: 188
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1194
Рейтинг сообщения: 0

Реклама

Vladimir69
Родился

Зарегистрирован: Сб мар 19, 2016 20:09:54
Сообщений: 8
Рейтинг сообщения: 0

Реклама

Starichok51
Модератор

Карма: 150
Рейтинг сообщений: 2523
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 16580
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1

_________________
Мудрость приходит вместе с импотенцией.

Реклама

COKPOWEHEU
Сверлит текстолит когтями

Карма: 8
Рейтинг сообщений: 188
Зарегистрирован: Чт июн 10, 2010 20:11:19
Сообщений: 1194
Рейтинг сообщения: 1

Vladimir69
Родился

Зарегистрирован: Сб мар 19, 2016 20:09:54
Сообщений: 8
Рейтинг сообщения: 0

AZinX
Родился

Зарегистрирован: Пт июн 03, 2016 19:04:25
Сообщений: 1
Рейтинг сообщения: 0

Vladimir69, только стабилитроны поставил? Но ведь диод зенера это и есть стабилитрон. Можешь показать, как в итоге выглядела у тебя схема?

У меня просто та же проблема.

Или кто другой, помогите пожалуйста.

Заранее спасибо!

EAlexK
Родился

Зарегистрирован: Сб авг 20, 2016 16:52:49
Сообщений: 6
Рейтинг сообщения: 0

Добрый день.
Такая же проблема возникла и у меня, но МК марки ATmega 328P-PU.

Vladimir69, какие по мощности стоят у Вас стабилитроны.
На просторах интернета говорят, что можно поставить 0,25Вт. Другие — что этого мало,необходимо 0,5Вт.
У меня стоят 3V6 на 0,5Вт.

Не пойму принцип действия конденсаторов, подключенных к резонатору. Они у меня 20 пФ. Видел рекомендации, что необходимо 22пФ.
Но в режиме прошивки, при фьюзах настроенных на внешний резонатор и резонаторе 12МГц, Atmega328p-pu стартует и без них.

EAlexK
Родился

Зарегистрирован: Сб авг 20, 2016 16:52:49
Сообщений: 6
Рейтинг сообщения: 0

Добрый день.
Попробовал сделать этот же проект, но на Attiny2313V-10PU.
Результат тот же. Устройство не опознано. Вместо резонатора, поставил генератор.

Посмотрите,что я мог неправильно собрать.

Вложения:
Attiny.jpg [249.09 KiB]
Скачиваний: 728
Вернуться наверх
EAlexK
Родился

Зарегистрирован: Сб авг 20, 2016 16:52:49
Сообщений: 6
Рейтинг сообщения: 0

mputnick
Родился

Зарегистрирован: Вс ноя 22, 2015 14:04:28
Сообщений: 4
Рейтинг сообщения: 0

Была та же проблема. Собирал эту схему, микроконтроллер Attiny2313.

Компьютер смог опознать устройство, после того как подключил pull-up резистор на 1.5 кОм не к 5 В, как на схеме, а к 3.6 В.

Цитата из USB in a NutShell:

As we have discussed, USB uses a differential transmission pair for data. This is encoded using NRZI and is bit stuffed to ensure adequate transitions in the data stream. On low and full speed devices, a differential ‘1’ is transmitted by pulling D+ over 2.8V with a 15K ohm resistor pulled to ground and D- under 0.3V with a 1.5K ohm resistor pulled to 3.6V. A differential ‘0’ on the other hand is a D- greater than 2.8V and a D+ less than 0.3V with the same appropriate pull down/up resistors.

Страница 1 из 1 [ Сообщений: 15 ]

Часовой пояс: UTC + 3 часа

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

Источник

Чиним и ремонтируем © 2021
Внимание! Информация, опубликованная на сайте, носит исключительно ознакомительный характер и не является рекомендацией к применению.