Честно признаться, поначалу я не планировал повторять на микроконтроллере ATtiny2313 схему преобразователя UART to USB из прошлого поста, так как функциональность варианта на ATmega8/48/88/168 лучше, больше возможностей, небольшой размер. Но в виду большей доступности и меньшей стоимости микроконтроллера ATtiny2313 решил, все-таки, сделать еще один преобразователь. Начав делать новый преобразователь понял, что принял правильное решение. Разводка печатной платы для СМД компонентов получилась очень удачной (самому нравиться !) – односторонняя, компактная, без перемычек. Кроме того, неожиданно, для данного преобразователя нашлось необычное применение (об этом будет отдельный пост). Как и в предыдущей схеме для преобразователя будут варианты прошивок для SPI to USB, IN-OUT то USB, а попозже, когда разберусь с более срочными проектами, будут еще варианты применений. Короче – продолжение следует …
Внимание! Появилась новая версия печатной платы преобразователя. 055-UART to USB – простой преобразователь на ATtiny2313 (Версия 2). Внесены изменения делающее преобразователь еще удобнее, прошивка и драйвер остались прежними.
Итак, для начала схема преобразователя
Схема взята с сайта источника (там же можно найти описание).
Поразмыслив над вариантами применения схемы, решил немного модифицировать схему (на схеме красными показаны изменения).
Зачем мне понадобилось менять схему?
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 (5150 Загрузок)
Печатная плата получилась компактная, односторонняя и без перемычек. Есть, правда, одна перемычка – резистор с нулевым сопротивлением, но он нужен как защита от перегрузок порта. При возникновении короткого замыкания питающих линий USB порта резистор с нулевым сопротивлением перегорит и разомкнет цепь.
В печатную плату я ввел область для макетирования (правая сторона платы). В этой области можно будет собрать несложные устройства, которые смогут взаимодействовать с компьютером через USB порт. Если эта область не нужна ее можно отрезать, сделав плату еще компактней.
Плата в сборе:
Как видно на плате не установлены все резисторы – они не нужны для преобразователя UART – USB, но могут понадобится для других целей. Позже под конкретные цели мы их припаяем.
Разъемы я припаял угловые, чтобы меньше торчали. Сзади платка тоже выглядит довольно аккуратно.
На плате есть разъемы для программатора. Программировать можно прямо в USB порте, но лучше запитать плату от внешнего источника.
041-T2313.zip (14936 Загрузок)
041-T2313-FuseBit.png (18839 Загрузок)
После прошивки нужно установить драйвер для виртуального COM порта. Драйвер берем здесь или с предыдущего поста (он один и тот-же), там-же описано как его установить. После установки драйвера преобразователь будет видеться компьютером как COM порт, и соответственно работать с ним будут все программы работающее с COM портом.
Для проверки работоспособности собранного устройства замыкаем вход с выходом и посылаем сообщения в COM порт с программы терминала. Отправленные сообщения должны вернуться как принятые. В предыдущем посте смотрим как это сделать.
Есть печатная плата для варианта микроконтроллера в DIP корпусе и TH-компонентами:
041-T2313-TH.zip (7163 Загрузки)
Собранная плата выглядит вот так:
Устройство готово!
P.S. Немного тормозю с постами — отпуск.