Arduino nano v3.0

CH340G

Микросхема CH340G — преобразователь интерфейсов USB — UART, выпускаемая китайской компанией WCH появилась на рынке сравнительно недавно,
и очень быстро обрела широкую популярность. Из основных причин этого можно выделить:

  • низкую стоимость
  • хорошую поддержку основными операционными системами — Linux, Windows (XP, 7, 8, 10) и Mac OS X
  • работа с уровнями 3.3В и 5.0В
  • микросхема требует минимум дополнительных компонентов и имеет удобный для пайки корпус SOIC-16

В частности, эти преобразователи широко используются в китайских клонах ардуино.

CH340G создаёт виртуальный последовательный порт, эмулирующий все функции реального COM-порта (с полным контролем сигналов управления передачей
данных — RTS, DTR, DCD, RI, DSR и CTS).

Микросхема поддерживает спецификацию USB 2.0. Скорость обмена по UART может быть в диапазоне от 50 бит/сек, до 2 Мбит/сек.
Аппаратная часть поддерживает последовательный дуплексный интерфейс с внутренним буфером FIFO.

Программатор из конвертера USB/TTL CH340

Для разных поделок купил недорогие и миниатюрные платы Arduino Pro Mini. Всем они хороши: маленькие размеры, много портов, на два больше, чем у Arduino UNO R3 (ещё есть А6 и А7), однако есть и пара недостатков для их использования.

Во-первых, чтобы запрограммировать Arduino Pro Mini нужен внешний программатор, так как использовать, к примеру, Arduino UNO R3 в качестве программатора не всегда удобно.

Во-вторых, у Arduino Pro Mini нет стабилизатора на 3.3В (если это 5В плата), что ограничивает сферу применения. Как обойти эти недостатки читайте ниже.

Программатор на CH340

Покопавшись в море информации на просторах Интернета, пришёл к мнению, что наиболее недорогой и быстрый способ сделать программатор для Arduino Pro Mini и ему подобных – это использование конвертера уровней USB/TTL на основе микросхемы CH340G. На aliexpress купил его за 57Р, что совсем смешные деньги по нынешним меркам .


Pic 1. Конвертер USB/TTL на чипе CH340G

Собственно такой конвертер можно сразу использовать для программирования Arduino Pro Mini, необходимо только в момент окончания компилирования скетча нажать кпопку RESET на плате Arduino и скетч загрузится, но это не совсем удобно – ловить момент окончания компиляции и жать на кнопки . Гораздо интереснее сделать загрузку скетча автоматической, как это происходит в Arduino UNO R3 или Arduino Nano. Оказывается для этого всё есть в данном конвертере. У чипа CH340 на 13-й ноге выведен сигнал DTR, а у Arduino Pro Mini уже есть такая ножка под этот сигнал. Остаётся небольшая доработка. Требуется подпаять к 13-й ножке CH340 штырёк, для подключения к плате Arduino.

Для начала доработки – снимем защитную плёнку с платы. Затем выпаяем разъём с 6-ю штырьками и заменим его на разъём с 7-ю штырьками. К 7-му штырьку нужно подпаять перемычку с 13-й ножки чипа CH340.


Pic 2. Снимаем защитную плёнку и выпаиваем разъём
Pic 3. Подпаиваем перемычку к 13-й ножке CH340
Pic 4. Обратная сторона конвертера CH340

Все ухищрения для программирования в автоматическом режиме вот этой платы Arduino Pro Mini.


Pic 5. Arduino Pro Mini

Чтобы запрограммировать с помощью нашего доработанного программатора Arduino Pro Mini, необходимо сделать соединения между Arduino Pro Mini и программатором на основе CH340.

  
             Arduino Pro Mini
         - VCC
               - GND
                - RX
                - TX
       - DTR


Pic 6. Соединяем Arduino Pro Mini с CH340

Для проверки работоспособности собрал схему управления светодиодом и загрузил соответственный скетч (любой).

На этом программатор был закончен и принят в эксплуатацию. Попользовавшись, могу сказать, что очень удобная и недорогая штучка получилась, рекомендую к повторению. С помощью этого программатора уже много раз программировал разные Arduino Pro Mini.

Сделал корпус в стиле а-ля ардуино , чтобы руками не хватать за контакты. Корпус из оргстекла (акрила).


Pic 7. Программатор CH340 в корпусе
Pic 8. Программатор CH340 в корпусе

Стабилизатор на +3.3В для Arduino Pro Mini

Переходим ко второму пункту доработки.

Ниже представлена схема этого стабилизатора. Он построен по линейному принципу. Основой стабилизатора является настраиваемый стабилитрон TL431. С помощью резисторов R2…R4 устанавливается напряжение стабилизации. Для точного подбора напряжения на выходе стабилизатора – изменяйте значение R2. Чем R2 меньше, тем меньше выходное напряжение. При указанных номиналах резисторов R2…R4, напряжение на выходе стабилизатора около 3.2В. Резистор R1 подобран такой, чтобы ток через TL431 был не менее 1 мА. Транзистор VT1 является регулирующим элементом.


Pic 9. Схема стабилизатора

Так как Arduino Pro Mini имеет размеры всего 30х17.5 мм, то собирать стабилизатор имеет смысл на планарных компонентах, для уменьшения размеров.

На кусочке фольгированного стеклотекстолита разместил все компоненты. Дорожки прорезаны небольшим резаком. Не стал заморачиваться с разводкой платы, схема простейшая, не имеет смысла. Получился модуль стабилизатора на 3.3В размерами 20х12.5 мм. Его использовал для барометра на BMP280 и Arduino Pro Mini. Всё замечательно работает.


Pic 10. Модуль стабилизатора. Вид сверху
Pic 11. Модуль стабилизатора. Вид с боку

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

2018-09-14

Выбор изолятора

Выбор изолятора требует очень тщательного подхода. UART всегда считали низкоскоростными устройствами, однако современные микроконтроллеры и интерфейсы могут поддерживать скорости, превосходящие 1 Мбит/с. Многие изоляторы, в особенности оптроны, не могут работать на частотах свыше 100 кГц. Выпускаемый Silicon Labs цифровой изолятор Si8421BB-D-IS вполне подходит для нашего приложения, однако он не рекомендован для использования в новых разработках. Альтернативой могла бы быть микросхема ADUM3211ARZ, но она не проверялась, поэтому использовать ее вы будете на свой страх риск.

Изоляция микросхемы SI8421BB позволяет ей выдерживать напряжение 2.5 кВ в течение 1 минуты. Суффикс BB указывает на то, что изолятор может работать на скоростях до 150 Мбит/с. Цена микросхемы SI8421BB-D при небольших объемах закупок составляет всего $1.46, но если для вас это слишком дорого, SI8421AB-D будет стоить лишь $1.05 (при максимальной скорости 1 Мбит/с). Другим преимуществом SI8421BB-D является то, что она имеет два изолятора в 8-выводном корпусе SOIC, то есть, способна обеспечить двунаправленный обмен по линиям сигнальной пары Tx/Rx. Изоляторы однонаправленные, однако расположение их выводов позволяет совместить микросхемы с платой преобразователя USB-UART фирмы Sparkfun.

Схема включения

Микросхема требует минимум внешних компонентов — 4 конденсатора и кварцевый резонатор. Наличие внутренних подтягивающих резисторы для шины USB и
цепей подавления отраженного сигнала позволяет подключать выводы UD+ и UD- непосредственно к соответствующим
сигналам разъёма USB.

Схема включения очень проста (библиотеку для Eagle можно скачать в конце статьи):

Вывод V3 является выходом внутреннего источника опорного напряжения для USB интерфейса. При напряжении питания 3.3В он
должен быть соединён с Vcc. При напряжении питания 5В, между ним и землёй подключается блокировочный конденсатор
ёмкостью 4.7 – 20 нФ.

Вывод R232 является входом включения инверсии RXD. Высокий уровень на нём включает инверсию. Этот вход можно оставить
неподключенным, т.к. он имеет внутренний резистор, подтягивающий его к земле.

Кстати, при использовании внешних преобразователей уровней можно получить поддержку интерфейсов RS23, RS422, RS485.

При работе микросхема может потреблять ток от 12мА до 30мА. В режиме сна потребление сокращается до 150-200мА при питании от 5В
(и до 50мА — 80мА при питании от 3.3В).

Испытания преобразователя

Плата преобразователя USB-UART питается напряжением 5 В через подключенный к хосту кабель USB. Установленная на плате микросхема FT232R вырабатывает напряжение 3.3 В, используемое для питания первичной стороны изолятора. Вторичная сторона получает питание от исследуемого устройства, которое может равняться либо 3.3 В, либо 5 В. Простейшим способом проверки изолированного преобразователя будет подключение питания и земли к вторичной стороне SI8421BB-D-IS и непосредственное соединение выводов Tx и Rx (Рисунок 5). Очень удобно для установки платы изолятора, что немаркированные контакты корпуса SOIC-8 непосредственно соответствуют шелкографии на плате преобразователя USB-UART, так что контакты Vcc, Tx, Rx и GND на обеих платах оказываются друг против друга.

Рисунок 5. Проверка преобразователя.

Наконец, пришло время испытаний платы. Запустите свою любимую терминальную программу и откройте виртуальный COM-порт, созданный драйвером FTDI. Чтобы не связывать себя никакими ограничениями, скорость обмена с терминалом я установил равной 921.6 Кбит/с. Ввод в терминал посылает в изолятор данные, которые, вернувшись по замкнутой петле, будут появляться в окне терминальной программы (Рисунок 6). О возникновении проблем будут сигнализировать имеющиеся на плате светодиоды Tx и Rx. При вводе в терминал должны гореть оба светодиода. Если один из них погас, вы поймете, на какой из сторон изолятора следует искать неисправность.

Рисунок 6. Кольцевой тест изолированного моста USB-UART.
Оцените статью:
Оставить комментарий