Как «чайник» делал UART <-> RS232 конвертер для Orange Pi

    Введение



    Началось всё с того, что я купил себе Orange Pi, поддавшись рекламному слогану «аналог Rasberi Pi всего за 15$». Девайс был заказан на алиэкспрессе и прибыл через пятнадцать дней ещё в феврале. Тогда же были куплены все необходимые дополнительные компоненты: радиатор на процессор, 15 ваттный блок питания, карточка micro SD объемом 32 Гб, HDMI-кабель для подключения монитора. За неимением времени он пылился в ящике стола аж до июня. И вот наконец дошли руки проверить его работоспособность.



    На стандартных прошивках, предлагаемых на официальном сайте работоспособность не вызвала нареканий. Но стандартные прошивки меня не устраивают по той причине, что уж так я устроен — любой попавший мне в руки девайс должен быть кастомизирован по полной программе. Поэтому в руки был взят U-boot, исходники которого скачаны с официального FTP, а так же сборка Arch Linux для ARM. В качестве опорного мануала и отправной точки для копания был взят вот этот мануал для Banana Pi.

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

    Ну не беда, подумал я. На «апельсине» распаян 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



    Далее щелкаем правой кнопкой по микросхеме и выбираем пункт (самый последний) Decompose. Микросхема разберется на отдельные части. Двойной клик по нужному пину отобразит окно



    В котором ставим галки 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 типа «папа» мне предложили «маму». Таким образом получился следующий список

    Позиция Количество, шт Стоимость, руб
    MAX232CWE 1 70
    Конденсатор электролитический, 1 мкФ х 100 В 4 15
    Диод 1N4148 1 5
    Розетка DRB-09FA 1 20
    Розетка DB-9F 1 20
    Вилка DB-9M 1 20
    Корпус для разъема DB-9 2 20
    Штыри PLS-40 1 15
    Гнезда PLS-40 1 15
    Текстолит односторонний 200 х 200 мм 1 200
    Цапон лак зеленый, 30 мл 1 50
    Хлорное железо 6-ти водное, 250 г 1 160
    Итого: 655


    Хлорное железо, цапон лак и текстолит, разумеется не были использованы полностью. Кроме того, в этот список я не включил приобретенный инструмент: простенькую паяльную станцию (ибо до этого располагал только 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. Наводим «красоту»



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



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

    Заключение



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

    Спасибо всем за внимание, уделенное моей писанине!
    Поделиться публикацией
    Комментарии 48
      –2
      А чем простой USB-TTL адаптер не подошёл? Тот же PL2303, который можно из Китая заказать за сущие копейки (по сравнению со временем и усилиями, потраченными на разработку и изготовление этого устройства).

      UPD: его же в официальной вики и рекомендуют (тыц)

      И да, справедливости ради, TTL это не 5 вольт, а 3.3. Пятью можно либо плату сжечб, либо контроллер UART
        +9
        Подошел бы любой адаптер с нужной функциональностью. Мне захотелось сделать его самому, для собственного удовольствия
          0
          В похожей ситуации с OPI+ ограничился двумя диодами и Ардуино.
          +1
          справедливости ради
          Максимальное напряжение в схемах с ТТЛ может достигать 24В, однако это приводит к большому уровню паразитного сигнала. Достаточно малый уровень паразитного сигнала при сохранении достаточной эффективности достигается при напряжении 5В, поэтому данная цифра и вошла в технический регламент ТТЛ.
            0
            Тут можно сказать что Вики не авторитетный источник. Однако достаточно открыть любой учебник по электронике, где написано что базовый уровень напряжения TTL именно 5 В. Упомянутые 3,3 В могут восприниматься как единица, ибо как единица воспринимается не конкретное напряжение а диапазон от 2,7 до 5 В. А как ноль напряжение от 0 до 0,5 В. А всё что лежит в диапазоне от 0,5 до 2,7 В является неопределенным состоянием
              0
              Есть вообще TTL 1.8V, на жестких дисках используется.
                0

                У TI в серии Little Logic есть КМОП с рабочим напряжением от 0,8 В.


                А ТТЛ, строго говоря, давно уже умерла — если и есть места, где до сих пор применяется именно она, то я их не знаю. Вся бытовуха переехала на КМОП, которая, впрочем с ТТЛ аналогичного напряжения питания по уровням совместима.

            +9
            я промотал статью два раза — и вот это все с кучей текста и картинок только про то как припаять MAX232?
              +1
              Чистокровный TTL всегда был 5В. 3.3 — это уже CMOS.
              Ну и — по уровням сигналов оставлю здесь эту картинку.

              http://chipenable.ru/images/stories/articles/soglasovanie-urovney/cmos-ttl-logic-level.PNG
              –1
              Китайский PL2303 с Windows7 не дружит, лучше уж ch340

              3.3v это уже LVTTL. PL2303 выдаёт такие уровни, но выдерживает 5V сигналы на входе. В общем нормально работает с 5В AVR и с 3.3В.STM

              Последний раз проверял уровни COM-порта на материнке, было -5В..+8В, так что не каждая микруха сгорит.
                +1
                PL2303 прекрасно работает с Win7, гораздо лучше чем криво залоченный FTDI.
              0
              Ну не за копейки конечно, но рублей за 25-30.
                +1
                На «али» разные цены, но в среднем «полтинник». Ну конечно же проще купить, разве я возражаю.

                Иногда хочется тряхнуть стариной и что-то сделать своими руками, тем более что возможностей для этого сегодня намного больше чем 20 лет назад, когда я начал паять
                  0
                  По вашей ссылке в основном как раз TTL конвертеры.
                  Я покупал эти конвертеры вполне себе рабочий вариант и недорого.
                +1
                Пост, мотивирующий иметь жену )
                  0
                  Чего-то дорого у Вас это обошлось, хватило бы этого:
                  e71.ru/_fr/0/26508653.gif
                  Это F-BUS (тот же COM UART конвертор, по сути), только 4 пробода USB убрать.

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

                    Не совсем верно.
                    UART — логический уровень, т.е. описание самого протокола передачи. Внутри устройства уровни могут быть любыми, в зависимости от применённых технологий, ТТЛ, КМОП, не важно, если у вас логика работает на 100 вольтах — то и уровни будут такими же.

                    RS232 — стандартизированный физический интерфейс, использующий UART в качестве логики, и определённые уровни напряжения для физической связи.
                      +1
                      В общем-то, да. Надо переделать этот кусок
                      +2

                      Может я что-то недопонял, но я лет 10 назад похожий переходник делал на двух транзисторах. Вот даже ссылочку со схемой нашёл для наглядности. Я даже плату не делал, вся логика аккуратно умещалась в корпусе разъема.

                        +1
                        Вообще, советую в программах разводки плат сразу ставить пятачки под выводные компоненты с большим внешним диаметром, и небольшим внутренним — потом легче центровать сверло при сверлении, а травление хорошо ускоряется, если булькать в раствор через трубочку воздухом, ну, или компрессор от аквариума подключить.
                        Также отверстия пот крепления разъема ком-порта тоже лучше заранее сделать и сделать их с медным кольцом, к которому также припаяете зацепы боковые после вставки в плату.
                          0
                          Один. :) Один транзистор с открытым коллектором и нагрузочный резистор Запитывается от одной из ножек 232 (не помню какой, лет 20 прошло, выставляясь софтом в +13-15 вольт ) работало до 115 кбод
                            0
                            А совсем без транзисторов сделать можно, как программатор Громова?
                            +4

                            Это всё здорово, но если не секрет, зачем всему остальному миру нужен художественный опус «как я учился паять»?


                            P.S. Altium Designer особенно впечатляет. Сколько он там стоит, от пятёрки за рабочее место?

                              –1
                              Порядка 600k в рублях в зависимости от вида лицензии. Никто не отменяет 30 дневный триал
                                +1

                                Десятку то есть почти. Ну, да, как раз для MAX232.

                                  0
                                  > Это всё здорово, но если не секрет, зачем всему остальному миру нужен художественный опус «как я учился паять»?
                                  Не секрет. Для публичного обмена опытом между теми кто тоже учится, чтобы те кто ещё не делал того, то освоил автор, не повторяли его ошибок. Для выслушивания разносторонней критики. Для всего того, для чего предназначена любая публикация. Или данная публикация не соответствует тематике ресурса и хаба в котором размещена?
                                    +5

                                    Ну так приобретите нормальный опыт — и обменивайтесь им, а не этим ужасом уровня школьного радиокружка, помноженным на спёртый из торрентов софт.

                                      0
                                      Было бы интересно знать, где очерчена граница между «школьным радиокружком» и «нормальным опытом»?

                                      > спёртый из торрентов софт.
                                      Оба программых продукта имеют демонстрационный вариант, вполне законно используемый. В чем проблема?
                                        +3
                                        Было бы интересно знать, где очерчена граница между «школьным радиокружком» и «нормальным опытом»?

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


                                        Оба программых продукта имеют демонстрационный вариант, вполне законно используемый. В чем проблема?

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

                                  +2
                                  Просто среди читающих присутствют как те, кто этот этап уже прошел и такая статья им не интересна (они просто пройдут мимо) так и те, кто сам только делает первые шаги и может из этого очень детального описания что-то подчерпнуть для себя (в том числе и «грабли» на которые наступил лично автор, а и теоретическая часть может оказаться полезной).
                                    +1
                                    > так и те, кто сам только делает первые шаги и может из этого очень детального описания что-то подчерпнуть для себя
                                    Совершенно верно
                                  0
                                  image

                                  50 руб. за 2 шт. на АлиЭкспресс. Можно поставить в разрыв кабеля и защитить термоусадкой, даже в глаза особо бросаться не будет.
                                    0
                                    Купил таких пару штук, оказались нерабочими. Погуглил, оказалось что китайцы подделывают MAX3232 и очень часто получается паразитная наводка между каналами.
                                    +4
                                    решить такую задачу самому целиком — интересно. Понимаю автора.
                                      +1
                                      Еще если очень срочно надо, то можно в ближайшем компьютерном магазине купить USB-RS232 преобразователь (компьютерные магазины, как правило, на выходных работают), разобрать корпус и подпаяться к первой USB-TTL микросхеме.
                                      Формат статьи поддерживаю, это полезно почитать как другие люди решают паятельные задачи, от начала и до конца (+ комментарии). Правда, не понимаю зачем нужно было продолжать после шага, когда всё заработало на макетной плате — работает же всё.
                                        0
                                        зачем нужно было продолжать после шага, когда всё заработало на макетной плате — работает же всё

                                        Чтобы получить законченное устройство пригодное для многократного использования. То что на макетной плате — это висящая на «соплях» микросхема с криво припаяной обвязкой и для использования совсем не пригодно
                                          0
                                          Вот только очень часто можно «купить USB-RS232 преобразователь» который не работает с уровнями +-12В. Такое ощущение что китайцы на MAX232 экономят.
                                          0
                                          В качестве небольшого оффтопа, мне для апельсина понравился дистрибутив ARMBIAN (на официальном сайте есть на него ссылка). И WiFi и дисплей завелись практически без танцев с бубном (Убунту в этом плане поела мне мозг). А hdmi напрямую к монитору подключен, или через переходник? Если второе, есть смысл проверить разрешение и частоту в script.bin (на китайском образе в корне лежит штук 6 этих bin-ов с именами типа script_800_600.bin, нужно просто взять нужный и переименовать. Или попробовать отредактировать нужные значения руками, сконвертировав bin в текстовый вид через bin2fex и обратно.
                                            0
                                            1. armbian — хороший дистрибутив, мне он тоже понравился. Для установки «из коробки», имхо, подходит лучше всего. Но я хочу разобраться с настройками линукса на ARM-платформе в той же степени, в какой разбираюсь на x86. Ставил armbian и lubuntu исключительно для проверки работоспособности платы. Теперь ковыряюсь с u-boot и arch linux и это сознательный шаг

                                            2. hdmi подключен напрямую

                                            За наводку на script.bin спасибо, буду пробовать
                                            0
                                            А почему не разводили в том же Proteus'е? В нем есть такая возможность.
                                            Почему травили хлорным железом(особенно разово и дома)? Я бы использовал лимонную кислоту.
                                              –1
                                              ARES не хочет разводить одностороннюю плату.
                                              лимонную кислоту.

                                              А в какой концентрации ещё следует растворять?
                                                0
                                                Это не мешает развести все в одном слое. Есть много других программ. Altium избыточен.

                                                Про лимонную кислоту. Я делал по этому рецепту http://grakovne.org/postno48/ + паровая баня
                                              +1
                                              Вы хочете критик — их есть у меня.

                                              Для начала — берем не устаревший MAX232, а его аналог MAX32A и получаем бОльшую скорость и конденсаторы керамику 0.1, которых повсюду навалом.

                                              Далее все-таки покупаем версию в дип корпусе и монтируем все это на куске отпиленной макетной платы вместе с разъемом.
                                              Проводим с нижней стороны проводной монтаж — габариты не больше, надежность не хуже, проще в разы, и нет претензий по поводу использованного софта :).

                                              Конечно, если Вы собрались сделать 10 штук, то ЛУТ имеет право на существование, но для одной и достаточно простой схемы макетная плата — оптимальный выбор.
                                              Ну и напоследок — весьма неудачно нарисован конденсатор хранения заряда C1 на первой схеме от ножки к разъему, секундный ступор мне это обеспечило, а вот на второй схеме уже прилично.
                                                +2
                                                Внесу свои 5 копеек.
                                                1) ARES прекрасно разводит в одном слое (надо правильно настроить). Он проще. Большинство компонентов там есть. Даже он избыточен здесь.
                                                2) MAX232 отличный выбор. В схеме на 2-х транзисторах, может неиллюзорно пробить любой транзистор и напряжение +(-)12 вольт пойдет в UART.
                                                3) SMD монтаж проще. Паять smd лучше жалом «микроволна» с ЛТИ-120 (не забыть смыть!) пайка выглядит как заводская. Да и dip паять жалом «микроволна» приятнее.
                                                4) Дорожки на плате желательно тоже лудить по всей длине. Это хоть как-то защитит от трещины в дорожке. Особенно актуально при китайском текстолите и механической очисткой от тонера (толщина дорожки маленькая).
                                                5) Это пост в раздел «электроника для начинающих» для DIY применения такую вещь проще купить.
                                                  0
                                                  ARES прекрасно разводит в одном слое (надо правильно настроить)

                                                  Я посмотрю. Но вообще, стоит взглянуть и на бесплатные альтернативы

                                                  MAX232 отличный выбор

                                                  При том что она как раз и предназначена именно для этой функции

                                                  Это пост в раздел «электроника для начинающих»

                                                  Справедливо. Уже там
                                                  0
                                                  del

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

                                                  Самое читаемое