Конвертер rs232 в usb на чипе pl2303. Последовательный порт – TTL и RS232

Обновление

Конвертер rs232 в usb на чипе pl2303. Последовательный порт – TTL и RS232

Некоторые читатели Майску наверняка помнят мой обзор самодельного лабораторного блока питания. Недавно в догонку к нему пришли преобразователи интерфейса, для подключения его к компьютеру.

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

На пакетиках даже был какой то стикер с номером, видимо или артикул или еще что-то, но в общем это непринципиально, но за аккуратность продавцу поставил – отлично.

Преобразователь интерфейса собран на очень распространенной PL2303 производства фирмы prolific , это конечно не любимая мною FT232, но в принципе вполне терпимо, так как неподдельных микросхем производства FTDI мне как то за вменяемые деньги не попадалось, а эти платки обошлись вообще в копейки (особенно если учитывать, что у нас на рынке они стоит в 2-3 раза дороже). Да, есть на эти платы цены еще более «вкусные», но 10-50 штук мне не надо было, потому взял так.

На плате установлены 3 светодиода, красный на питание, синий на передачу и зеленый на прием.
То ли резисторы подобраны неправильно, то ли еще что, но красный светит так, что аж глаза вылазят, синий светит слабо, а зеленый вообще еле видно. Но так как для меня эти светодиоды не имели вообще никакого значения, то я не стал с ними разбираться.
Так же на плате установлен 5 штырьковый разьем, На который выведены 3.3 Вольта, 5 Вольт (как я понял, фактически напрямую от USB), RX, TX и Общий.
Плата собрана по самой простейшей схеме, 3.3 Вольта на выходе берется от PL2303, RX подтянут к 5 Вольт, TX выдает лог уровень с напряжением 5 Вольт.
Если надо выводить остальные сигналы, то придется помучатся.
Все номиналы установленных деталей подписаны на плате, собрано довольно аккуратно.

Но как я выше написал, что платы мне нужны были не для любования цветными светодиодами, то я решил сразу их и применить, как минимум одну, вторая будет для еще каких нибудь поделок.

Приготовил все необходимое для допиливания данных плат и приступил к делу, в процессе буду отмечать некоторые особенности данных плат.

Применить я плату преобразователя решил в своем лабораторном блоке питания, на который я недавно выкладывал обзор. Кстати данная платка (плата гальванической развязки) присутствует на общей трассировке с передней панелью.

Собственно применение.

Для этого была собрана маленькая переходная платка, на которую установил микросхему опторазвязки интерфейса, так как скорость маленькая, то купил самую дешевую ADUM1201A.

Да, можно было конечно попробовать сделать опторазвязку на оптронах, но при цене микросхемы чуть больше доллара как то совсем не хотелось, возможно я просто обленился.
Данная микросхема позволяет сделать гальваническую изоляцию интерфейса на скорости до 10 Мбит (есть и более скоростные версии, отличаются буквой)

Плата «одета» в мягкую прозрачную термоусадку, но так как для моего применения она мне немного мешала, что я решил это самое немного укоротить.

Разъем, который был установлен на плате мне тоже особо не нужен был, так как я считаю довольно неудобным такой тип подключения, когда плата включается непосредственно в USB, хотя кому как. Разъем выпаивался довольно легко, даже не пришлось включать фен, обошелся обычным паяльником так как крепежные лепестки разьема не были припаяны, тем кто будет пользоваться платкой с этим разьемом, я бы рекомендовал их припаять.

Попутно я выпаял и выходной разъем, на него выведены – Земля, Прием, Передача, Выход 5 Вольт, Выход 3.3 Вольта.
Все контакты подписаны на самой плате и соответствую надписям.
Сам разъем мне нужен был, но немного не в том виде, что идет с платой, пришлось его выгнуть.
Заодно я укоротил плату, так как в полном варианте она у меня не хотела влазить, да и на отрезанном кусочке нет ничего. Вот такой допилинг, хотя скорее уже отпилинг. 🙂

Вид с другого ракурса, наверное все уже догадались, зачем я проделывал такие манипуляции с разъемом.

Припаял кабель к задней панели, посчитал что лучше это сделать до сборки двух плат в один конструктив. Кабель применил самый простой, 4х0.22 в экране, хотя на таком расстоянии наверное даже через веревку работало бы.

С обратной стороны припаял USB разъем, закрепил кабель стяжками и приготовил пару крепежных «ушек» из обрезков фольгированного текстолита (даже вспомнил молодость, когда делал небольшие корпуса из стеклотекстолита спаивая вырезанные пластинки между собой).

Припаял пластинки к разъему, самое сложное было что бы припаялось ровно, иначе при привинчивании их может отломать.

Прорезал отверстие в корпусе БП, просверлил отверстия в крепежных ушках и нарезал в них резьбу М3 (кто не знает, в стеклотекстолите получается довольно хорошая резьба, не надо даже никаких гаек).

Установил всю эту конструкцию на штатное место, стало так, как будто там всегда и было.
На фото видно что плата при полной своей длине не влезла бы. Впрочем я даже не мерял, это и так было видно с самого начала.

Немного ближе.

Внимательные читатели заметят небольшую платку, и супрессор, которых не было на фотографиях в обзоре. Это последствия моих экспериментов с МАХ232. При подключении МАХ-а я перепутал 1 и 2 ногу микросхемы с 15 и 16, перегрузил ШИМ стабилизатор питания логики и ОУ и он с красивым фейерверком выпустил волшебный дым.
За секунду выгорел сам ШИМ, прогорев насквозь, 3 операционных усилителя и индикатор. Процессор остался жив. Благодаря этому (не было бы счастья, да несчастье помогло) я переделал стабилизатор питания, заменив его на более лучшую LM5007 (диапазон входного до 75 Вольт, ток выхода до 500мА), и разобрался с принципом калибровки данной платы (этой информации в интернете я вообще не встречал). Информация по калибровке добавлена в обзор БП.
Родной ШИМ не имел защиты от перегрузки (КЗ не было), что очень печально.

Из-за моего небольшого просчета пришлось разъем на задней панели поставить «вверх ногами», в буквальном смысле.

Все это конечно хорошо, но хотелось бы проверить что я вообще напаял. Подключил к компьютеру и начал пробовать. Но сразу получил большой всемирный облом. ПО работало, но так как ПО от версии 6010, то я получил управление со сдвигом на 1 знак. Плата 6010 имеет минимальную дискрету установки тока 10мА, плата 6005 1мА, соответственно я устанавливал 1 Ампер, а получал 100мА.
Естественно данное положение вещей меня ну никак не могло устроить и я полез в инет.
У какого то китайского электронщика (или продвинутого продавца) я обнаружил ПО для версии 6005. Удалил старое, установил новое и наконец то получил то, что я хотел получить с самого начала. Нормальное управление платой.

На этом пришел этап логического завершения эпопеи с лабораторным блоком питания, включающий в себя три (хотя формально четыре) обзора.
Что я получил в итоге –

Обзор Платы преобразователя –

Резюме.
Плюсы.

Платы отлично работают, никаких дефектов не обнаружено
Продавец отправил все четко и в срок.
Пришло все в отличном состоянии.
Обошлись платки мне дешевле чем на рынке.

Минусы.

Светодиоды имеют разную яркость, мне было непринципиально.
Крепежные лепестки разъема не припаяны, но мне это даже помогло.

Надеюсь что данный обзор поможет сэкономить немного денег тем, кто ищет подобные платы.

{ ArticleToC: enabled=yes }

Небольшого размера адаптер USB TTL PL 2303 является неким программатором, используемым с платой для считывания информации с различных датчиков:

  • влажности;
  • температуры;
  • движения.

Этим и обусловлено широкое использование адаптер USB TTL PL2303 в радиоуправляемых устройствах. Программируется TTL USB адаптер на С++, т.е. USB TTL адаптер является «универсальной шиной» при передаче данных, используемой в технике вычислительной низкой и средней скорости.

Чтобы ее подключить к USB RS232 TTL адаптеру необходим четырехпроводной кабель. Одна витая пара нужны для дифференциального подключения при приеме и передаче (RX и TX), а оставшиеся — для подачи питания устройствам периферийным (GND и +5V).

При условии, что наибольшая сила тока таких устройств не превышает 500мА, а у USB – 900мА), подключаются они без своего источника питания.

При том, что для TTL логики 0-5 В имеются стандартные уровни, вроде USB адаптер TTL и не нужен.

Но, из-за того, что интерфейс/протокол USB достаточно сложный, чтобы построить на его базе устройство, требуются глубокие познания и микропроцессоры, обрабатывающие данные.

В помощь можно взят иной протокол — УАПП (UART), на сегодня являющийся наиболее распространенным. Среди семейства из множества протоколов, используемым чаще других считается RS-232, в быту именуемый портом COM. Он самый старый из всех, но и сегодня актуальный.

Он имеет линии:

  • передающая — TXD;
  • принимающая — RXD.

Если используют их, передавая данные, то в аппаратном управлении нет необходимости. Для аппаратного используют DTS и RTS.

Выход передатчика соединяют со входом приемника и наоборот.

RS-232 от логики (5-вольтовой) стандартной разнится электрическим принципом действия. В этом варианте «0» лежит в диапазоне +3 до +12 В, соответственно единица — в пределах от -3 до -12.

Вывод.
Назначение адаптеров UART USB TTL состоит в «стыковке» сложнейшего интерфейса

USB с простым и «ходовым» протоколом UART, поддерживаемом микроконтроллерами, и работе с уровнями логики 0-5В.

Адаптер USB RS232 TTL Pl 2303 собирается на PL2303 микросхеме, создающей на ПК виртуальный СОМ-порт. Применяют для прошивки устройств с микроконтроллерами.

Его стоимость на составляет 40,84 рубля.

Чтобы доставить в Украину заплатить дополнительно нужно 149,74 руб.

Основные характеристики PL2303 USB для TTL модуль адаптер конвертер:

  • тип напряжения – регулярное;
  • питание – 3,3/5 V;
  • назначение- для компьютера;
  • температурный диапазон — -40 TO +85;
  • производитель – Diymore.

USB 3.3 В 5.5 В для TTL адаптер мини-порт

Обзор

  • Размер – 36х17,5 мм (ДхШ);
  • Контакты: GND, CTS, VCC, TXD, DTR, RXD, RXD;
  • Чипсет FT232RL;
  • Поддерживает – 5В, 3,3 В;
  • Шаг – 2,54 мм.

Отличного качества модули стоимостью 100,24 руб
. предлагается интернет-магазином https://ru.aliexpress.com/popular/ttl-adapter.html

.

Для обнаружения авто с помощью GPS адаптер USB TTL PL2303 HX конвертер RS232

Его стоимость составляет 42,7 рублей
.

К особенностям относятся:

  • антистатическую упаковку, не допускающую накопления статэлектричества,
  • негативно отражающегося на работе;
  • высокую надежность, стабильность;
  • поддержку WIN7.

Используется продукт, весящий 5 граммов (без упаковки) в студенческих экспериментах производстве и т.д. Его размер – 50Х15Х7 мм. У конвертеров модели USB PL2303 — RS232

TL есть пара интерфейсов, служащих для подключения (пятиконтактный штыревой) и ПК (USB стандартный).

FT232RL USB 3.3 В 5.5 В для TTL мини-порт

Стоимость его 106, 43 рубля
. Это недорогой вариант увеличить возможность USB микроконтроллерам. Для защиты самовосстанавливающийся предохранитель 500ma, чтобы защититься от перезагрузок по току.

Характеристики

  • цвет – красный;
  • питание USB- 5 или 3,3 В;
  • вес – 4 грамма;
  • габариты — 43х17 мм.

Малый размер дает возможность использовать его в разработках, где критичным является размер гаджета.

USB в TTL для UART на чипе PL2303

Используется при Arduino программировании.

Конвертер на микросхеме Max3232 преобразует сигналы RS-232 порта в пригодные к использованию в цифровых схемах на основании TTL-технологий.

Стоит 76,11 рублей.

CP2102 USB 2.0 для TTL UART 6Pin

Состоит из платы CP2102, USB2.0 full-speed встроенного, генератора кварцевого, шины данных UART и поддерживает сигналы, не требуя внешнего USB модема.

  • Весит 4 грамма;
  • Индикаторы светодиодные на: питании, передаче и приеме;
  • Статус рабочий– 3,3 и 5 В.

Стоит 82, 3 рубля.

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

Ну не беда, подумал я. На «апельсине» распаян UART, подключусь как я к нему терминалом да посмотрю что происходит. Были куплены необходимые детали и провод и спаян вот такой кабель (картинка под спойлером)

Нубский вариант кабеля

Тот кто в теме, сразу поймет в чем я был не прав, сделав такой кабель, и таких среди читающих больше половины. Я же заподозрил неладное после того как увидел кракозябры, которые плевал в терминал мой «апельсин». Именно понимание причины моей глупейшей ошибки и побудило меня к действиям, описанным ниже.

1. В чем разница между UART и RS232

Разница в уровнях. Последовательный интерфейс, реализованный в Orange Pi и других подобных устройствах, основан на TTL-логике, то есть нулевому биту соответствует нулевой уровень напряжения, а единице уровень в +5 В. RS232 использует более высокий уровень напряжения, до 15 В, и единице соответствует -15 В, а нулю +15 В. Для увеличения помехозащищенности канала как ноль воспринимается любой уровень напряжения ниже 3 В по модулю. Протокол передачи данных на уроне последовательности логических значений и у UART и у RS232 абсолютно одинаков. Всё это иллюстрируется следующей диаграммой передачи байта

Вот как я мог об этом забыть? В бытность своей работы в электровозостроительном НИИ эти вещи я знал. А тут почему-то глупость сморозил. В общем стало понятно, что нужен некий преобразователь уровней с инвертированием сигнала. Выбор пал в сторону подключения всего хозяйства к COM-порту, который есть на матплате моего домашнего компьютера. Хотя конечно можно было посмотреть в сторону UART USB, ибо старинный последовательный интерфейс неуклонно теряет актуальность. Однако моя склонность к более простым решениям победила и в качестве кандидата на приобретение всплыл вот такой девайс

Продаваемый на том же «али» за 464 рубля. В принципе, такое можно было найти и в магазинах или на радиорынке в моем городе, но зуд сделать что-то руками уже был разбужен. Поэтому я отверг мысли о покупке платы сопряжения и решил попробовать сделать её самостоятельно.

Надо сказать, что с паяльником я вообще-то дружу. В школе и университете до покупки первого компьютера пайка всякой полезной и не очень ерунды была для меня главным увлечением. Но я жил в деревне, были девяностые годы. Денег особо не было, компоненты доставались путем разборки попавшего в поле зрения радиохлама. Источником информации были книги из районной библиотеки – «интернеты» тогда были далеко не у каждого. Богатого инструмента тоже не было. Фольгированный текстолит и хлорное железо были легендарным чудом. В общем было трудно.

После покупки компьютера вся увлеченность переключилось на него. А скил паяльщика мелких усилителей-приемничков положен на полку. Так что я «чайник». Поэтому ко многому из того, о чем я напишу ниже, прошу относится снисходительно. И эта статья, по большому счету для таких же «чайников» как и я.

2. Выбор схемы устройства и его компьютерное моделирование

Схему подобного девайса найти в сети раз плюнуть. Таких схем реально много. Выбор пал на такое решение

Сердцем всего устройства является микросхема типа MAX232 – преобразователь уровней, действующий по принципу “зарядового насоса “. Повышение напряжения с 5 в осуществляется за счет поочередной зарядки внешних конденсаторов C4 и C5. В моменты выдачи сигнала на RS232 эти конденсаторы соединены последовательно, и напряжение накопленное в них складывается. При обратной передаче микросхема работает как делитель. В обоих направлениях передачи сигнала происходит его инвертирование.

Диод VD1 играет роль «защиты от дурака» – запирает цепь питание при подаче напряжения неверной полярности.

Прежде чем приступать к изготовлению устройства я решил посмотреть, как всё это будет работать, поэтому начал с моделирования будущего устройства в среде Proteus. Для испытания схемы был собран виртуальный стенд

Первое что хотелось сделать – смоделировать всё, включая цепи питания, так как меня интересовало влияние диода на работу схемы. По умолчанию в Proteus пины питания на микросхемах скрыты и подтянуты к плюсу нужного уровня и земле. Чтобы их разблокировать, нужно, во-первых, отобразить скрытые пины. Для этого идем в меню Template -> Set Design Colors и ставим галку Show hidded pins

В котором ставим галки Draw body и Draw Name. После этого выделяем всю микросхему, включая текст, которым подписаны выводы и правой кнопкой меню выбираем Make Device. Нам будет предложено выбрать имя для нового устройства и сохранить его. Всё, после этого цепи питания будут включены в процесс симуляции явно.

Далее, передавать по UART будем нечто осмысленное, например букву «A» кодируемую в ASCII кодом 65 в десятиричной системе счисления или последовательностью 01000001b в двоичной. Кроме того, чтобы иницировать передачу необходимо послать стартовый бит с уровнем «0», а для завершения передачи послать один или два стоп-бита уровнем «1». Таким образом, временная диаграмма кадра, передаваемого по UART будет выглядеть так

Для формирования подобного сигнала используем источник именуемый Digital Pattern Generator (DPATTERN) с настройками вида

Ширина импульса в 104 микросекунды соответствует скорости 9600 бод. Форма сигнала задается строковым шаблоном где «L» означает низкий уровень, а «F» – высокий уровень. Соответственно наша строка будет выглядеть как «FLFLLLLLFLF». Контроль принимаемых в RS232 данных будем производить виртуальным терминалом, настроив его так

Не будем использовать бит четности, и будем использовать один стоп-бит. Кроме того, скажем что сигнал, подаваемый на терминал инвертирован, что соответствует протоколу RS232. Запустив моделирование схемы получаем осциллограмму сигналов и вывод в виртуальный терминал

По каналу A идет выходной сигнал, подаваемый в COM-порт. На канале B – входной TTL-сигнал. В терминал выводится заветная буква «A». Таким образом мы убеждаемся в том, что предлагаемая схема вполне работоспособна. В теории.

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

Из ближайших к месту моего обитания магазинов, где можно разжиться радиодеталями есть два заслуживающих внимания: магазин «Радиодетали» на Буденовском проспекте (это город Ростов-на-Дону) и магазин «1000 радиодеталей» на проспекте Нагибина, напротив ТЦ «Рио». Последний выгодно отличается тем, что у него есть сайт , правда довольно древний, и видимо лениво обновляемый (и сделанный на Joomla…). Поползав по прайсу я подобрал список того, что мне нужно прикупить.

Сразу скажу, я тщательно избегал SMD-компонентов в виду своей неопытности. Поэтому я выбрал MAX232CPE в исполнении для монтажа в отверстия. Такие же взял и электролиты и диод. Однако по место оказалось, что в наличие только микросхема MAX232CWE – то же самое, только… SMD! Подумав с секунду я согласился с предложением продавца – надо же когда-то начинать… Конденсаторов на 15 В не нашлось, зато нашлись на 100 В той же емкости и тех же габаритов. Ну ладно, тоже ничего. Вместо разъема DB-9 типа «папа» мне предложили «маму». Таким образом получился следующий список

Хлорное железо, цапон лак и текстолит, разумеется не были использованы полностью. Кроме того, в этот список я не включил приобретенный инструмент: простенькую паяльную станцию (ибо до этого располагал только 40 ваттным паяльником с медным жалом), бокорезы и маленькие плоскогубцы, ножницы по металлу для резки текстолита, жидкий канифольно-спиртовый флюс ЛТИ-120 ну и так далее. В общем эта эпопея стоила мне порядка 3000 рублей.

В общем компоненты были куплены и принесены домой. 40-пиновые PLS-колодки были отпилены под нужное число контактов. Один из контактов вынут, с целью обеспечения однозначности соединения. Отверстие в гнездовой колодке, соответствующее вынутому пину заделано полиэтиленом.

4. Сборка устройства на макетной плате и проверка работы

В принципе, для такого простого девайса это и не обязательно. Но я же «чайник», поэтому прежде чем делать плату, решил все-таки проверить схему в реальной работе.

Сложнее всего пришлось с микросхемой. Чтобы впаять её на макетную плату пришлось извратится с подпайкой двенадцати ног к медным проводникам. Вышел паук-монстр о двенадцати ногах

В этот момент я понял две вещи: хорошо, что я все-таки купил паяльную станцию. А плохо то, что мне придется изрядно повозится с этой мелкотой. В общем компоненты были запаяны на «макетку», схема собрана с «апелисновой» платой. Питание +5 В взято с «апельсина» – 2-й контакт на двухрядной 40-пиновой штыревой колодке

Для коннекта с устройством использовался терминал putty, который есть и под Linux, и в отличие от minicom имеет цветной вывод и не требует дополнительной настройки на ввод символов в терминал с клавиатуры.

В общем, плата заработала – по экрану терминала побежали строчки лога загрузки: сначала от u-boot а потом и от ядра linux

Надо ли говорить как я обрадовался: во-первых схема работает правильно, а во-вторых – линукс на «апельсине» установлен верно, нормально работает в многопользовательском режиме

Неработающий HDMI-разъем и отсутствие Ethernet-интерфейса, таким образом связано с настройкой самого дистрибутива. Эти проблемы, разумеется будут решены и речь тут не о них. Поэтому перейдем к следующему пункту программы

5. Разводка печатной платы

Делал её в Altium Disigner. Разводку платы лучше делать после того, как куплены компоненты. Возможно, как и в моем случае, потребуется установка дополнительных библиотек компонентов для Altium. Размеры компонентов и топология посадочного места для каждого должны соответствовать фактически имеющимся деталям. Тут о меня не обошлось без досадной оплошности, но об этом ниже.

Скажу сразу – не пользуйтесь автоматической разводкой. Возможно это и настраивается, но авторазводка норовила протащить дорожку между ног у конденсаторов, что при расстоянии в 2 мм между ними делает дорожку шириной около четверти миллиметра, что для меня как для «чайника» было слишком круто. Да и интуиция подсказывала, что таких вещей желательно избегать. Поэтому я использовал ручную разводку (опираясь на результаты автоматической), задав в правилах разводки ширину дорог 0,5 мм (Design -> Rules -> Routing -> Width)

Кроме того, по умолчанию Altium полагает, что плата двухслойная. Чтобы заставить его разводить одностороннюю плату в правилах разводки следует указать разводку в одном слое, скажем в Top Layer

Схема была набрана в редакторе схем

При этом надо учитывать тот факт, что свободные неподпаянные входы микросхемы (ноги 8 и 10) следует подтянуть к земле, иначе Altium не скомпилирует схему для передачи её в редактор плат.

В итоге, путем самостоятельных ковыряний в программе и уроков Алексея Сабунина цель была достигнута и плата разведена

Все компоненты с монтажом в отверстия расположились с чистой стороны текстолита, а микросхема, в силу SMD-исполнения – со стороны дорожек. Для вывода разводки схемы на печать необходимо создать в проекте устройства так называемый Output Job File

Который настраивается следующим образом. В списке опций настройки выбираем Documentation Output и щелкаем на Add New Docimentation Outpu, выбирая в появившемся меню PCB Prints и проект платы, касающийся нашего устройства.

Переименовываем появившийся пункт документации, назовем его скажем LUT, по транслитерации технологии (ЛУТ), которую собираемся использовать для перевода рисунка платы на медь. Правой кнопкой мыши щелкаем по LUT и в контекстном меню выбираем Configure. В настройках слоев выводимых на печать оставляем только два пункта: Top Layer и Multi-layer и расставляем галки как показано на скрине

Галка Mirror нужна в частности для зеркального отображения рисунка на печати. Это важно, иначе при переводе рисунка на медь получится зеркальное отражение наших дорожек, а нам это не надо. Кроме того, следует заглянуть в Page Setup

Чтобы выбрать формат бумаги и обратить внимание на масштабный коэффициент (Scale). При первой печати он оказался равен 1,36 почему-то, а должен быть равен единице

Теперь жмем Print. У меня нет своего принтера, поэтому я распечатал в PDF используя Foxit Reader, а затем отнес полученный файл на флешке в ближайшую ко мне «шарашку», в которой распечатал рисунок на глянцевой фотобумаге. В итоге получилось вот это

Размер платы вышел 62 х 39 мм, по этому размеру ножницами по металлу вырезан кусочек текстолита. Раньше я пилил текстолит ножовкой и часто (а точнее всегда) это получалось ужасно. Ножницами же выходит ровненько, без мусора и повреждения токопроводящего слоя.

6. Изготовление печатной платы

Был выбран метод ЛУТ (лазерно-утюжная технология) из-за своей простоты и доступности. Руководством к действию послужила . Старался не нарушать технологию: прошелся по меди нулевкой, обезжирил, правда не ацетоном, ибо не нашел где купить, а универсальным обезжиривателем на основе уайт-спирита, купленным в Lerua Merlin. Тщательно и с усилием прогладил бутерброд из текстолита и рисунка уюгом на максимальной температуре. Или из-за того, что где-то ошибся, или потому что не дал остыть заготовке, или просто в «шарашке» экономят тонер на принтере, в общем вышло не очень

Однако, я благоразумно запасся перманентным маркером Edding 404, которым, не без помощи своей любимой жены (с прокачанным скилом подведения ресниц и рисования узоров на ногтях) обвел все дорожки

Далее был разведен раствор 6-ти водного хлорного железа из расчета около 180 грамм на 300 мл воды (воду набрал из-под крана, горячую) и плата была брошена на съедение в кювету для травления. Чтобы протравить плату и не отравить при этом жену, операцию производил на закате на балконе

«Хлоняк» не подвел, ходят ходят слухи что часто продают некачественный. Травление заняло 13 минут, последние островки меди уходили прямо на глазах. Главное не забывать периодически пинать плату пинцетом по кювете и следить за процессом. Как только лишняя медь исчезнет, достаем плату срочно и промываем обильным потоком воды.

После промывки, протирки и просушки настает момент истины. Надо снять защитное покрытие. Я пытался делать это уайт-спиритом,

Но дело шло туго. Потом жена предложила свою жидкость для снятия лака для ногтей – этот чудо-эликсир смыл покрытие мгновенно (я до сих пор в ужасе от того, какими реактивами пользуются наши женщины. Красота – страшная сила!)

Не подвел и маркер – все дорожки уцелели

После очистки защитного покрытия можно приступать к сверлению отверстий. И вот тут я совершил досадную ошибку – у меня не оказалось сверла на 0,5 мм, и вместо того чтобы отложить дело до завтра, купив нужное сверло, я поторопился и взял миллиметровое, посчитав что оно подойдет. В итоге я повредил многие контактные площадки, к счастью не сильно и не бесповоротно. Но все же никогда не спешите. Как говорил мой знакомый Марк из лаборатории кафедры мехатроники Мюнхенского университета, где я проходил преддипломную практику «Дмитрий, для каждой работы бери подходящий инструмент». И он был тысячу раз прав.

7. Лужение платы и пайка компонентов

Места пайки компонентов должны быть покрыты тонким блестящим слоем припоя. Это основное условие успешности работы. Я не стал лудить дорожки целиком. Во-первых, побоялся покоробить их, а во-вторых всё равно собирался покрывать плату цапон лаком. Так что я облудил лишь места пайки. Для этого кисточкой наносим на них канифольно-спиртовый флюс ЛТИ-120 и паяльником, разогретым до 250-300 градусов, с жала которого свисает крохотная капелька припоя, проводим по нужным точкам платы. За счет увеличения флюсом поверхностного натяжения припой растекается по точно контактным площадкам.

После этого была разобрана «макетка», проводки удалены с микросхемы и в первую очередь была припаяна она. Аккуратно руками или пинцетом помещаем микросхему на её место в соответствии с цоколевкой, так чтобы каждая ножка заняла свою площадку. Затем ряды ножек смазываем флюсом. Короткими и точными движениями касаемся всех ножек по очереди, не забывая набирать припой на жало паяльника (но не слишком много, достаточно маленькой капли). Если всё сделано верно, то ножки паяются к площадка очень быстро и точно, без «соплей» и перемыкания соседей. На запайку микросхемы у меня ушло меньше минуты, а я делаю это впервые. Вдохновило меня на этот подвиг такое видео , за что я очень благодарен его автору. Всё оказалось действительно не так страшно.

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

От «соплей» уйти не удалось, но для первого раза вышло довольно сносно, хоть меня, вероятно и раскритикуют.

8. Проверка цепей и ещё одна досадная ошибка

После пайки смываем весь флюс спиртом, берем в руки мультиметр и звоним все цепи, с целью проверки их проводимости и соответствия принципиальной схеме. И вот тут бяка подкралась незаметно. Разъем COM-порта оказался распаяна зеркально! «Земля» сидела на первой ноге вместо пятой, Rx – на четвертой вместо второй. И я до сих пор не пойму как, ведь при разводке в Altium всё было верно. Это осталось для меня загадкой. Никакой загадки – просто имея по факту разъем «маму», при формировании схемы в Altium всё равно использовал «папу». Отсюда и зеркальная распайка, получившаяся в итоге. К счастью я решил эту проблему соответствующей распайкой кабеля, предназначенного для подключения девайса в COM-порту компьютера. Но из-за этой ошибки COM на плате оказался таким вот «проприетарным».

В остальном монтаж оказался верным и я, распаяв соединительные кабели и прибрав рабочее место, подключил новенькую плату к «апельсину» и компьютеру

По окну терминала снова побежали строки лога загрузки. Я был счастлив!

9. Наводим «красоту»

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

Теперь можно приступить к дальнейшей доводке ПО для «апельсина». Теперь я не буду слеп и нем, а смогу налаживать систему через последовательный терминал.

Заключение

Это было интересно. Интересно для меня, потому что впервые. Первое устройство спроектированное на компьютере и собранное на печатной плате своими руками. И если кто-то иронично усмехнется, то пусть вспомнит, что он тоже когда-то делал это впервые…
Добавить метки

Микроконтроллеры в Arduino (ATmega328, 168, 2560) используют, кроме прочих интерфейсов, аппаратно реализованный последовательный интерфейс (UART). В МК ATmega2560 (Arduino Mega) реализовано сразу четыре UART. Интерфейс использует два провода – RX (прием) и TX (передача), где цифровой сигнал кодирует значения бит “0” и “1” напряжением на проводе. Значению “0” соответствует 0В, а значению “1” – рабочее напряжение интегральной схемы (5В или 3.3В, в зависимости от модели и режима работы МК). Такой тип кодирования также называют транзистор-транзисторной логикой (ТТЛ), т.к. напряжение на проводе напрямую влияет на состояние (открытое/закрытое) транзисторов, обеспечивающих приемо-передачу цифрового сигнала.

Последовательный порт компьютера (COM-порт), который все реже можно видеть в современных моделях компактных компьютеров, работает по старому телекоммуникационному стандарту RS232, где кодирование сигнала иное: значение “0” кодируется напряжением от +3В до +25В, а “1” – отрицательным напряжением от -3В до -25В. В COM-портах персональных компьютеров обычно встречается напряжение +13В и -13В.

Большая разница напряжений делает RS232 соединение более устойчивым к помехам, однако, в современных цифровых устройствах чаще используется ТТЛ-совместимый последовательный порт, либо USB – гораздо более современный и высокоскоростной интерфейс.

На приведенном рисунке для сравнения отображены сигналы TTL serial и RS 232, снятые при передаче значения одного байта.

Для преобразования сигнала RS232 в TTL и обратно необходимо его инвертировать (хотя это можно сделать и программно) и преобразовать напряжение. Обычно для этого используются микросхемы типа MAX232 . Иногда используют упрощенные самодельные схемы, обеспечивающие инверсию сигнала и преобразование напряжения или прибегают к программно-аппаратным решениям (программная инверсия, аппаратное изменение напряжения).

В случае с Arduino (Uno, Mega и пр.) используется USB-TTL serial контроллер, обеспечивающий работу с МК через ТТЛ-совместимый последовательный интерфейс. В старых моделях для этого использовался чип FTDI FT232, в новых – ATmega8U или ATmega16U. Выводы последовательного интерфейса МК так же доступны для прямого подключения. Для Uno это выводы D0, D1, а у модели Mega имеется сразу несколько последовательных интерфейсов. Подключать к этим выводам RS232 порт нельзя – корректно работать он не сможет из-за другого типа кодирования, а высокое напряжение может повредить МК.

Для подключения к ТТЛ-совместимому последовательному порту с компьютера удобно использовать USB-TTL serial адаптер . Однако, USB-TTL serial адаптеры общего назначения продаются только в специализированных магазинах и, нередко, по неоправданно высокой цене. При этом гораздо более популярны (и дешевы) USB-RS232 адаптеры. При ближайшем же рассмотрении, любой USB-RS232 адаптер содержит два основных компонента – микросхемы USB-TTL serial адаптера и RS232-TTL serial преобразователя.

У меня нашелся USB-RS232 адаптер, схема которого была спрятана в легко разбираемый корпус DB9 разъема (иногда корпус делают литым и добраться до схемы сложнее). Адаптер оказался построен на популярных чипах Prolific PL2303 (USB-TTL serial адаптер) и Zywyn ZT213 (RS232-TTL адаптер). Посмотрев на спецификацию PL2303 выяснил, что мне нужны выводы 1 (TX) и 5 (RX), к которым я подпаял провода, никак не меняя схему (так что RS232 часть осталась работоспособной). Землю взял с 5го контакта DB9, чтобы не трогать 7й вывод микросхемы.

В итоге получился дешевый и сердитый USB-TTL serial адаптер. На скриншоте: Serial monitor от Arduino IDE подключен по USB, а realterm – напрямую к D0,D1 через USB-TTL serial адаптер.

Слышал, что многие data-кабели для мобильных телефонов также содержат USB-TTL serial контроллеры, хотя все большее количество современных моделей подключаются к USB интерфейсу напрямую, не требуя специальных адаптеров. Многие микроконтроллеры снабжены USB интерфейсом, в частности ATmega8U и ATmega16U, которые используются в Arduino в качестве USB-TTL serial контроллеров, предоставляя доступ к ATmega328, который USB интерфейса не имеет.

Почти все микроконтроллеры имеют на борту последовательный порт — UART
. Работает он по стандартному последовательному протоколу, а значит его можно без проблем подключить к компу на COM
порт. Но есть тут одна проблема — дело в том, что комповый RS232
он за логические уровни принимает +/- 12
вольт, а UART
работает на пятивольтовых уровнях. Как их совместить? Для этого существует несоколько вариантов схем преобразователей уровня, но самая популярная это все же на специальном преобразователе RS232-TTL
. Это микросхема MAX232
и ее аналоги.
Практически каждая фирма делает свой преобразователь, так что тут сгодится и ST232
, и ADM232
, и HIN232
. Схемка простая как три копейки — вход, выход, питание и обвязка из пяти конденсаторов. Конденсаторы обычно ставятся 1uF
электролиты, но в некоторых модификациях ставится 0.1uF
керамика. Я везде впаивал 0.1uF
керамику и обычно этого хватало. 🙂 Работает как часы. Если же на высоких скоростях будет глючить, то надо будет повышать емкость.

Кстати, существует еще и MAX3232
это то же самое, но на выходе у него не 5вольт TTL, а 3.3 вольта TTL. Её используют для низковольтных контроллеров.

Я себе сделал один такой универсальный шнурочек, чтобы к контроллерам цепляться было удобно по UART
. Для общей компактности всю схему запихал прям в разъем, благо у меня были ST232
в soic корпусе. Получилась платка не больше рублевой монеты. Так как под рукой не было мелких SMD конденсаторов, то пришлось напаять кондеры сверху, кто во что горазд. Главное работает, хоть и не очень красиво вышло.

Если сомневаешься, что у тебя получится столь мелкий монтаж, то я тебе развел плату на стандартный PDIP корпус. Размером она будет со спичечный коробок, зато мельчить не надо.

После сборки проверяется просто:

Втыкается в разъем COM
порта. Подается 5 вольт питания на схему, а затем замыкаешь Rx
на Tx
(у меня это зеленый и желтый провода).

Дальше открваешь любую терминалку, хоть Hyper Terminal
, цепляешься к порту и начинаешь посылать байты, они должны тотчас возвращаться обратно. Если этого не произошло — проверяй схему, где то косяк.

Если работает, то дальше все просто. Тот провод который идет от ножки 9 микросхемы MAX232
это передающий вывод
, его заводи на ногу RxD
контроллера. А тот который с ножки 10 — принимающий
, его смело сажай на вывод TxD
контроллера.

Оцените статью
Добавить комментарий

одиннадцать − 11 =