041-UART to USB – простой преобразователь на ATtiny2313.

Автор: | 27.05.2010

ТитлЧестно признаться, поначалу я не планировал повторять на микроконтроллере ATtiny2313 схему преобразователя UART to USB из прошлого поста, так как функциональность варианта на ATmega8/48/88/168 лучше, больше возможностей, небольшой размер. Но в виду большей доступности и меньшей стоимости микроконтроллера ATtiny2313 решил, все-таки, сделать еще один преобразователь. Начав делать новый преобразователь понял, что принял правильное решение. Разводка печатной платы для СМД компонентов получилась очень удачной (самому нравиться !) – односторонняя, компактная, без перемычек. Кроме того, неожиданно, для данного преобразователя нашлось необычное применение (об этом будет отдельный пост). Как и в предыдущей схеме для преобразователя будут варианты прошивок для SPI to USB, IN-OUT то USB, а попозже, когда разберусь с более срочными проектами, будут еще варианты применений. Короче – продолжение следует …

Внимание! Появилась новая версия печатной платы преобразователя. 055-UART to USB – простой преобразователь на ATtiny2313 (Версия 2). Внесены изменения делающее преобразователь еще удобнее, прошивка и драйвер остались прежними.

Итак, для начала схема преобразователя

Схема преобразователя UART to USB на ATtiny2313

Схема взята с сайта источника (там же можно найти описание).

Поразмыслив над вариантами применения схемы, решил немного модифицировать схему (на схеме красными показаны изменения).

Схема преобразователя UART to USB на ATtiny2313 мод


Зачем мне понадобилось менять схему?
USB порт имеет выход питания 5v, в то же время уровни сигнальных линий 3.3v. При питании микроконтроллера напрямую от USB порта уровни сигнала на ножках будут 5v. Для сигнальных линий USB порта это много.
В оригинальной схеме для приведения уровней сигналов микроконтроллера к нужным 3.3v микроконтроллер запитывается через светодиод. В результате падения напряжения на светодиоде напряжение питания на микроконтроллере выходит в пределах 3-с-чем-то вольт (зависит от потребления микроконтроллера и типа светодиода). Соответственно и уровень на сигнальных линиях будет те самые 3-с-чем-то вольт.
Достоинство такого решения – простота. Недостатки – заниженное питание микроконтроллера (хотя можно опускать и до 2.8v, но с уменьшением питания возможны проблемы при такой частоте задающего генератора). Еще один недостаток несоответствие уровней преобразователя и устройства, к которому он должен будет подключаться (в большинстве случаев в устройствах питание 5v). При соединении линий с разными уровнями напряжений в них появляются уравнивающие токи. Их можно уменьшить, поставив в разрыв ограничительный резистор (схема становится более восприимчива к помехам) или собрав схемку согласования.

Я выбрал другой вариант — запитать микроконтроллер напрямую от USB порта (5v) и поставить на сигнальные линии стабилитроны. Стабилитроны уменьшают напряжение на линиях до необходимого уровня. Но нужно поставить стабилитроны немного большего напряжения (достаточно 3.6v), иначе через стабилитрон будет замыкаться на «землю» выходной сигнал USB порта.
Достоинства схемы – микроконтроллер работает от штатных 5v и при этом не требуется согласования с подключаемым устройством. Вот исходя из этих соображений я и поменял схему.

Собираем преобразователь.
Как и в предыдущем посте не плате предусмотрен стандартный разъем USB-папа. С таким разъемом не будут возникать проблемы с подключением. Можно воткнуть прямо в комп, а если нужно преобразователь приблизить к устройству – используем USB-удлинитель.
041-T2313-SMD.zip (5080 Загрузок)
Печатная плата получилась компактная, односторонняя и без перемычек. Есть, правда, одна перемычка – резистор с нулевым сопротивлением, но он нужен как защита от перегрузок порта. При возникновении короткого замыкания питающих линий USB порта резистор с нулевым сопротивлением перегорит и разомкнет цепь.

Плата преобразователя UART to USB для ATtiny2313

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

Плата в сборе:

Плата преобразователя UART to USB в сборе

Как видно на плате не установлены все резисторы – они не нужны для преобразователя UART – USB, но могут понадобится для других целей. Позже под конкретные цели мы их припаяем.

Разъемы я припаял угловые, чтобы меньше торчали. Сзади платка тоже выглядит довольно аккуратно.

Задняя сторона платы преобразователя UATR to USB

На плате есть разъемы для программатора. Программировать можно прямо в USB порте, но лучше запитать плату от внешнего источника.
041-T2313.zip (14809 Загрузок)

041-T2313-FuseBit.png (18720 Загрузок)
После прошивки нужно установить драйвер для виртуального COM порта. Драйвер берем здесь или с предыдущего поста (он один и тот-же), там-же описано как его установить. После установки драйвера преобразователь будет видеться компьютером как COM порт, и соответственно работать с ним будут все программы работающее с COM портом.

Для проверки работоспособности собранного устройства замыкаем вход с выходом и посылаем сообщения в COM порт с программы терминала. Отправленные сообщения должны вернуться как принятые. В предыдущем посте смотрим как это сделать.

Есть печатная плата для варианта микроконтроллера в DIP корпусе и TH-компонентами:

Плата преобразователя UART to USB для ATtiny2313 в TH

041-T2313-TH.zip (7094 Загрузки)
Собранная плата выглядит вот так:

Собранная плата

Устройство готово!

P.S. Немного тормозю с постами — отпуск.

 

(Visited 25 442 times, 1 visits today)

041-UART to USB – простой преобразователь на ATtiny2313.: 314 комментариев

  1. Максим

    жаль , а то выводов ещё полно , можно постаавить tiny4313 , и перемычкой переключать режим программатор/юсарт , т.к. памяти уже на каждого хватило бы.

  2. GetChiper Автор записи

    Привет!
    Исходников автор не оставлял.

  3. GetChiper Автор записи

    Привет!
    Это преобразователь USB-UART -как программатор не будет работать.

  4. Лёша

    Здраввствуйте! Такой вопрос: этот программатор может работать с программой AVR Studio 4?

  5. GetChiper Автор записи

    Нет.

  6. Bleck_S

    Всем доброго времени суток! Интересует такой вопрос, с помощью этого преобразователя можно прошить контроллер STM32F100C

  7. GetChiper Автор записи

    Веб камера работающая через COM-порт? Это вряд-ли.

  8. winzewul

    вопрос, если использовать два преобразователя соединённых по 485 то можно ли использовать его в качестве удлинителя, то есть подключить на одном конце например веб камеру а другой конец в комп

  9. BigMazzy

    @BigMazzy
    Разобрался. Пишет ардуину, единственное неудобство — надо её сбрасывать вручную. UART-ом гораздо быстрее, чем USBasp.

  10. BigMazzy

    Да, ардуино мини, без преобразователя. Спасибо, буду пробовать.

  11. GetChiper Автор записи

    Ардуина и так по своему встроенному преобразователю UART прошивается. Если имеется в виду плати типа про мини — то да, но лучше (надежней) использовать готовый преобразователь USB-UART. Если имеется в виду прошивка самого МК через интерфейс SPI — то нет, этот преобразователь не может работать в битбанг режиме.

  12. BigMazzy

    Здравствуйте. Можно ли этим преобразователем прошивать ардуино по uart?

  13. GetChiper Автор записи

    Думаю, не получится.

Добавить комментарий