Reflow паялка
5 постов
Дошли руки заснять, как происходит пайка на термостолике. Кому не терпится - промотайте первые 60 секунд, там начинается основной движ. То что плата свисает - специально, столик собирает "сам себя". Так конечно неправильно, и делать не стоит, но иногда очень надо :).
4 месяца назад я постил про самодельный столик для reflow-пайки печатных плат. За это время он прилично прогрессировал, и хочется рассказать про обновления.
OSHWlab (EasyEDA): https://oshwlab.com/puzrin/reflow-table-pd
Самое главное - получилось нормально добить поддержку свинцовых паст, с головой на MCH-нагревателях. Не дожидаясь выхода PD3.2 зарядок с AVS-профилями. Вполне прилично тянет прогрев четырехслоек со сплошной медью внутри (на двуслойках надо намного меньше). На бессвинцовые (RoHS) пасты динамики не хватает, но они дома точно нафик не нужны.
Второй момент - была серьезно переделана вебня. Она теперь в стиле Material Design 3. На всех кнопках, которые включают нагреватель, появилась дополнительная защита - их надо не просто кликнуть, а еще и подержать. Ну и появился импорт-экспорт профилей для тех кто хочет покопаться поглубже. С вебней можно поиграться на гитхабе, без железа, просто выберите демо-режим.
Почти все механические компоненты были подогнаны под JLCMC, где они стоят совсем копейки, и можно объединить доставку с платами. Несколько позиций все еще надо покупать на алике, но цена от этого уже не распухает как раньше.
Магнитный замок крышки был переделан, чтобы больше ничего клеить. С учетом того, что нейлоновый корпус еще не каждый клей возьмет, это заметное упрощение и по сборке и по деньгам.
Схема была подкручена чтобы поддерживать PD-профили до 48 вольт. Если честно, конкретно для паялки - нафик надо, просто руки чесались :). Для экспериментов очень удобно иметь девайс, который точно не сдохнет от ошибки в софте, когда ковыряешь новые мощные зарядники.
По ходу экспериментов упростил позиционирования трафарета для пасты. Раньше делал реперные дырки в плате и трафарете, куда втакалась проволока. Но случайно обнаружил, что есть гораздо более доступные калиброванные "positioning pins". Это такие шпыньки точного диаметра со сглаженными краями, для надевания на них чего-нибудь. Под них можно делать отверстия вообще без зазора 0.05мм, и трафарет совсем не елозит. Отпечатки очень резкие получаются.
Далее совсем кратко, чтобы не раздувать:
Переехал на EasyEDA Pro. Очень рекомендую всем для новых проектов.
У меньшил высоту корпуса и сильнее скруглил ребра. Стало визуально приятнее.
Поправил алгоритм переключения PD-профилей, чтобы быстрее заскакивал на более мощные, и не мотало на верхней полке.
Выкинул поддержку RTD датчиков. Измерения через TCR меди/вольфрама достаточно хороши, чтобы не усложнять.
После всех оптимизаций, у меня без учета доставки получилось так:
С нагревательной головой из алюминиевой платы - 85$ (до 180 градусов)
С головой на MCH-нагревателях - 105$ (до 250 градусов)
Ну не супер-дешево как планировал, но приемлемо. Альтернативы из приличных - не сильно дешевле, но намного жиже по фичам.
Если собирать несколько штук (себе и друзьям) - следующие получатся долларов на 50 дешевле, т.к. деталек приезжает с большим запасом.
Осталось еще несколько моментов, которые не успел проверить лично, но платы с детальками уже едут.
Подправил стабилизатор 3.3V на более бюджетный и крупный, чтобы проще паялся.
Заказал термопасту от хотендов 3D-принтеров (Creality), должна жить лучше чем Termal Grizzly Kryonaut, да и дешевле намного.
Наколхозил трафарет для нанесения пасты совсем без напрягов. Сомневаюсь, что очень надо, просто удобно, если часто наносить.
Подправил корпуса, чтобы гайки в посадочных местах не проворачивались (перед этим чуть лажанул с размерами)
Добавил разъем для подбора сопротивлений нагревателей, чтобы не покапать дорогой милиомметр.
В общем, риски что в самой последней итерации накосячил - минимальные.
PS. OSHWlab забацал конкурс лучших разработок за 2026 год. Поэтому если у вас есть аккаунт на EasyEDA и паяльный столик нравится - поставьте пожалуйста на тамошней странице проекта палец вверх. Ну а с меня видео, как паста на плате бульбулирует при сборке. Пока разбираюсь, как в OBS stutio сделать исходники в 3 потока, чтобы понагляднее всё свести (микроскоп, общий вид, вебня).
Наверное многие уже использовали PD-триггеры, чтобы запитать от USB-зарядника самые разные устройства. Очень удобная штука. Однако у разработчиков железа бывают и более сложные требования по управлению питанием, для них и была сделана эта библиотека.
Вот несколько примеров, когда фиксированного триггера может не хватать
Меняется сопротивление нагрузки (например, медь/вольфрам при нагреве), и надо крутить напряжение чтобы мощность не падала.
Нужно задать какие-то нестандартные напряжение (через PPS-профиль)
Хочется выставить ограничение по току, чтобы заряжать аккумуляторы напрямую.
Хочется использовать микроконтроллер с поддержкой USB PD (например STM32Gxxx), и упростить внешний обвес.
В общем, это актуально для разработчиков железа, у которых есть свобода выбора "что рисовать на схеме".
Усложнять конечно стоит не всегда.
Если вы не разрабатываете свое железо, а пользуетесь готовым - логичнее использовать копеечный внешний триггер.
Если делаете что-то совсем простое, и нужно только фиксированное питание из стандартного списка - с готовым триггером тоже может быть проще. Или можно использовать микросхему, аналогичную тем что в готовых триггерах.
Так что разумный выбор за вами.
Опенсорсные проекты есть, но все со своими особенностями. Где-то не поддерживаются EPR-режимы (28+ вольт), где-то код гвоздями прибит к операционной системе, которая не всем нужна, и т.п. В общем, смысл в новой библиотеке с перламутровыми пуговицами точно был.
Поскольку время не резиновое, делал только самую востребованную вещь, которая у всех пригорает - режим Sink (потребление энергии). Вот что есть уже сейчас:
Полностью независимое от платформ ядро.
Полная поддержка Sink.
Драйвер FUSB302B - одного из самых популярных чипов.
Совместимость с самой последней версией стандарта USB PD 3.2. Сейчас массовые зарядники поддерживают спецификацию 3.1. Новые, с поддержкой 3.2 и AVS-профилями выпустят в следующем году. Точно выпустят, сертификация чипов уже прошла, с рельсов не свернуть.
Чего нет:
Поддержки режима Source (источника питания).
Наворотов по управлению режимами кабеля.
Драйверов для STM32G / WCH (руки не дошли)
Да. В исходниках есть примеры. Библиотека используется в реальном проекте reflow-паялки, про которую недавно писал. Собственно, она и была поводом сделать свой USB PD стек. А так как привык все делать основательно, решил что стоит упростить жизнь следующим разработчикам. Ну и всё попутно проверялось на десятке зарядников, которые были под рукой, проблем нет.
Честно предупреждаю, тема не самая тривиальная. Если хочется просто привинтить FUSB302B к ардуине и повертеть напряжениями - может быть сложновато. Документация минимальная, для тех кто не боится вникать в код примеров. Но у опытных разработчиков проблем быть не должно.
С момента предыдущей публикации прошло довольно много времени. Так получилось, что мир слегка изменился, и было не до разработок :). За это время технологии не стояли на месте, поэтому в итоге девайс получился еще проще, компактнее, и удобнее. Ушел дисплей, упростился конструктив, а управлять теперь можно из браузера по BLE.
Кому лениво читать предыдущую публикацию, кратко напомню:
Хотелось компактный девайс для ненапряжной пайки дома. Когда что-то собирают раз в пару месяцев, и нет смысла заморачиваться со здоровой печкой.
Наглядно показать, что современной электроникой вполне реально заниматься дома.
Более крупная рабочая зона (80х70 мм), чем у доступного на рынке.
Комфортный интерфейс для настройки.
Чтобы легко мог собрать каждый (чтобы все технологии были доступны в домашних условиях).
В общем, вышло как на картинке. А вот еще немного:
Конечно, надо понимать, что любой девайс - это баланс фич под конкретные задачи. Сам принцип прожарки плат снизу "несколько спорный", но для LTS-паст приемлемый. У тех кто шарит в теме, глазик дергаться от температурных режимов не будет :). Если нужно что-то посерьезнее - значит стоит прицениваться к полноценным печками из тостеров, но это уже совсем другие габариты и другие задачи.
Изначально паялка делалась на MCH-нагревателях. Но получилось недостаточно просто/дешево для любителей и динамика не понравилась. Плюс, с учетом разбега температур из-за прожарки снизу, коптить платы со свинцовой пастой уже стремновато. Вполне можно, но я под этим не подпишусь, чтобы технологи за такие советы не насували в панамку :). Отложил эту тему до выхода USB PD 3.2, там с AVS-профилями будет попроще необходимую мощность из зарядника выдурить. Кому интересно про MCH-голову, держащую до 300°С - все ходы записаны.
Как только урезал осетра, сократив рабочую температуру до 200°С, всё резко упростилось:
Стало возможно сделать нагреватель из алюминиевой печатной платы.
Можно выбирать любое сопротивление дорожки (нет проблем с извлечением мощности и скоростью нагрева).
Пропала необходимость в датчике температуры. Девайс всё равно меряет напряжение и ток. Температура элементарно считается через TCR меди. Нагрев равномерный, так что риска серьёзно встрять на большие погрешности измерений нет.
Конечно стоит помнить что МОТ подобных плат около 130°С, и рано или поздно такой нагреватель сдохнет :). Но т.к. девайс делался не под 24х7, то вам хватит :). И если что - пластину менять легко, а в заказе 5 штук. Просто не надо выставлять 200°С и оставлять на неделю.
Максимальная температура ~ 180°С (выше - потечет припой 217°С, которым провода к нагревателю подпаяны).
Почти всё заказывается в полтора клика на jlcpcb / jlc3dp / lcsc. Всякая ерунда вроде крепежа и кулера от распбери - на алике.
Из механических работ - только зенкануть отверстия в нагревателе под конические винты.
Тут прописаны все подробности сборки.
В LTS-профиле пришлось растянуть верхнюю полку до 60 секунд. Но там запас гиганский, не страшно. Без проблем паяет плату самой себя. А это 4-слойка со сплошной медью внутри, которая еще вдобавок лежит на паялке поперек и свисает с краев :). Химичить с накрыванием платы сверху фольгой нужды нет.
В общем, последний раз я феном пользовался когда первую паялку собирал. Потом стало как-то не особо надо.
Честно предупреждаю, на алиэкспрессе висмутовые пасты - полное дно. Шансы нарваться на брак процентов 70-80. Это не шутка. Когда по незнанию собрал на этом клозете плату, просто офигел от количества оставшихся мусорных шаров и пыли. Так что надо либо тестировать, либо покупать у локального проверенного продавца, либо заказывать по интернету что-то брендовое вроде ChipQuik.
Я проверял аликовские пасты из любопытства, раз уж нарвался. На бытовом уровне, как сумел. Интересно стало. Наносил на гребенку для проверки флюсов, грел феном, и смотрел как собираются в шар (чтобы кляксу затянуло полностью, не оставляя мусора). С аликовскими висмутовыми творилась какая-то дичь. Со свинцовыми и RoHS-овскими подобного не было. Паст смотрел не полторы штуки, а с десяток разных. Кроме того, на говнопастах детальки с площадок убегают, чего никогда не наблюдал на свинцовых.
Еще на алике есть пасты на 151°С вместо 138°С (меньше висмута) с серебром. Я бы не брал. Не эвтектика, профита по температуре не будет. То что пробовал - по качеству шлак.
Далее, что важно знать - чистые висмутовые пасты заметно более хрупкие, чем свинцовые. Так что в разъемы на отрыв, в автомобильную электронику с сильными вибрациями и т.п. их применять не стоит. Это в достаточной степени фиксится добавкой 0.4-1% серебра. Так что имейте в виду. Лучше взять пасту с присадкой. Но для домашних поделок, которым не надо работать десять лет в трудных условиях - обычная тоже сойдет.
Ну и последнее - рабочая температура этих паст до 80-90°С. Силовые ключи, которые будут вскипать, стоит паять чем-то другим (вряд ли дома вам такое понадобится).
Хранить пасту лучше в шприцах. Не сохнет годами. И, это конечно неправильно, но без холодильника тоже прокатывает :). Хотя православнее в холодильнике и носом вверх. Если паста расслоится - стыкуете два шприца через luer-to-luer переходник, перегоняете несколько раз, и она снова равномерно и качественно перемешана. В распечатаной банке паста скопытится за несколько месяцев, если не долбаться с герметичными пакетиками, холодцом и т.п. Обычно проще всего либо сразу взять в шприце, либо взять банку и дома по шприцам распихать.
Это не профессиональные рекомендации, просто немного практических соображений.
Вообще, вся эта история затянулась т.к. пришлось целиком писать USB-PD стек, потому что не нашлось тех, которые бы устроили (ну или из-за NIH-синдрома). Эта тема наверное заслуживает отдельного поста.
Интерфейс паялки можно посмотреть на гитхабе. Просто выберите там демо-режим, и можно будет потыкать без железа. Т.к. BLE пока толком поддерживает только хром, то владельцы айфонов слегка в пролете, но думаю что так им и надо это приемлимое ограничение. Обычно паяют все-таки за столом, а там десктоп с монитором есть.
Есть несколько моментов, до которых пока не доходят руки (ну или знаний не хватает, чо у ж там скрывать)
Дизайн. Вебню надо поприличнее раскрасить. Корпус тоже наверняка можно полирнуть (хоть он уже и не такой всратый, как из предыдущих публикаций).
Над Reflow-профилями стоит еще покумекать. Тут необходим просто большой опыт ручной пайки как у ремонтников, или опыт настройки промышленных reflow-линий. Все, что можно выжать на уровне диванного эксперта, читающего интернеты, уже выжато :)
Документация. Наверняка можно улучшить, если посмотреть свежим взглядом.
Я уже писал что делаю reflow-паялку для хоббистов, и наконец-то дошли руки напечатать корпус. Но внешний вид не радует. Как-то оно похоже на поделку кочегара, который собрался греть плату углями (особенно в закрытом состоянии):
Знаете, я всегда утверждал, что хоббийный проект - это не повод халявить и делать тяп-ляп. А байки что "слабый процессор не тянет нормальный интерфейс и шрифты" - удел пионеров и дилетантов. Поэтому ввалить кучу усилий в разработку, и на выходе запороть внешний вид - это несусветная дурость. В общем, нужна помощь.
Хотелось бы найти промдизайнера, или хотя бы совет, где они вьют гнезда, попросить облагородить то что есть. Чтобы девайс, помимо функциональности, еще и радовал глаз, а не вызывал желание срочно вымыть руки с мылом или долго оттирать пемзой. Я с пониманием отношусь, что у всех разные ситуации, поэтому не жду помощи бесплатно, и заранее откладывал денежку со школьных завтраков.
В идеале - если чертеж будет сделан в чем-то опенсорсном (OpenSCAD, FreeCAD и т.п.). Но я готов подстроиться под любые варианты. Главное чтобы человек умел увязывать полет фантазии с реальной жизнью. Грубо говоря, коробка должна раскрываться так, чтобы вентилятор обдувал нагревалку. Ну и нагревалка с дисплеем должны быть на одной поверхности (печатной плате). Как это впишут в конечный результат - мне не принципиально.
Буду очень признателен за советы или непосредственную помощь. Ну и конечно готов поделиться славой, упомянуть и т.п. Девайс опенсорсный, и я действительно хочу чтобы получилось как лучше для всех.
Предполагается, что корпус будет заказываться вместе с платой, на https://jlcpcb.com/3d-printing. Из LEDO 6060. То есть, девайс, реально "народный", и не потребует доступа к станочному парку и даже 3D-принтеру.
Иногда нужно померить обороты коллекторного мотора, но нет возможности установить датчик оборотом. Я уже писал про регулятор, который определяет обороты через через противоЭДС. Там есть свои тонкости, поэтому сейчас прорабатываем другой способ - по пульсациям тока, которые вызывает переключение обмоток. Отложим технические нюансы, и посмотрим красивые картинки с котиками :)
Ток на высоких оборотах (16 килогерц, 512 отсчетов):
Ток на низких оборотах:
Просто запитали мотор через ЛАТР с диодным мостом, и записали дампы электронным осциллографом. Как видно, пульсации тока есть, и они похоже на то что нужно. Но конечно всё криво-косо и забито помехами. Поэтому не будем ломать глаза, а просто применим преобразование фурье, чтобы посмотреть спектр.
Спектр на высоких оборотах:
Спектр на низких оборотах:
Нулевой отсчет забили тапком, чтобы не портил масштаб. Первый пик вызван сетевыми гармониками (100/120 герц, *2, *3, *4). А вот второй максимум - именно то что нам надо, и виден довольно хорошо.
Как оно на практике? Да фик знает, железки еще нет :). Но мы снимали 10-секундные дампы для разных режимов, а потом прогоняли через скрипты, которые вычисляли скорость. Результаты не прыгают, показывают именно то что нужно.
Все выложено в репозитории на гитхабе https://github.com/speedcontrols/dc_sc_grinder (смотрите содержимое веток).
В чем недостатки метода
1. Чуть другая схема (ШИМ вместо регулировки фазы). Вместо дешевого симистора - MOSFET с обвязкой. Это немного дороже, но не критично (пол доллара).
2. Мотор питается выпрямленным напряжением. Теоретически, может понадобится коррекция обмотки подмагничивания. Но в реальной жизни все и так работает (проверено на бормашинках).
3. При питании от переменного напряжения нельзя мерить частоты ниже 500 герц. Для 8-полюсного мотора это 4000 RPM. Ну бормашинки ниже 5000 RPM не крутят, так что все хорошо.
Достоинства
1. Надежное определение оборотов во всех режимах.
2. Не нужно мерить напряжение (меньше деталей), а при измерении тока не важны смещения и шумы. То есть, можно не заморачиваться с калибровкой АЦП, и применять компоненты попроще.
3. Можно легко переделать схему на низковольтную, заменив силовую часть (и тогда уйдет ограничение по минимальным оборотам).
Железо
- https://oshwlab.com/speed/dc-speed-control
Схема очень похожа на ту, что упоминалась в начале, с переделанной силовой частью. Как ни странно, вышло даже проще (меньше деталей). Компоненты тоже слегка поменялись, с учетом доступности. Поэтому цена снова стала низкой (около 10 долларов на 1 плату)
Честно предупреждаю, что железо и прошивка еще не отлаживались. Но так как многое основано на предыдущем проекте, есть повод для оптимизма. Когда закончим - напишу ещё.
https://github.com/speedcontrols/ac_sc_grinder
Те кто пользуются бормашинками, знают что на низких оборотах они совсем "не тянут". Но это решаемо. Меняем встроенный регулятор на "валшЭбный", и все чудесным образом чинится.
Особенность регулятора в том, что он бездатчиковый. То есть, скорость вычисляется через противоЭДС. Не очень точно, но на практике хватает. Из плюсов - не надо ни каких доработок механики (установки таходатчика). Просто меняем электронику и всё. Не буду вас грузить математикой, кому интересно - в документации выписаны все формулы и алгоритмы.
Это не первая версия регулятора, но в новой есть немало значимых изменений:
- Платы переделаны под новые модели популярных бормашинок (старые хильды уже не купить).
- SMD монтаж с одной стороны платы. Проще собирать и меньше трафарет для пасты.
- ADRC регулятор вместо PID. Это сложная магия, которая работает намного лучше.
- Прошивка по USB. Отдельный программатор покупать не надо.
Электроника специально сделана так, чтобы ее мог собрать любой. Платы и детальки заказываются в пару кликов через EasyEDA. Кроме, возможно, микроконтроллеров, с которыми нынче трындец мировых масштабов - их может понадобится покупать отдельно. Если делать одну штуку - детальки встанут в 20-30 долларов. Если делать несколько, себе и друзьям - общая сумма примерно та же :)
Всем добра и бормашинок!
https://github.com/lvgl/lv_font_conv
Если кто застал, на первых пиратских CD с играми писали “озвучено профессиональными программистами”. Выглядело совершенно психоделично. Потом правда поменяли на “озвучено профессиональными актерами”. Но мне почему-то кажется, что программисты, которых заменили актерами, с тех пор переключились на дизайн в embedded и занимаются этим до сих пор. Иначе трудно объяснить, почему когда смотришь на многие “железки”, глаза готовы лопнуть от напряжения.
Про дизайн можно говорить долго, но остановимся на самом очевидном - шрифтах. Ну допустим, рендеринг TTF-шрифтов на лету действительно тяжеловат для чахлого микроконтроллера. И ограничения по памяти довольно серьезные. Но это же не повод забивать болт на кернинг, антиалиасинг, субпиксельное сглаживание, и втыкать везде “шрифт которые принес кореш на флешке” с непонятной лицензией. Так что пришлось мне в рамках программы по улучшения мира заняться еще и шрифтами для эмбедов.
Общий принцип понятен:
- нужны битмапные шрифты
- с поддержкой grayscale (на канал прозрачности, для антиалиасинга)
- c легковесной компрессией (актуально для больших букв)
- с опциональным 3х разрешением по горизонтали (для субпиксельного сглаживания)
Как выяснилось, стандарты битмапных шрифтов тормознулись на BDF. Пришлось слегка поизобретать лисапед. Поскольку в свое время делал fontello, то шрифтовые потроха представляю неплохо. В принципе, TTF умеет хранить внутри битмапы, но там довольно много legacy шлака, и компрессия либо убогая, либо слишком сложная. Поэтому утянул из TTF сколько сумел, дополнив недостающим по минимуму. Вышло IMO неплохо:
На дисплее шрифт Roboto, размер 12px и 14px.
Естественно, поддерживаются далеко не все фичи, которые навертели в OpenType. Тот же кернинг - на уровне таблицы “kern”, без мозголомных вариантов “GPOS”. Но думаю что под незамысловатые потребности эмбедов лет на десять хватит. Ну а потом… может все микроконтроллеры уже пойдут с гигабайтом памяти на борту, и все эти ухищрения станут не актуальны.
Почему это здорово
- Ну во-первых, это красиво :)
- Можно взять любой векторный шрифт, и выдрать из него подмножество для нужных языков
- Можно объединять разные шрифты (например, добавляя к буквам иконки)
- Можно упорядочить свои проекты, используя современные шрифты, с понятными источниками и лицензиями.
Для OLED можно найти pixel-perfect TTF шрифты под разные зазмеры. Ну а если экран цветной - за счет субпиксельного сглаживания можно использовать вообще все что угодно, с прекрасным результатом.
Конкретно сейчас, разработанная спецификация и конвертор используется в GUI LittlevGL. Но формат шрифтов универсальный, и не привязан к какой-либо библиотеке или языку. Сам конвертор тоже универсальный, написан на node.js.
Всем добра!