055-UART to USB – простой преобразователь на ATtiny2313 (Версия 2).

Автор: | 01.10.2010

ТитлКак я уже писал раньше, спалил я дорожку питания на плате преобразователя UART-USB (на ATtiny2313) и, так как все равно решил травить новую, было принято решение внести изменения в разводку платы.

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

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

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

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

Модифицированная схема преобразователя

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

055-T2313-SMD-2.zip (24360 Загрузок)

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

Внешний вид преобразователя

Обратная сторона платы

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

041-T2313.zip (14812 Загрузок)
041-T2313-FuseBit.png (18722 Загрузки)

 

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

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

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

 

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

 

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

 

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

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

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

 

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

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

Коротим выход со входом

На нужные штырьки цепляем «джампер-перемычку». Запускаем программу для работы с COM портом. Можно использовать стандартный виндовский гипертерминал, но мне больше нравиться другая программка — маленькая, портативная и функциональная.

Terminal.zip (20176 Загрузок)

Запускаем программу, устанавливаем нужный порт (смотрим номер порта в диспетчере устройств), скорость и другие параметры оставляем как есть, нажимаем «Connect», в окошке возле кнопки «->Send», пишем сообщение, нажимаем «->Send» и сморим результат. Нижнее окно — отправленное сообщение, большое окно — принятое сообщения. Если все работает — сообщения будут одинаковыми.

Проверка работоспособности COM порта

Преобразователь работает. Теперь можно подключить любое устройство с UART выходом к компьютеру через USB порт.  Очень удобно!

Смотрим также:
041-UART to USB – простой преобразователь на ATtiny2313. — первая версия (есть TH вариант платы).
040-UART(RS-232) to USB-простой преобразователь. — расширенная версия преобразователя на ATmega8/48/88/168

(Visited 33 544 times, 1 visits today)

055-UART to USB – простой преобразователь на ATtiny2313 (Версия 2).: 273 комментария

  1. ximik

    собрал вроде работает если на инглише пишу тест в терминале то все как на скриншотах а если на русском иероглифы в «принято» так и должно быть?

  2. Zalognik

    Только вот стабилитронов для поверхносной пайки не нашол. Поставил простые согнув их — получилась плата с рошками. =)

  3. Zalognik

    Все заработало. =) Причем без танцев с бубном. Спасибо за ваш сайт. А вот удлинитель ИК пока сопротивляетса. Ну ниче, мы и его уламаем. По немногу иду к реализации своей задумки с пультом. =)

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

    Разница несущественна. Они там в качестве защиты — можно ставить любой в пределах 100-500 Ом.

  5. Bot

    Почему в этой схеме с линий программирования (MOSI и т.д) стоят резисторы по 470, а в программаторе 100? Просто хочу собрать совместную схему с переключателем, поэтому вопрос можно ли вместо 470 использовать 100, или это разница уже существенна?

  6. denis.balakin

    Прочитал все комментарии, вроде не нашел. На другом компе все работает. А вот хотелось бы еще на ноут все это)))

  7. geovas

    У меня эти дрова на 7×64. Вроде писал уже где-то об этом.

  8. denis.balakin

    А мне то надо для Windows 7 x64

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

    /vista64 — для Windows Vista x64 — теоретически должны подойти.

  10. denis.balakin

    Добрый день. Как я понял на для этого устройства нет драйверов под семерку 64 разрядную?

  11. geovas

    @Asqer
    Ой, это ведь очень опасно! Обязательно поставьте светодиод, в противном случае можно комп спалить!

  12. Asqer

    @geovas
    Благодарю,решился вопрос… Убрал стабилитроны, резистор на 1к5 не понижал, светодиод тоже не понадобился… Все работет, определился правда как программатор протосс, гоняет в терминале нормально. Еще раз спасибо.

  13. geovas

    @Asqer
    Я повторял эту конструкцию уже много раз, проверил ваши фьюзы — все верно: http://rghost.ru/21607191 (это с рабочей платы).

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

    У меня была другая проблема: попались два битых контроллера! Проверьте, работает ли контроллер (напишите простейшую программу, которая мигает диодами например).

  14. Asqer

    @aui2002
    подскажи пож., какие фьюзы ставить…

  15. Asqer

    Народ, посмотрите корректно ли выставленны фьюзы для этого устройства?
    Ссылка: http://ifolder.ru/25736185

  16. Asqer

    Не пинайте долго, новичек… ))) Устройство определяется как неизвестное, установка дров не помогает. Швах… схему перепроверил, все гуд. Может с фьюзами попутал? Если можно подскажите для SinaProg.

  17. aui2002

    Все! дошло последовательность cksel нумеруется с 3 до 0, а я делал с 0 до 3. Прошилось, определилось, осталось заставить работать терминал…

  18. aui2002

    Доброго времени суток!
    Собрал usbtiny, прошивал через LPT, все прошло нормально, девайс определился, драйвера встали.
    Собрал преобразователь usb-uart, решил попробовать прошить с помощью свежесобранного программатора через sinaprog.
    Вроде бы все шьется, но при подключении к ПК преобразователь определяется как неизвестное устройство.
    Есть подозрение, что проблема с фьюзами, а именно с low fuse.
    Я в калькуляторе просто поставил галочку у skdiv8, а сверху в выпадающем списке ничего не трогал. Вопрос: достаточно ли этой галочки или нужно выбрать еще из списка соответствующую частоту и конфигурацию фьюзов cksel?

  19. ewgeny

    Насчет стабилитронов. Это, конечно. дикое ламерство, но я стабы не ставил в оба таких устройства. Тупо нет в наличии стабилитронов дома, а в магазин ехать лень. Прошли месяцы, полет нормальный, никто не умер.
    Резисторы на входе USB — разброс вполне допустим в пределах 51…75 Ом.
    Резюк на светодиод — 330ом…1кОм, подбирается в зависимости от диода. Светик ток жрет относительно небольшой, поэтому заботимся только чтоб он не сгорел. Я поставил себе 470 Ом.
    Резюки на «выходы» поставил по 100 Ом, выходы питания с платы на разъем — «нулевиками» 0 ом.
    Работают платки хорошо, чего и вам всем желаю 🙂

  20. Леонид

    да незашто делай по схеме

  21. FoxS

    Разница : по схеме R5 470 Ом и R4 10 кОм, а на платке, что на фото, выходит оба по 330 Ом. Спасибо за ответы.

  22. Леонид

    1)светодиод подойдёт
    2)чёт я не нашёл где различается
    3)не знаю должно подойти в смд варианте у него 51ом
    4)чёта гугл не знает и я тоже
    5)чёта 100 ом я ни где на плате не нашёл, а так да это на будущее.
    и мой совет разведи заново по схеме и получится красиво и аакуратно.

  23. Леонид

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

  24. FoxS

    Добрый день. Хочу собрать даное устройство на ТН компонентах. Есть парочка вопросов по деталькам.Габариты для меня не очень важны.Это будет сугубо UART to USB, поэтому плату сделаю без лишних площадок и заготовок на будущее.
    1) Подойдет ли для светоиндикации наш АЛ 307 ?
    2) Номиналы деталей на схеме оригинала не совпадают с Вашими на плате, можно собирать и так и так?
    3) Можно вместо R2 и R3 по 68оМ поставить сопротивлени 51оМ, или будет маловато ?
    4) Есть стабилитроны на 3,6В отечественного производства?
    5) У Вас на рисунке печатной платы присутствуют резисторы по 100 Ом с 11 по 19 ножку,это на будущее?
    Спасибо за ответы. До свидания.

  25. ewgeny

    Собрал себе уже вторую такую платку. Работает замечательно. WinXP SP2.

  26. IROBOT

    Пытался использовать такой конвертер для связи клона ардуино на меге 8 вместо ft232-вылазиет ошибка и программа не заливается.Вроде и резет перед заливкой скетча нажимал.Кто нибудь сталкивался с такой проблемой?

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

    Я так понимаю это Arduino-плата. Для ардуино есть своя среда программирования.

  28. serji

    Добрый день собрал преобразователь подключил винда видит устройство но не определяет установил сервис пак3на XP-непомогло – проверил всю схему и плату начал играться деталями непонятка -тогда пошел на оригинальный сайт японца скачал доки и там нашел как выставить фузы ATtiny2313 H-CD/L-FF и ура все заработало!!

  29. geovas

    Все понял, спасибо!

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

    TxD — передача
    RxD — прием

    Подключаются к другому устройству накрест, то есть TxD_к_RxD, а RxD_к_TxD.

    И еще, СОМ порт компьютера имеет уровни +-12в и напрямую к микроконтроллеру подключать нельзя — нужен преобразователь (например MAX232)

  31. geovas

    GetChiper, я тут в панике… Запутался в 2-х проводах! У COM-порта компьютера, какой пин ПЕРЕДАЕТ данные во внешний мир? 2-й или 3-й??? Сори за тупой вопрос, но правда — очень важно, а всякие левые сайты меня только с толку сбивают.

    p.s. Сегодня установленный в далекие времена предохранитель сберег мой USB-UART преобразователь! Маленькая деталька, а сколько она значит!

  32. Андрей

    Спасибо огромное Вам за схему и поучительный текст. Радиотехникой увлекаюсь давно, а микроконтроллерами не давно. сделал преобразователь и просто душа радуеться. Выполнил на ДИП элементах и в универсальном варианте.Могу выложить свой вариант печатки — если кому интерестно.

  33. vasjn23

    ОЙЙЙЙ!!! Пардон! Нашел ошибку — поставил не те драйвера. А вот на ноуте тоже все работает, причем под дровами от программатора, странно как-то!!???

  34. vasjn23

    а у меня очень интересные непонятности. Собрал по схеме с TH компонентами. Прошил 2313 через AVR910Prottos. Проверил — фьюзы и программа залились нормально. Теперь интересность. Вставляю в бук Win 7 ( где прошивал контроллер) — определяет его как программатор AVR910 с ходу, без каких-либо вариантов по пере установке драйверов. На втором компе — пошел процесс как и описано. Установил драйвера — все норма — встал на 3-й порт. Терминал с ним соединяется, его определяет. Одна проблема — нет ответа. RxD и TxD закоротил между собой. В чем может быть проблема?

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

    Очень не советую ставить кварц из какого либо устройства (а особенно из китайского). Работа с USB критична по частоте. Поэтому, первым делом нужно купить и установить кварц на 12МГц, а потом уже разбираться с остальными проблемами.
    2 кварца на 6МГц никак не дадут 12МГц

  36. aleksunches

    Сделал данный девайс. Детали все по схеме. Кварц выдрал из MP3 плеера. На нём надпись J12000. Прошил, выставил фузы, подключил к компу, установил драйвера. Устройство определилось, но терминал не может найти порт. В диспеччере устройств, если в 1-ом ЮСБ порту устройство, то Комутатион порт 12; а если во втором ЮСБ порту то Комутатион порт 10. Терминал Не находит устройство. Рескан не помогает. Выбран Ком порт 1, остальные не активны (нельзя поставить точечку). Может ли это быть из-за кварца? Есть два кварца на 6Мгц. Может на этих кварцах как-то сделать? P.S Я начинающий, за нубские вопросы, да и вообще ИЗВЕНИТЕ!

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

    В данном случае нет. Есть варианты таких преобразователей и без кварца, но там нужна калибровка внутреннего задающего генератора, а это намного проблематичней чем просто впихнуть кварц в схему. Кроме того внутренний генератор «плывет» от температуры. Ну Вы поняли к чему я веду … 🙂

  38. aleksunches

    А можно както сделать без кварца????

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

    Бит CKDIV8 — не активен. Активен когда нет галочки — во фьюз битах обратная логика.

  40. sea

    С каким смыслом кварц 12МГц и установлен бит CKDIV8 ?

  41. olegators68

    GetChiper спасибо за ответы, проинвертирую сигналы оптронами PS2501 на 115200бод нормально работают, заодно гальванически развяжу осцил и комп, эксперименты продолжу уже на той неделе.

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

    Точно! Сигналы для RS232 инверсны.

  43. olegators68

    Извиняюсь, забыл подключал как напрямую TxD и RxD на PIC18F452, так и через max232, может инвертировать сигналы, как сдесь http://www.recursion.jp/avrcdc/cdc-232.html?

  44. olegators68

    Вообще не работает, программа осцила не видит свое железо.

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

    Вообще не работает или передача с ошибками? Не работает и на прием и на передачу?

  46. olegators68

    Здравствуйте, собрал данное устройство, проверил terminalом все работает, попробовал заменить им max232 в этом девайсе http://zalil.ru/30646202 используется только TxD и RxD, ни в какую, уж все настройки порта перебрал :(.

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