Китайский паяльный робот: тыкаем палкой и заставляем работать
Паяльных роботов на выставках мы видели давно, но ценники были негуманные, и экономика не сходилась. По расспросам окружающих было понятно, что дальше разовых внедрений дело не идет. Но в последнее время на видео в запрещенных соцсетях видно, как паяльные роботы стали массово применять. Что изменилось? Подтянулись китайские производители станков, цена в разы (если не на порядок) уменьшилась. Теперь это всего несколько месячных зарплат монтажника — надо брать!
Но сначала расскажем о вариантах пайки выводных компонентов. Кроме паяльного робота есть еще несколько, однако не все они нам подходят.
Пока робот паяет левую оснастку, можно закладывать платы в правую
Как вообще можно паять выводные компоненты?
Не использовать выводные компоненты, тогда и паять не надо:) Звучит странно, но с этого и надо начинать оптимизацию пайки. Надо выводные заменять на версии для поверхностного монтажа. Но это не всегда возможно — разъемы несут большую механическую нагрузку, конструктивные сложности с компоновкой, банально дороже и т. д. Зато время пайки — 0, так как паяется совместно с остальными SMD-компонентами.
Пайка волной — большие станки, куда заправляется полтонны припоя. Для больших партий самое то, но для средних и малых — неоптимально и дорого. Требует флюсования всей поверхности платы и последующей отмывки, расположения компонентов только с одной стороны платы. Скорость пайки очень высокая, несколько секунд на плату.
Селективная пайка. Это как пайка волной, только в миниварианте — фонтанчиком припоя из сопла. Также флюс и отмывка, установки дорогие, долго настраивать, скорость пайки средняя (немного быстрее хорошего монтажника). Компоненты могут быть с двух сторон платы.
Погружение в ванну с припоем, «китайский народный способ». Вариант пайки волной, когда плата опускается на поверхность расплавленного припоя и поднимается под определенным углом. Также требует флюсования всей платы и отмывки. Но по сравнению с вариантами выше, очень дешево. Ванна нужна небольшая — чуть больше размера платы, опускать-поднимать можно вручную щипцами. Можно нагуглить эпичные видео, как китайцы в сарае, в шортах, в дыму и копоти паяют таким способом всякие дешевые блоки питания. Скорость высокая, подходит для средних партий.
Ручная пайка монтажником. Можно паять припоем с безотмывочным флюсом, т. е. отмывка после не требуется. Применимо для плат с двухсторонним монтажом и очень плотной компоновкой. Также удобно, что можно нестандартные операции (согнуть, вставить, откусить) сразу делать на рабочем месте. Легко настроить процесс — монтажнику можно доступно объяснить, что нужно делать. Но людей, способных аккуратно и точно выполнять работу, не так просто найти. Такой способ идеально подходит для прототипов и малых партий, для средних тоже применим. На больших уже надо переходить на другие варианты.
Паяльный робот. Конструкция — ЧПУ-станок с 3–5 осями, паяльник, податчик припоя. Принцип пайки аналогичен ручной. Прижимаем жало к ножке и монтажной площадке, подаем припой, чуть ждем, пока растечется, убираем. Можно паять припоем с безотмывочным флюсом, двусторонние платы, с довольно большой плотностью компонентов (выше, чем для селективной, но ниже, чем при ручной). Скорость — как у хорошего монтажника. Кажется, даже подходит для средних партий.
Еще есть разъемы под запрессовку типа Press-fit, и еще всякие редкие методики, но мы уже и так всех утомили, не будем о них.
Отметим, что ошибки монтажа (непропаи, спайки) будут при любых способах, хотя, конечно, при автоматических можно постараться и настроить так, чтобы брак был минимален.
Также для всех способов, кроме первого, есть отдельная операция установки компонентов. Да, есть специальные роботы-установщики выводных компонентов за такую большую кучу денег, что обычно даже на больших партиях серийного производства сажают людей в рядок за конвейер расставлять компоненты в платы.
У нашего робота два паяльных стола
Первое знакомство
На пробу сначала купили один робот BBA-5331HX (пункт номер 6 выше) за $3500 в Китае, распаковали и приступили к настройке первого опытного образца. Инструкция была хорошей, краткой. Но там нет половины настроек, и вообще не написано, как надо настраивать, чтобы оно работало. Когда паяешь вручную, то напаяешь как в кулинарных книгах пишут — до готовности, а с роботом такое не прокатывает — ему надо точно в секундах, миллиметрах и координатах все задать. Параметров пайки — с десяток, при неверной комбинации результат один — «ну чет не припаяло». Подбор оптимальных параметров — та еще веселая задачка (эх, нейросеть бы сюда, да оставить ее на ночь с кучей плат обучаться). Потребовало переосмысления:, а как же мы вообще вручную-то паяем? Стало понятно, что легко робот не сдастся.
Для управления роботом прилагается пульт, через который он программируется. Совершенно верно: каждую точку нужно заносить вручную, вбивать координаты или подвести жало куда нужно и запомнить эти координаты, вписать настройки этой точки. Да, есть функции группового копирования, редактирования, и в целом работать можно, но назвать это удобным никак нельзя. Затем программа сохраняется во внутренней памяти устройства. Чуть позже расскажем, как удалось ее достать.
Пульт программирования робота
Конструкция робота
Конструктивно все роботы-пайщики устроены плюс-минус одинаково, различия могут быть в количестве паяльных столов, голов и системе управления всем этим добром. В нашем случае мы имеем конструкцию с двумя паяльными столами и одной паяльной головой. Два паяльных стола дают большое преимущество — пока один стол паяется, для второго уже расставляются монтажником компоненты в платы, получается непрерывный процесс, в котором оборудование не простаивает.
Столы наших роботов-пайщиков из коробки представляют из себя толстые фрезерованные алюминиевые пластины с кучей резьбовых отверстий.
Немаловажным действием при паяльных работах является очистка жала паяльника. При ручной пайке монтажники это делают с помощью специальной губки, смоченной водой. А как быть бездушной машине, которая не имеет такой гибкости, как человеческие руки? Мы используем для очистки струю сжатого воздуха давлением 2–3 атмосферы. Подается команда, паяльник опускается в бункер, выполняется очистка. Подробности — на фото ниже.
Важно правильно настроить точку подачи припоя: если подавать непосредственно на жало, то флюс быстро выгорает и качество пайки плохое. Лучше подавать в угол между разогретой ножкой компонента и контактной площадкой платы. Но для очистки жала припой надо подавать на жало. Есть небольшое противоречие:), но оно решается установкой большого угла подачи с прицелом на самый кончик жала. Выбор жал у производителя скудный — всего три варианта ширины обычного скошенного наконечника. Беглый поиск совместимых жал результатов не дал — слишком уж у робота они хитрые. Может, кто-нибудь из читателей по внешнему виду подскажет, как модель называется?
Механизм протяжки припоя спрятан в аккуратную коробку с дверцей. Внутри два колеса с насечками (ведущее и ведомое) и два обводных ролика для предварительного выпрямления припоя. Диаметр протягиваемого припоя настраивается регулировочным винтом, который поджимает ведомое колесо к ведущему. Выходя из механизма протяжки, припой попадает в трубку из фторопласта, по этой трубке он движется вплоть до металлической иглы, из которой припой прицельно попадает в зону пайки. Фторопластовая трубка дополнительно защищена от перегибов трубкой из прозрачного ПВХ.
Паяльная станция представлена в виде отдельно навешиваемого на корпус робота модуля. Возможности программной регулировки температуры нет — выставляется кнопками. Но и не сильно-то хотелось. Один раз выставили на ней оптимальную температуру — так и используем.
А еще в нем стояли настолько шумные вентиляторы, что мы во второй же день его разобрали и поменяли на более тихие.
Оригинальное положение держателя, но мы его перевернули, что показано на других снимках
Дополнительные фото
Программируем робота вручную
Разобравшись с конструкцией, приступили к программированию через пульт. Сначала мы сделали чертеж платы с расстояниями и точками. Все точки платы задавали через пульт, что очень и очень муторно. Например, для платы контроллера Wiren Board 7.4 необходимо задать 150–160 точек (а со вторым столом их число удваивается). Возможности проверить конкретную точку нет, если где-то закрадется ошибка, то придется заносить программу сначала.
Каждая точка задается координатами XYZ и углом поворота паяльника, но к нему поначалу прибегали как можно реже. Дело в том, что из-за крепления паяльник поворачивался не вокруг своей оси, а с радиусом порядка 5 см. От этого сложно точно рассчитать координаты точек пайки. Еще это сдвигало рабочее поле пайки. Интересно, что у других моделей станков крепление реализовано сразу нормально, когда ось вращения проходит через кончик жала. Но путем переворачивания крепления паяльника получилось сделать примерно так же.
Есть общие настройки робота, которые влияют на скорость перемещения, например. К сожалению, функции обратной подачи припоя не нашли. Настройки «тряски» тоже есть, но не работают.
Робот последовательно проходит через точки пайки, которые задаются в программе. Предусмотрена более гибкая настройка: пайка каждой точки разделяется на три этапа, для каждого задается скорость подачи припоя, время и длина (количество) припоя. Обычно настраиваем так: первый этап — преднагрев без подачи припоя, второй — подача припоя, а третий не используем.
Идет пайка
Дополнительные фото
Робот перешел к пайке правой оснастки
Ковыряем робота
Конечно, такой ручной режим не устроил. Нам нужен удобный перевод из Eagle в электронную программу станка, а не вот это все.
Пошли методом «научного тыка». На пульте есть порт mini-USB. При заказе роботов нас уверяли что порт нерабочий, и такой функции нет. Через переходник подключили флешку — питание 5 В на разъеме есть, но флешка не определялась. Сделали переходник на компьютер, отрезав питание, и тоже ничего не определилось, поэтому идею поначалу забросили.
Роботов у нас четыре, и программы, которые заложены на одном устройстве, нужно клонировать на другие. Сначала поменяли местами пульты: оказалось, что программы хранятся в самом роботе. Но как до них добраться?
Начали «терроризировать» китайцев, которые присылали малополезные видео. В итоге все же узнали, как подключить пульт по USB к компьютеру. Надо зажать хитрую кнопку, после чего подключить к ПК, тогда пульт определяется как съемный диск. Но это мало что дало, так как программы хранились внутри робота, не в пульте. Снова обратились к китайцам, они сказали, что есть команда «Экспорт». Она выгружает написанную программу из памяти контроллера в пульт. Ура! Все проделали, подключили пульт к ПК и увидели наши написанные программы: файлы с расширением .lua. Посмотрели в текстовом редакторе — ничего сложного, разобрались. Команда «Импорт» выполняет обратную функцию и загружает программы с пульта в память контроллера.
Здесь подключились программисты. Они написали скрипт на Python, который конвертирует файл формата Eagle в точки пайки .csv с названием компонента и названием сигнала, подключенного к пину. Чтобы сразу видеть, что это и где, и например, сразу увеличивать время пайки пинов с земляным полигоном.
Данные из .csv затем вставляем в Google-таблицу, делаем сортировку по осям (X или Y) и приоритетам, выбираем название нужного компонента, после чего подставляются значения настроек пайки. Все настройки пайки изначально подбирались опытным путем.
Выбираем пин для реперной точки первой оснастки, задаем координаты реперной точки на втором столе. Указываем количество плат на оснастке (например, три), с каким шагом они расположены. Формулы пересчитывают координаты точек паек, и пару раз последовательно применив функцию TEXTJOIN, собираем все в одну ячейку и получаем содержимое программы в .lua
Остается записать программу на пульт, после чего импортировать в станок.
В итоге нам удалось автоматизировать процесс перевода платы из Eagle в программу с координатами для станка.
Таблица, с помощью которой мы программируем роботов
Плата контроллера робота
Крепление плат
Производитель станков предлагал сделать оснастки по 100$ на каждую плату, но для этого еще все в 3Д отрисовать, а это уже не очень радостно. Но у нас уже был опыт разработки прижимных оснасток для ручной пайки, и решили что для роботов мы и сами что-нибудь сделаем. Получилось даже лучше, чем хотели: эти же оснастки удалось приладить и на станок. На 3Д-принтере распечатали упоры: слева жесткие, справа — упругие, так достигаем повторяемости положения и быстрого съема/установки. Все работает и точности этой механики вполне хватает.
Прижимные оснастки состоят они из двух половин, соединенных шарнирами. Основной материал — фанера, в качестве шарниров используем небольшие шарикоподшипники. Под каждую модель устройства отдельно делаем вкладыши из фольгированного стеклотекстолита с впаянными пого пинами, для прижима к плате компонентов выводного монтажа и последующей пайки. Выглядит это так: открыли оснастку, положили платы, установили компоненты, закрыли оснастку. Фиксация в закрытом положении происходит за счет стоек с неодимовыми магнитами, переворачиваем — и можно паять.
Работа со станком
Главная проблема станка — зажевывает припой. Если пин плохо прогрелся и припой не расплавляется — он сразу зажевывается в механизме подачи. Станок надо остановить, откусить и вытащить полметра припоя с трубки, заново заправить. И это вызывает прям страдания. Но если хорошо настроить, то такое случается не очень часто, но все равно далеко отходить от станка не надо.
Поэтому робота без присмотра не оставляем: оператор приглядывает за роботом, расставляет компоненты и потом делает визуальный контроль пайки. Единичный брак исправляется вручную. Если сбой повторяется, то оператор бежит за инженером.
Коробка с испорченным припоем рядом с роботом
Механизм протяжки припоя
Заключение
Пока что у нас работает один, иногда два робота. Разных плат у нас много, изготовление оснасток и отлаживание займет время. Также надо часть панелей мелких плат переделать под оснастки. В планах — перевести на роботизированную пайку почти все, что можно паять роботом.
Сначала монтажники подходили и робко спрашивали: «А что, нас теперь всех заменят роботами?» —, но увидев как оно все функционирует, поняли, что без работы они явно не останутся. Но увеличение производительности есть значительное, формула такая: один монтажник + робот = два монтажника. И он берет самую рутинную часть работы, и сопротивление и саботаж со стороны персонала, обычный при внедрениях чего-то нового, были недолгими.
Поэтому паяльным роботам — быть!
Остались вопросы? Смело задавайте в комментах!