Честно признаться, поначалу я не планировал повторять на микроконтроллере 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 (Одна Загрузка)
Печатная плата получилась компактная, односторонняя и без перемычек. Есть, правда, одна перемычка – резистор с нулевым сопротивлением, но он нужен как защита от перегрузок порта. При возникновении короткого замыкания питающих линий USB порта резистор с нулевым сопротивлением перегорит и разомкнет цепь.
В печатную плату я ввел область для макетирования (правая сторона платы). В этой области можно будет собрать несложные устройства, которые смогут взаимодействовать с компьютером через USB порт. Если эта область не нужна ее можно отрезать, сделав плату еще компактней.
Плата в сборе:
Как видно на плате не установлены все резисторы – они не нужны для преобразователя UART – USB, но могут понадобится для других целей. Позже под конкретные цели мы их припаяем.
Разъемы я припаял угловые, чтобы меньше торчали. Сзади платка тоже выглядит довольно аккуратно.
На плате есть разъемы для программатора. Программировать можно прямо в USB порте, но лучше запитать плату от внешнего источника.
041-T2313.zip (14812 Загрузок)
041-T2313-FuseBit.png (18722 Загрузки)
После прошивки нужно установить драйвер для виртуального COM порта. Драйвер берем здесь или с предыдущего поста (он один и тот-же), там-же описано как его установить. После установки драйвера преобразователь будет видеться компьютером как COM порт, и соответственно работать с ним будут все программы работающее с COM портом.
Для проверки работоспособности собранного устройства замыкаем вход с выходом и посылаем сообщения в COM порт с программы терминала. Отправленные сообщения должны вернуться как принятые. В предыдущем посте смотрим как это сделать.
Есть печатная плата для варианта микроконтроллера в DIP корпусе и TH-компонентами:
041-T2313-TH.zip (7095 Загрузок)
Собранная плата выглядит вот так:
Устройство готово!
P.S. Немного тормозю с постами — отпуск.
Можно ли данное чудо использовать для связи мобильного телефона с поддержкой usb и мк с UART?
@Egen_M
Ох спасибо за идею, дружище. Преобразователь на Tiny запустился без ошибки. Позже проверю еще на Mega, отпишу.
@Egen_M
У меня ни один не работает и на меге и на Тане. Подскажите как в режим отладки войти?
микросхема часов стоит отдельно. связывает их только одно шина I2C
Извеняюсь что пишу немного не по теме но у меня возник вот такой вопрос. собираю приемник на микросхеме RDA5807M его напряжение питания 3.3 вольта. также в фунционале имеются часы а точнее микросхема часов DS1307. как извесно напряжение питания часов 5 вольт значит на линии i2c будет 5 вольт. вот теперь сам вопрос: можно ли как то согласовать эти уровни с помощью оптопары или достаточно обычных биполярных транзисторов? а что необходимо ставить подтягивающие резисторы на шине i2c я в курсе.
@LeXSS
Точно такая же ситуация. И что интересно, даже в режиме отладки Windows’a не работает, при котором цифровая подпись не проверяется. А вот программатор USBTiny собранный почти по такой же схеме, в режиме отладки, работает нормально. Наверно придется на Windows 7 возвращаться. К стати и китайский USB_to_RS232 TTL, то же перестал работать.
Пробовал, говорит наиболее подходящий драйвер уже установлен. Пробовал даже файлы стандартных драйверов переименовывать, потом подключать устройство- не помогает, все равно автоматом ставит стандартные драйвера. Что еще можно предпринять, посоветуйте пожалуйста.
Нужно попробовать поставить другие драйвера. Хотя не уверен, что есть под десятку.
Что делать теперь?
Дернул меня шайтан согласиться на установку Win 10. Теперь устройство не работает. В диспетчере устройств пишет: «Запуск этого устройства невозможен. (Код 10)Службе или функции передан неверный параметр.»
Нет такой прошивки. Или одно, или другое.
Несовсем в ту тему я его написал, но суть как говорится не поменяется)). У вас на сайте опубликовано как из USB-UART сделать программатор USBTiny. Печатная плата предоставленная «Time191 (Владимир, г. Саратов).» позволяет использовать и вариант UART и программатор USBTiny, в свете этого вопрос, есть ли прошивка в которой можно переключать с программатора на uart например нажатием кнопки или перестановкой джампера.
Если на висте работает а на восьмерке нет — это проблема в драйверах.
Все варианты драйверов пробовали?
Почитайте, что в оригинале пишется про драйвера http://www.recursion.jp/avrcdc/driver.html#protocol
Прочитайте отзывы пользователей к этой статье и статье http://www.getchip.net/posts/055-uart-to-usb-prostojj-preobrazovatel-na-attiny2313-versiya-2/
На Vista x32 работает, а вот на Win 8.1 не хочет 🙁
Даже стабилитроны выпаял и оставил только светодиод — говорит, что «USB-устройство не опознано».
GetChiper, есть какие мысли?
Привет!
Не понял вопроса.
Доброго времени суток! Вопрос по повторению программатора, есть вариант разводки платы «4 Вариант от Time191 (Владимир, г. Саратов).» На ней выведены контакты для SPI программирования и RX/TX для uart, кроме прошивки микросхемы есть варианты заставить работать USBTiny в роли программатора и uart например джампером или переключателем?
Переходник нужен как первый элемент сети из устройств на RS485 (master, который позволит отправлять/принимать данные с ПК).
В любом случае потребуется МК подключать к сети RS485, остается вопрос по максимальной скорости передачи.
Можно ли добиться 1 Мбит/с на ATTYNI4313 или на ATMEGA328P?
Есть reference guides по микросхеме-интерфейсу с примером сопряжения с МК:
http://www.ti.com/lit/pdf/slyt484
Если ставится за цель передавать данные на большие расстояния, всетаки лучше использовать специальные микросхемы преобразователей USB-RS485 — в них более качественный сигнал (фронты, периоды и др. параметры)
Подскажите пожалуйста, можно ли использовать эту схему для сбора преобразователя USB-RS485?
К примеру, используя дополнительный интерфейс RS-485 SN65HVD1781D?
Какая максимально возможная скорость передачи преобразователя USB-UART? (по даташиту SN65HVD1781D может передавать до 1 Мбит/с).
Если не ошибаюсь – ставить нужно инверсно моей картинке. Посмотрите статью http://www.getchip.net/posts/068-kak-pravilno-proshit-avr-fyuzy-fuse-bit/
должно помочь.
Подскажить как выставить Фьюзы в SinaProg …..если можно скрин… и как прошить, черзе выводы на плате можно?@GetChiper
Подскажить как выставить Фьюзы в SinaProg …..если можно скрин… и как прошить, черзе выводы на плате можно?
Вас понял,буду мутить на FT232 !
Этот преобразователь нежелательно использовать для этих целей. Будет медленно работать или не работать вообще — все таки софтовая реализация…
GetChiper подскажите где на мк выходы
TxD,DTR,GND,DSR,RTS,STS ?
Очень нужен прогер для 24Cxx от USB, выбор между преобразователем и FT232. (но FT232 дорогая)
Не делал такого, не знаю.
Можно-ли преобразователь использовать для прошивки 24cxx и чипов от принтера,если можно то как?
Собрал такой конвертер — работает стабильно. Собирал на макетке. Обязательно необходимо добавить самовостанавливающийся предохранитель в цепь питания, а то и порт можно сжечь. Также собрал на атмега8 — с прошивкой как на сайте разработчика, только цепь USB доработал так, как тут. Тоже работает. Только такую большую и дорогую микросхему для простого преобразователь использовать не стоит.
собрал не запускается на хр Service Pack 3, а на Service Pack 2 пошол. стабилитроны кс133 на импорт 3v3 и все путем
В предверии пасхи произошло чудо!))))поменял мк местами(с эффектора на уарт)перепрошил их,впаял другой юсб порт,поменял кондеры на эффекторе и о чудо!!!!работает)))хотя даже не догадываюсь в чем была проблема.Не зря говорят терпение и труд все перетрут))спасибо за понимание и терпение))
попробуй включить по оригинальной схеме (та что первая в статье), через светодиод — проверишь возможно действительно проблемы с уровнем на ножках порта.
а номиналы резисторов подсказать можешь так на вскидку))а стабилитроны можно взять чуть побольше стабилизации(4.7в) или на подобе,у меня подозрение что беда в них,на сигнальных линиях напряжение разное или так и должно быть??
Просто соединяется проводками. Если уровни напряжения разные ( 3 и 5 вольт, например) нужно поставить балластные резисторы. На всякий случай -соединяются устройства накрест RxD—>TxD, TxD—>RxD
что-то вообще полная …. кто-нибудь собирал по этой(TH2313-TH) схеме данное устройство?у кого нибудь заработало??и еще вопрос соединять уствройство уарт с другим можно простыми проводниками,или на них еще надо вешать диоды(где-то на вашем сайте видел такое)
еще один маленький вопрос,а не могли я чего нибудь испортить не правильным(read-read tx-tx)подключением этих линий???или это не особо критично
даже не видел этой темы)))ладно помучаю с этой прошивкой потом отпишусь
А как ведет себя тестовая прошивка?
http://www.getchip.net/posts/078-proverka-modulya-uart-attiny2313-testovaya-proshivka/
Доброго всем дня,собрал плату эфектора все работает без нареканий,но при подключении к usb to uart(по схеме TH2313-TH)ноль эмоций.При подключении юсб уарт и замыкании контактов read и txt в программе терминал все корректно отправляется и принимается,однако стоит подключить эффектор никаких откликов.Программа GCneffector видит мой уарт но эмоций ноль,плату проверил и там и там все ок,подскажите в чем тут может быть проблема!????
Запросто!
Подскажите пожалуйста вместо резисторов на 68 Ом можно использовать 100 Ом?
большинство программаторов через такую схему работать не станут, потому что данная прошивка выдаёт неправильные тайминги стопбита на всех частотах, ошибка линейна от частоты. преобразователь успешно проверяется замыканием rx tx, но программаторы, успешно работающие от настоящих max232 и ftdl с этой схемой не спариваются.
плюс ко всему эта схема не имеет подписанного драйвера под вин 7, потому единственная возможность её использовать — загрузиться в f8 и выбрать драйвера без подписи. схема годна только для самоделок.
p.s. кто усомнился в неправильности таймингов — осциллограф вам в помощь, сравните с магазинным переходником.
Программаторы лучше не подключать через преобразователи (а особенно через такую реализацию. Возможно и будет работать, но медленно.
Здраствуйте!У меня есть программаторьi которое работает с програмьi IC-Prog и PonyProg-JDM serial programmer,JDM-367.ОС у меня Windows Vista-32.Будет ли работат у меня преобразователь и если да как подключит его к конекторе DB9?
Вы-же спрашивали приемо-передатчик, а http://www.getchip.net/posts/071-preobrazovatel-ir-signalov-ot-pultov-v-uart
— это просто приемник IR-посылок пульта
Для прошивки нужен двухбайтовый код.
Вы наверное имели ввиду http://www.getchip.net/posts/071-preobrazovatel-ir-signalov-ot-pultov-v-uart
А какой код надо записывать в ствтье 085-Контроллер RGB ленты на ATtiny2313, 1Байтовый?
http://www.getchip.net/posts/079-ir-udlinnitel-dlya-uart-na-attiny13/
Подскажите, а есть тогда вариант собрать полноценный IR приёмо-передатчик на МК? Причина на странице выше описана.
С пульта команды он не принимает (он их воспринимает как помехи — чем они по сути и есть для протокола передачи — и игнорирует их). Этот удлинитель общается только с себе подобными.
Попробовал связку USB-UART + IR удлинитель. Взял пульт нажимаю на кнопки, в терминал ничего не приходит, пробовал с терминала отправлять команды, светодиод (IR диод) моргает. Почему не приходят команды в терминал?
Кстати, момент, у меня есть программатор 910, определился как COM4. Подключаю платку, хочу установить драйвер из статьи, комп пишет, что не нашёл подходящих драйверов, пробую ставить принудительно, драйвера становятся, а устройство определяется как программатор 910 на том же COM4. И что самое интересное всё работает в терминалке. Как такое может быть?