RSS блога
Подписка
Установщик SMD-деталей на платы (Pick and Place) TVM802B-X, часть 2
- Цена: ≈$3700
- Перейти в магазин
¥25300.00 / ≈$3700 / 254189 руб (плюс 37547 руб доставка)
Это вторая и последняя часть обзора. Целиком он не влез в одну публикацию из-за ограничения на объем текста в обзоре :)
Первая часть тут — mysku.club/blog/taobao/66376.html
В этой части я опишу процесс подготовки файлов для станка и работу с программой софта.
Интерфейс я описал в первой части уже с высоты моего опыта работы с этим станком, показал опыт первого запуска, а теперь немного расскажу как я по незнанию промучился несколько часов с настройкой и как поимел очень многогеморвозни после того как решил улучшить станок :)
Ну а теперь приступим к работе в софте станка. Сам софт, к сожалению, практически никак не документирован — нет ни нормального мануала (кроме некоего «Быстрого старта»), ни встроенной помощи. Поэтому почти до всего пришлось доходить самому, причем многие моменты я узнал или прояснил для себя в процессе написания этого обзора :)
Софт работает с файлами в формате .csv — списки значений, разделенных запятыми. Первая строка в таком файле — названия полей, все последующие строки — значения, по одной записи на строку. Это очень старый и стандартный формат, проблем с ним не должно быть. Кроме как у Excel, который вроде бы и понимает его и экспортировать в него может, только вот почему-то формат «список с разделением запятыми» он экспортирует как «список с разделением точкой с запятой». Победить это можно только зайдя в виндовую Панель управления — Язык и региональные стандарты — Дополнительные параметры и поставив там в поле «Разделитель элементов списка» запятую вместо точки с запятой. После этого можно вполне комфортно работать с файлами .csv в Excel.
В этом файле для программы установщика требуются несколько обязательных полей:
— Designator (можно так же RefDes) — позиционное обозначение компонента, например R12, C6 и т.п.
— MidX (можно так же Center-X или Center-X(mm)) — координата компонента по X.
— MidY (можно так же Center-Y или Center-Y(mm)) — координата компонента по Y.
— Rotation — угол установки компонента.
— Explanation или Footprint — о них ниже
Необязательное поле:
— Layer — сторона установки компонента. Если это поле присутствует в файле, то программа при открытии файла спросит для какой стороны платы взять из файла компоненты. Если указать нижнюю сторону, то станет доступна опция Reverse X для зеркалирования координат по оси X.
— Explanation — описание компонента, это может быть любое значение, например тип корпуса и номинал для резисторов и конденсаторов или название для микросхем и т.д. Служит исключительно для удобства оператора. Если этого поля нет, то в описание программа вставляет значения Footprint и Comment.
— Footprint — название корпуса компонента.
— Comment — любое описание компонента, например его номинал.
По поводу полей Explanation, Footprint и Comment. Если в файле нет одного из двух полей — Explanation или Footprint, программа вылетает с ошибкой при попытке открыть такой файл. Если имеется поле Explanation, то программа берет значение для столбца Comment в выводимой на экран таблице именно из этого поля, игнорируя поля Footprint и Comment. Если поля Explanation в файле нет, то для столбца Comment берется значение поля Footprint плюс значение поля Comment (если оно есть).
Любые другие поля в файле .csv программа станка будет просто игнорировать.
Координаты при импорте округляются до сотых долей миллиметра.
Такие файлы может формировать практически любая программа проектирования печатных плат. Там это так и называется — вывод для Pick and Place (PnP). Это может быть в разделе экспорта или в разделе отчетов. Я буду показывать на примере программы P-CAD 2006.
Файлы со списками готовы, копируем их на компьютер станка. Если это отдельные файлы для каждой стороны (с перевернутой нижней стороной), то программа установщика открывает эти файлы молча. Если это один файл для обеих сторон, то при открытии программа спросит какую сторону нужно выбрать из файла:
При выборе нижней стороны становится доступна галочка Reverse X и ее нужно отметить.
Итак, файл открыли:
Как видим, список в основном поле программы почти повторяет список из файла .csv, только с добавлением дополнительных полей. Кстати, эти поля можно выводить и сразу из программы проектирования печатных плат — добавить компонентам свойства с соответствующими названиями и сразу присваивать нужные значения. Только тут есть нюансы. Например, если у какого-то компонента не будет такого свойства, то в файл выведется пустое значение, а программа установщика не принимает файлы с пустыми значениями.
Из дополнительных полей мы можем увидеть:
Nozzle — каким соплом работать с этим компонентом. Доступен выбор из списка — 1 — первым (левым), 2 — вторым, 1/2 — можно и первым и вторым.
Stack — из какой позиции какого питателя брать этот компонент. Так же выбор из списка — левый питатель, задний, и лотки для микросхем:
Height — высота компонента. На эту высоту сопло будет недоопускаться при установке компонента на плату или при взятии его из лотка для микросхем. Задается в миллиметрах.
Speed — скорость опускания сопла с компонентом при его установке. Доступен список в процентах с шагом 10:
Vision — коррекция положения компонента по нижней камере. Доступен список — None (не корректировать), Quick (быстрая коррекция) и Accurate (точная коррекция):
Галочка Pressure — подавать ли в сопло избыточное давление после установки компонента на плату.
Галочка Done — говорит о том, что компонент уже установлен, его ставить не надо. Эти галочки заполняются автоматически по мере установки компонентов, так что остановив выполнение программы потом можно продолжить установку с первого неустановленного компонента. Или можно перед установкой вручную отметить эту галочку у тех компонентов, которые ставить не нужно.
Самая левая часть строк (перед колонкой ID) предназначена для выделения строк. Выделять строки можно для:
— установки только выделенных компонентов. Для этого нужно выделить нужные компоненты, щелкнуть правой клавишей мыши и выбрать из выпавшего меню пункт Place Selected Components.
— задания одинакового значения параметров для всех выделенных строк. Например, выделяем все строки с резисторами 0603 15к и в любой из выделенных строк ставим значение Stack в L14. Автоматически во всех выделенных строках этот параметр поменяется на это значение. Так же можно изменить и любой другой параметр, включая галочки, списки, числовые значения.
— удаления выделенных строк. Выделяем, жмем Del и подтверждаем удаление.
Нажатие правой кнопки мыши на списке вызывает выпадающее меню, в котором можно:
— добавить новый компонент (новую строку) в разных вариантах — с нулевыми координатами, с текущими координатами сопла, с текущими координатами камеры;
— установить текущему компоненту (на котором щелкнули) текущие координаты сопла или текущие координаты камеры;
— передвинуть на координаты текущего компонента сопло или камеру;
— выделить все строки с таким же значением того параметра, который в данный момент выделен. Например, выделяем параметр угла компонента, кликаем на нем правой кнопкой и выбираем Select The Same:
В результате выделяются все строки, в которых параметр угла равен тому, который был выделен:
Все компоненты настроены, для них указаны позиции в питателях, сопла, скорость, режим визуальной коррекции и т.д. Теперь переходим в настройки платы — кнопка PCB Config внизу. Первым делом идем во вкладку Config и настраиваем параметры реперных меток, используемых в нашей плате.
Этот установщик работает с одной или двумя реперными метками на плату. По одной он может определять только смещение плат, по двум — еще и угол их поворота. Желательно всегда использовать две метки.
Выбираем Pattern:
— если хотим, чтобы установщик сам находил, распознавал и центрировался на реперных метках, то выбираем Machine Vision.
— если хотим, чтобы станок оставлял возможность точного центрирования на метках оператору в ручном режиме, ставим Manual.
— и если вообще не собираемся делать коррекцию по реперным меткам, ставим None. В этом случае предполагается, что платы всегда устанавливаются абсолютно одинаково и точно и нет нужды во внесении поправок на погрешность установки платы.
Выбираем Shape:
— Circular или Circular Template — метка представляет собой стандартный кружок. Отличие этих параметров в том, что просто Circular будет искать любой круг в радиусе обнаружения, а Circular Template будет искать круг заданного диаметра.
— ImageTemplate — метка представляет собой что-то нестандартное.
Галочка Pause After Machine Vision ставит установщик на паузу после того как он в автоматическом режиме распознал и определил координаты метки. Оператор может проконтролировать точность распознавания и при необходимости поправить перед тем как продолжить.
Range говорит установщику в каком радиусе от предполагаемых координат искать и пытаться распознать метку. Это ограничение вводится для того, чтобы станок не принял за метку какое-то соседнее отверстие или контактную площадку, попадающие в поле зрения камеры.
Группа TemplateParam отвечает за размер меток и их вид.
Size говорит станку какого размера метку нужно искать. Это или диаметр круга для Circular Template или размер картинки для ImageTemplate.
Strength устанавливает степень соответствия искомого изображения. Если метка имеет высокую контрастность и повторяемость от платы к плате, то это значение можно поставить побольше для бОльшей точности определения центра метки. Если метка видна плохо или ее изображение может слегка варьироваться от платы к плате, то это значение лучше сделать поменьше. При неправильно настроенном этом параметре установщик может вообще не находить метку (при слишком высоком значении) или видеть ее там, где ее нет (при слишком низком значении).
ImageMark1 и ImageMark2 отвечают за нестандартный тип первой и второй реперных меток соответственно — например, квадратные контактные площадки, какие-то знаки или буквы на плате и т.п. Они активны только если выбрана опция ImageTemplate в параметре Shape. При нажатии кнопки Get установщик сохранит область из центра текущего изображения камеры размером, установленным в Size. Этот кусок изображения будет служить эталоном при автоматическом поиске и распознавании меток. Следует обратить внимание, что центром метки будет считаться центр этого куска изображения, так что перед тем как нажать Get следует выставить центр камеры точно в центр метки, это важно. Кнопка Test включает распознавание метки и накладывает на изображение камеры бирюзовый квадрат (или круг) вокруг распознанной метки:
Это помогает проверить насколько правильно были заданы параметры метки.
Теперь переходим во вкладку PCB, где нужно настроить координаты реперных меток. Тут можно настроить до 50 плат — это группы PCB1, PCB2, PCB3 … PCB50. Если Вы ставите в установщик одновременно три платы, значит настраиваете параметры в трех группах, например PCB1, PCB2 и PCB3 , в остальных группах галочки Enable должны быть отключены. При этом можно настроить, скажем, 10 плат PCB1-PCB10, но если в очередной раз нужно будет поставить компоненты только на 3-ю и 5-ю платы, то можно просто снять галочки во всех группах кроме PCB3 и PCB5, а позже опять поставить их.
Mark1 и Mark2 задают координаты первой и второй реперных меток в системе проектирования платы. Эти координаты берутся в программе проектирования и во всех группах имеют одинаковое значение.
Например, тут координаты первой метки равны 139.0-185.0, их и нужно вносить в поля Mark1.
Если из проекта был выведен список компонентов с обеих сторон и при его импорте в программу установщика была выбрана нижняя сторона с зеркалированием координат X, то координаты по X в Mark1 и Mark2 нужно вводить отрицательными. К примеру, если в системе проектирования координата X у реперной метки равна 110.0, то сюда ее нужно вписать как -110.0.
Real1 и Real2 — это координаты этих же меток уже на реальных платах, установленных в станке. Для каждой метки нужно подвести к ее центру верхнюю камеру и нажать Set XY. Эти координаты служат отправной точкой для автоматического поиска реперных меток. При работе установщик подводит к этим координатам камеру и начинает искать здесь реперную метку по настроенным параметрам.
Это не значит, что все эти координаты нужно вводить после каждой установки плат. Нет, они вводятся только один раз, ведь платы в установщик всегда устанавливаются одинаково, так что и реперные метки всегда будут находиться в примерно одинаковых координатах. Может быть только небольшая погрешность, например, из-за неровного края отломанной от панели по скрайбированию платы (скрайбирование — прорезание текстолита по контурам плат примерно на треть толщины сверху и снизу), которую установщик и компенсирует, распознавая метки и точно определяя их центр.
Итак, настроили метки для всех плат, что дальше?
Теперь нужно сохранить файл кнопкой Save внизу главного окна. Если Вы открывали общий файл с компонентами и верхнего и нижнего слоев, то программа в диалоге сохранения автоматически добавит в конце имени файла "_top" или "_bottom", смотря какой слой Вы выбрали при открытии. Иначе имя для сохранения будет таким же, по которым .csv файл был открыт.
Программа сохраняет с тем же расширением — .csv, но это уже не совсем тот самый «comma separated values» формат. Начинается он в правильном формате — списком компонентов со всеми настроенными параметрами (сопла, позиция в питателе, режим визуальной коррекции т.д.) но после этого списка в файл пишутся и все те настройки, которые были внесены в разделе PCB Config — вплоть до образов пользовательских реперных меток, захваченных с камеры. А так же настройки лотков для микросхем, хотя они находятся в системных настройках. И это логично — для каждого вида плат могут понадобиться уникальные лотки под конкретный набор микросхем, так что сохранять настройки лотков в файле конкретных плат — отличная идея. И вот эти дополнительные настройки хранятся в файле уже совершенно не в соответствии с форматом .csv, хотя и в текстовом виде. Так что открыть этот файл в том же Екселе, чтобы что-то подправить, не получится.
И вот теперь можно нажимать Start в программе или на передней панели станка и смотреть как он работает за Вас :)
Это если был установлен режим Machine Vision и снята галочка Pause After Machine Vision. Иначе установщику придется помочь с определением реперных меток. В режиме Machine Vision с установленной галочкой Pause After Machine Vision нужно будет просто проконтролировать как он находит центры меток и кнопкой Pause/Cont подтверждать ему после каждой метки. При этом перед продолжением можно подкорректировать положение если станок сам не совсем точно определил центр. В режиме Manual все то же самое, но только станок сам не будет пытаться найти метку и ее центр, так что корректировать руками придется практически каждую метку.
Ниже в видео показаны три режима поиска реперных меток станком. В первом режиме установщик в полностью автоматическом режиме проходит по всем меткам, распознавая их, находя центр и переходя к следующей метке. Во втором режиме (с установленной галочкой Pause After Machine Vision) он так же сам распознает метки, находит их центр, но после этого встает на паузу, ожидая подтверждения оператором (нажатия кнопки Pause/Cont). В третьем режиме (Manual) установщик только подводит камеру к предполагаемым координатам метки (заданным в настройках платы), но не пытается определить ее центр, хотя саму метку распознает — это видно на изображении с камеры (в правом верхнем углу). Обратите внимание, что метки смещены от центра, но станок не пытается скорректировать это смещение, в отличии от двух предыдущих режимов, он оставляет это за оператором.
И еще одно видео — установка компонентов на две одинаковые платы.
Небольшие пояснения к видео — в начале видно, что я отключаю реперные метки с трех плат из пяти, тем самым исключая эти платы из работы. Вообще файл рассчитан на работу с пятью платами, но для более короткого видео я взял только две платы, поэтому остальные три отключил.
Некоторые компоненты я предварительно установил на плату вручную. Это не потому что с ними какие-то проблемы у станка, просто так получилось :) И в начале видео видно, что я для этих компонентов устанавливаю в списке галочку Done, чтобы программа знала, что они установлены. Из-за этого программа при старте работы и спрашивает «Продолжить или начать заново?». Начать заново — программа очистит галочки Done у всех компонентов и будет ставить все что есть в списке. Продолжить — программа не будет устанавливать компоненты с галочкой Done.
На видео видно, что одна большая и одна мелкая микросхемы при установке на плату чуть съехали в сторону — это из-за очень толстого лужения производителем плат. На второй плате эти же микросхемы сели без сползания и отлично попали на свои площадки, в конце видео я привел их фотографии под микроскопом. Так же не попал в отверстия один из разъемов miniUSB, почему- фиг знает :) Где-то один из 20 разъемов не попадает. Может быть при проектировании платы я не точно указал центр разъема как точку установки…
Микросхемы с мелким шагом — TQFP64 и MSOP10 устанавливаются с точной коррекцией по нижней камере. Остальные микросхемы, miniUSB и кварц — устанавливаются с быстрой коррекцией по камере. Остальные компоненты ставятся без визуальной коррекции. Скорость работы — по умолчанию, 50% :) И сорри за звуковой фон и за качество монтажа — мой слабый рабочий комп едва шевелился в видеоредакторе, так что было не до лоска :)
И эти платы после печки еще до мытья:
После 12 минут мытья в УЗ-ванне, 5 секунд ополаскивания в дистиллированной воде и 30 минут сушки при температуре 110 градусов не останется ни следов флюса, ни разводов, ни налета — платы будут девственно чисты :)
Коротко в целом по станку:
+ есть стандартные китайские огрехи и некоторая экономия, но в целом сделан очень и очень неплохо, я ожидал худшего.
+ работает практически из коробки, хотя для наилучшего результата тщательная настройка требуется.
+ механика достойного качества, работает не очень шумно, как и помпа.
+ встроенный компьютер при всей его слабости легко справляется с управлением станком.
+ цена вполне оправдана возможностями :)
+ поддержка производителя отвечает по email довольно оперативно и по делу.
— требует очень много места, на стандартный стол со столешницей глубиной 60 см не встанет — у него между ножками 62 см, к тому же требует наличие доступа с трех сторон (ну или как минимум спереди и сзади).
— вопреки заверениям продавца, не способен точно ставить корпуса размером с TQFP-144 и больше.
— концевики механические, неточные (обычные микрики), хотя от их точности здесь зависит очень многое, очень желательно сразу менять на оптические.
— нет питателей на ленты 24 мм и вибролотка.
Коротко в целом по софту:
+ гораздо более гибкий и мощный, чем я ожидал, предусматривает множество моментов, о которых я даже не задумывался раньше.
+ весьма удобный для работы со списками компонентов.
+ довольно развитые средства работы с несколькими платами.
+ обширные настройки и калибровки.
+ умеет работать с пользовательскими реперными метками.
— нет ни одной горячей клавиши, что бывает весьма неудобно.
— совершенно не документирован.
— нет рисок на линиях поверх изображения с камер для более удобного центрирования, пришлось выкручиваться варварскими методами — матовый скотч на мониторе с нарисованными маркером миллиметровыми рисками :))
Спасибо всем, кто хотя бы попытался прочесть хотя бы половину моей писанины :))))
Если остались любые вопросы задавайте, постараюсь ответить :)
UPD (25.09.2018): получил пару катушек с резисторами и конденсаторами типоразмера 0402 (размер такого резистора — 1.0х0.5 мм), установил в питатели и попробовал установку на максимальной скорости без визуальной коррекции. На состояние платы не обращайте внимания — это на ней двухсторонний скотч для удерживания компонентов :) Результат более чем устраивает:
Это вторая и последняя часть обзора. Целиком он не влез в одну публикацию из-за ограничения на объем текста в обзоре :)
Первая часть тут — mysku.club/blog/taobao/66376.html
В этой части я опишу процесс подготовки файлов для станка и работу с программой софта.
Интерфейс я описал в первой части уже с высоты моего опыта работы с этим станком, показал опыт первого запуска, а теперь немного расскажу как я по незнанию промучился несколько часов с настройкой и как поимел очень много
Спрячу этот рассказ под спойлер
Наигравшись вдоволь с тестовой платой и потратив метров 5 из ленты резисторов 0603, я решил попробовать скормить станку нормальную плату. Подготовив файл, открыл его в программе станка, настроил параметры компонентов и запустил исполнение программы. А среди прочих там были две микросхемы с шагом выводов 0.5мм, для них я поставил в параметрах «Точная коррекция по камере». То есть станок берет микросхему, несет ее к нижней камере, там по изображению вносит коррекцию по точному положению и углу и потом ставит на плату.
И вот тут случилось неприятное — после коррекции станок поставил микросхему под каким-то непонятным углом, да еще и со смещением почти в сантиметр. Пробую еще раз — опять так же. Стал выполнять по шагам и увидел, что во время коррекции по камере эта самая камера видит внизу своего поля зрения какой-то мусор и принимает его за часть микросхемы. В результате микросхема определяется станком вот так:
Пробую другую микросхему и вижу то же самое:
Что за ...? Тем более, что мелкие резисторы-транзисторы камера определяет превосходно, никакой мусор ей не мешает.
Не, ну понятно, что какая-то царапина или соринка сбивает камеру с толку, но блин, его же должны были проверять, юстировать?
Часа полтора я пробился с ним, думая, что это что-то программное. Может где-то надо уменьшить яркость подсветки или выдержку камере, но нигде ничего такого в настройках не было. Потом я начал потихоньку разбирать нижнюю камеру, насколько это было возможно малой кровью. Сначала снял защитное стекло, думал на нем царапина или мусор. Не помогло совершенно. Продул, промахнул кисточкой, а потом и протер объектив — ноль изменений. И тогда уже под утро я опять написал гневное письмо в поддержку производителя, приложив скриншоты.
На следующий день, проснувшись в обед я увидел ответ от поддержки, где меня вежливо ткнули носом в нужные настройки. Оказывается за чувствительность определения компонентов нижней камерой отвечает параметр CompThre, который настраивается отдельно для каждой позиции в ленточных питателях и для каждого лотка. Проблема была в том, что для питателей этот параметр уже был по умолчанию настроен на среднее значение 50, а для лотков он по умолчанию стоял в минимальном значении 0. Ну и еще в том, что я просто не знал что это за параметр :)
После настройки этого параметра все замечательно заработало :)
Второй случай поиметь возни с настройкой станка я создал себе сам. Вздумалось мне подкрутить фокус на верхней камере, чтобы она более четко видела реперные знаки и, соответственно, более точно по ним позиционировалась (хотя, в общем-то, и так все было хорошо, но всегда ведь хочется еще лучше чем есть :)). И не долго думая, я снял с каретки блок с камерой:
Объектив камеры был залит каким-то довольно твердым герметиком, по консистенции как мягкий пластик. Кое-как отковырял его.
Прикрутил обратно блок камеры, подрегулировал фокус и залил объектив по периметру термоклеем, чтобы объектив не болтался и не крутился. Я-то сразу понимал как важно объективу быть зафиксированным, от этого ведь будет зависеть точность определения реперных знаков, а значит и установки компонентов. Но в мою голову не закралось мысли, что после регулировки объектив обязательно встанет не так как он стоял с завода, а значит полетит нафиг вся юстировка сопел, а соответственно и всех позиций в питателях. До меня это дошло только когда я обнаружил несоответствие значений смещения сопел в настройках фактическому положению дел. А после того, как исправил это, отъюстировав смещения сопел, оказалось, что теперь напрочь улетела юстировка всех 46 позиций в обоих питателях :)
Приведение всех настроек и калибровок в порядок заняло у меня почти два дня. Дело осложнялось еще и тем, что я тогда не до конца понимал значение всех этих настроечных полей, как они влияют на станок и что будет если изменить какое-то из них, во все пришлось вникать методом проб и ошибок.
Но зато теперь я знаю и понимаю все эти настройки так, как долго бы еще не узнал бы, если бы не пришлось пройти через все это :)
Ну и еще одна подстава ждала меня перед уже окончательным приведением установщика в полностью рабочее состояние.
Я вдруг обнаружил, что то одно то другое сопло вдруг начинает брать из питателей (и соответственно ставить на плату) некоторые детали с довольно большим смещением. Первым делом, конечно, полез в юстировку сопел, но все проверки показывали отличный результат — оба сопла попадали точно в центр. Потом попытался заново настроить параметры всех позиций в питателях — вот вроде бы все стало отлично, но при следующей установке опять смещение. Собирался уже писать опять в поддержку производителю, но тут меня посетила дикая мысль — а может сопла кривые? И точно — одно из сопел оказалось кривым :) При его вращении центр сопла не стоял на месте, а выписывал окружность. И так и получалось, что после снятия и установки сопел это кривое попадало то на первую голову то на вторую, соответственно и смещение появлялось то на одной голове то на другой, да еще и его направление зависело от того в каком положении сопло было вставлено. Хорошо, что в комплекте было два мелких сопла, так что кривое я отложил и поставил вместо него другое, ровное :)
Уже заказал на Али по паре сопел двух мелких размеров, надеюсь, что их эта проблема минует :)
И вот тут случилось неприятное — после коррекции станок поставил микросхему под каким-то непонятным углом, да еще и со смещением почти в сантиметр. Пробую еще раз — опять так же. Стал выполнять по шагам и увидел, что во время коррекции по камере эта самая камера видит внизу своего поля зрения какой-то мусор и принимает его за часть микросхемы. В результате микросхема определяется станком вот так:
Пробую другую микросхему и вижу то же самое:
Что за ...? Тем более, что мелкие резисторы-транзисторы камера определяет превосходно, никакой мусор ей не мешает.
Не, ну понятно, что какая-то царапина или соринка сбивает камеру с толку, но блин, его же должны были проверять, юстировать?
Часа полтора я пробился с ним, думая, что это что-то программное. Может где-то надо уменьшить яркость подсветки или выдержку камере, но нигде ничего такого в настройках не было. Потом я начал потихоньку разбирать нижнюю камеру, насколько это было возможно малой кровью. Сначала снял защитное стекло, думал на нем царапина или мусор. Не помогло совершенно. Продул, промахнул кисточкой, а потом и протер объектив — ноль изменений. И тогда уже под утро я опять написал гневное письмо в поддержку производителя, приложив скриншоты.
На следующий день, проснувшись в обед я увидел ответ от поддержки, где меня вежливо ткнули носом в нужные настройки. Оказывается за чувствительность определения компонентов нижней камерой отвечает параметр CompThre, который настраивается отдельно для каждой позиции в ленточных питателях и для каждого лотка. Проблема была в том, что для питателей этот параметр уже был по умолчанию настроен на среднее значение 50, а для лотков он по умолчанию стоял в минимальном значении 0. Ну и еще в том, что я просто не знал что это за параметр :)
После настройки этого параметра все замечательно заработало :)
Второй случай поиметь возни с настройкой станка я создал себе сам. Вздумалось мне подкрутить фокус на верхней камере, чтобы она более четко видела реперные знаки и, соответственно, более точно по ним позиционировалась (хотя, в общем-то, и так все было хорошо, но всегда ведь хочется еще лучше чем есть :)). И не долго думая, я снял с каретки блок с камерой:
Объектив камеры был залит каким-то довольно твердым герметиком, по консистенции как мягкий пластик. Кое-как отковырял его.
Прикрутил обратно блок камеры, подрегулировал фокус и залил объектив по периметру термоклеем, чтобы объектив не болтался и не крутился. Я-то сразу понимал как важно объективу быть зафиксированным, от этого ведь будет зависеть точность определения реперных знаков, а значит и установки компонентов. Но в мою голову не закралось мысли, что после регулировки объектив обязательно встанет не так как он стоял с завода, а значит полетит нафиг вся юстировка сопел, а соответственно и всех позиций в питателях. До меня это дошло только когда я обнаружил несоответствие значений смещения сопел в настройках фактическому положению дел. А после того, как исправил это, отъюстировав смещения сопел, оказалось, что теперь напрочь улетела юстировка всех 46 позиций в обоих питателях :)
Приведение всех настроек и калибровок в порядок заняло у меня почти два дня. Дело осложнялось еще и тем, что я тогда не до конца понимал значение всех этих настроечных полей, как они влияют на станок и что будет если изменить какое-то из них, во все пришлось вникать методом проб и ошибок.
Но зато теперь я знаю и понимаю все эти настройки так, как долго бы еще не узнал бы, если бы не пришлось пройти через все это :)
Ну и еще одна подстава ждала меня перед уже окончательным приведением установщика в полностью рабочее состояние.
Я вдруг обнаружил, что то одно то другое сопло вдруг начинает брать из питателей (и соответственно ставить на плату) некоторые детали с довольно большим смещением. Первым делом, конечно, полез в юстировку сопел, но все проверки показывали отличный результат — оба сопла попадали точно в центр. Потом попытался заново настроить параметры всех позиций в питателях — вот вроде бы все стало отлично, но при следующей установке опять смещение. Собирался уже писать опять в поддержку производителю, но тут меня посетила дикая мысль — а может сопла кривые? И точно — одно из сопел оказалось кривым :) При его вращении центр сопла не стоял на месте, а выписывал окружность. И так и получалось, что после снятия и установки сопел это кривое попадало то на первую голову то на вторую, соответственно и смещение появлялось то на одной голове то на другой, да еще и его направление зависело от того в каком положении сопло было вставлено. Хорошо, что в комплекте было два мелких сопла, так что кривое я отложил и поставил вместо него другое, ровное :)
Уже заказал на Али по паре сопел двух мелких размеров, надеюсь, что их эта проблема минует :)
Ну а теперь приступим к работе в софте станка. Сам софт, к сожалению, практически никак не документирован — нет ни нормального мануала (кроме некоего «Быстрого старта»), ни встроенной помощи. Поэтому почти до всего пришлось доходить самому, причем многие моменты я узнал или прояснил для себя в процессе написания этого обзора :)
Софт работает с файлами в формате .csv — списки значений, разделенных запятыми. Первая строка в таком файле — названия полей, все последующие строки — значения, по одной записи на строку. Это очень старый и стандартный формат, проблем с ним не должно быть. Кроме как у Excel, который вроде бы и понимает его и экспортировать в него может, только вот почему-то формат «список с разделением запятыми» он экспортирует как «список с разделением точкой с запятой». Победить это можно только зайдя в виндовую Панель управления — Язык и региональные стандарты — Дополнительные параметры и поставив там в поле «Разделитель элементов списка» запятую вместо точки с запятой. После этого можно вполне комфортно работать с файлами .csv в Excel.
В этом файле для программы установщика требуются несколько обязательных полей:
— Designator (можно так же RefDes) — позиционное обозначение компонента, например R12, C6 и т.п.
— MidX (можно так же Center-X или Center-X(mm)) — координата компонента по X.
— MidY (можно так же Center-Y или Center-Y(mm)) — координата компонента по Y.
— Rotation — угол установки компонента.
— Explanation или Footprint — о них ниже
Необязательное поле:
— Layer — сторона установки компонента. Если это поле присутствует в файле, то программа при открытии файла спросит для какой стороны платы взять из файла компоненты. Если указать нижнюю сторону, то станет доступна опция Reverse X для зеркалирования координат по оси X.
— Explanation — описание компонента, это может быть любое значение, например тип корпуса и номинал для резисторов и конденсаторов или название для микросхем и т.д. Служит исключительно для удобства оператора. Если этого поля нет, то в описание программа вставляет значения Footprint и Comment.
— Footprint — название корпуса компонента.
— Comment — любое описание компонента, например его номинал.
По поводу полей Explanation, Footprint и Comment. Если в файле нет одного из двух полей — Explanation или Footprint, программа вылетает с ошибкой при попытке открыть такой файл. Если имеется поле Explanation, то программа берет значение для столбца Comment в выводимой на экран таблице именно из этого поля, игнорируя поля Footprint и Comment. Если поля Explanation в файле нет, то для столбца Comment берется значение поля Footprint плюс значение поля Comment (если оно есть).
Любые другие поля в файле .csv программа станка будет просто игнорировать.
Координаты при импорте округляются до сотых долей миллиметра.
Такие файлы может формировать практически любая программа проектирования печатных плат. Там это так и называется — вывод для Pick and Place (PnP). Это может быть в разделе экспорта или в разделе отчетов. Я буду показывать на примере программы P-CAD 2006.
Подготовка списка для установки из P-CAD 2006
Итак, у нас открыт проект печатной платы и нам нужно вывести список компонентов для установки:
Для удобства работы можно удалить все кроме компонентов и границ платы и сохранить файл с новым именем, например xxxx_pnp.pcb:
Удалять что-то определенное или все кроме чего-то определенного очень удобно через Options -> Selection Mask. Там выделяем галочками что можно выделять и на каких слоях и потом просто выделяем мышкой всю плату. Выделенными станут только разрешенные элементы.
Дальше можно пойти двумя путями: экспортировать список всех компонентов с обеих сторон и дальше при открытии файла в программе установщика выбирать нужную сторону, или сохранить две стороны в отдельных файлах. Первый вариант проще и быстрее, но в нем координаты X всех компонентов с нижней стороны примут в программе установщика отрицательные значения. В том числе и в настройки платы нужно будет забивать координаты реперных знаков со знаком минус по оси X. Это ни на что особенно не влияет, просто не слишком удобно если придется что-то проверять или подстраивать :)
Во втором варианте придется побольше повозиться, но все координаты будут иметь положительное значение X.
Итак, если решили сделать как проще, по первому варианту, то сразу идем в File -> Reports, ставим там галочку на Pick and Place Locations (csv):
и жмем кнопку Customize. В первой вкладке меняем расширение на csv и убираем галочку Include Report Preface:
Во второй вкладке ставим крестики на строках RefDes, Type, Value, LocationX, LocationY, Layer и Rotate:
Значения RefDes, LocationX, LocationY и Rotate необходимы для программы установщика, Layer так же нужен для корректного выбора стороны установки, а Type и Value используем для формирования поля Explanation, которое так же требуется установщику. Жмем Ok, убеждаемся, что выбраны варианты File и Separated List и жмем Generate. Теперь в папке с платой у нас есть файл xxxx_pnp.csv для двух сторон платы.
Можно переходить к обработке файла в Excel :)
Второй вариант:
Нужно удалить все компоненты с нижней стороны и сохранить опять под новым именем, например xxxx_top_pnp.pcb:
Верхняя сторона готова к экспорту списка для установки. Идем в File -> Reports и действуем как описано в первом варианте. В папке с платой у нас появляется файл xxxx_top_pnp.csv для верхней стороны платы.
Теперь открываем предыдущий вариант платы xxxx_pnp, в котором удалено все кроме компонентов на обеих сторонах и удаляем все компоненты на верхней стороне:
Сохраняем под новым именем, например xxxx_bottom_pnp.pcb
Теперь выделяем абсолютно все и переворачиваем кнопкой F. Все что было на нижней стороне перейдет с зеркальным переворотом на верхнюю сторону, остальное (например границы платы) просто зеркально отразится:
Это нужно для правильных координат, ведь станок будет «видеть» плату именно в таком виде.
Повторяем File -> Reports и так далее, только теперь сформируется файл xxxx_bottom_pnp.csv
Все, у нас есть файл для установки на верхнюю сторону и файл для установки на нижнюю сторону (или единый для обеих сторон). Но их нужно слегка подправить. Открываем в Екселе файл xxxx_top_pnp.csv:
Для начала меняем формат всех колонок на «Текстовый». Потом удаляем строки с компонентами, которые не нужно ставить. Теперь нужно изменить названия полей координат с LocationX/LocationY на MidX/MidY. И добавить поле Explanation. В него можно скопировать значения из Value или Type, а можно объединить их. Лично я использую для формирования значений этого поля формулу:
То есть если поле Value (номинал) содержит слово «Value» (значит, что номинал не задан, например для микросхем/диодов/транзисторов и т.п.), то подставляем только значение из Type, иначе объединяем через тире с пробелами Type и Value. Размножаем эту формулу по всем строкам:
Все, файл готов, сохраняем его в тот же формат .csv.
Кстати, следите за тем, чтобы в значениях полей не было запятых, потому что Ексель при сохранении не обрамляет значения кавычками и запятая в значении будет воспринята как разделитель.
Аналогично поступаем и с .csv для нижней стороны.
Для удобства работы можно удалить все кроме компонентов и границ платы и сохранить файл с новым именем, например xxxx_pnp.pcb:
Удалять что-то определенное или все кроме чего-то определенного очень удобно через Options -> Selection Mask. Там выделяем галочками что можно выделять и на каких слоях и потом просто выделяем мышкой всю плату. Выделенными станут только разрешенные элементы.
Дальше можно пойти двумя путями: экспортировать список всех компонентов с обеих сторон и дальше при открытии файла в программе установщика выбирать нужную сторону, или сохранить две стороны в отдельных файлах. Первый вариант проще и быстрее, но в нем координаты X всех компонентов с нижней стороны примут в программе установщика отрицательные значения. В том числе и в настройки платы нужно будет забивать координаты реперных знаков со знаком минус по оси X. Это ни на что особенно не влияет, просто не слишком удобно если придется что-то проверять или подстраивать :)
Во втором варианте придется побольше повозиться, но все координаты будут иметь положительное значение X.
Итак, если решили сделать как проще, по первому варианту, то сразу идем в File -> Reports, ставим там галочку на Pick and Place Locations (csv):
и жмем кнопку Customize. В первой вкладке меняем расширение на csv и убираем галочку Include Report Preface:
Во второй вкладке ставим крестики на строках RefDes, Type, Value, LocationX, LocationY, Layer и Rotate:
Значения RefDes, LocationX, LocationY и Rotate необходимы для программы установщика, Layer так же нужен для корректного выбора стороны установки, а Type и Value используем для формирования поля Explanation, которое так же требуется установщику. Жмем Ok, убеждаемся, что выбраны варианты File и Separated List и жмем Generate. Теперь в папке с платой у нас есть файл xxxx_pnp.csv для двух сторон платы.
Можно переходить к обработке файла в Excel :)
Второй вариант:
Нужно удалить все компоненты с нижней стороны и сохранить опять под новым именем, например xxxx_top_pnp.pcb:
Верхняя сторона готова к экспорту списка для установки. Идем в File -> Reports и действуем как описано в первом варианте. В папке с платой у нас появляется файл xxxx_top_pnp.csv для верхней стороны платы.
Теперь открываем предыдущий вариант платы xxxx_pnp, в котором удалено все кроме компонентов на обеих сторонах и удаляем все компоненты на верхней стороне:
Сохраняем под новым именем, например xxxx_bottom_pnp.pcb
Теперь выделяем абсолютно все и переворачиваем кнопкой F. Все что было на нижней стороне перейдет с зеркальным переворотом на верхнюю сторону, остальное (например границы платы) просто зеркально отразится:
Это нужно для правильных координат, ведь станок будет «видеть» плату именно в таком виде.
Повторяем File -> Reports и так далее, только теперь сформируется файл xxxx_bottom_pnp.csv
Все, у нас есть файл для установки на верхнюю сторону и файл для установки на нижнюю сторону (или единый для обеих сторон). Но их нужно слегка подправить. Открываем в Екселе файл xxxx_top_pnp.csv:
Для начала меняем формат всех колонок на «Текстовый». Потом удаляем строки с компонентами, которые не нужно ставить. Теперь нужно изменить названия полей координат с LocationX/LocationY на MidX/MidY. И добавить поле Explanation. В него можно скопировать значения из Value или Type, а можно объединить их. Лично я использую для формирования значений этого поля формулу:
=ЕСЛИ(СОВПАД(C3,"Value"), B3, СЦЕПИТЬ(B3, " - ", C3))
То есть если поле Value (номинал) содержит слово «Value» (значит, что номинал не задан, например для микросхем/диодов/транзисторов и т.п.), то подставляем только значение из Type, иначе объединяем через тире с пробелами Type и Value. Размножаем эту формулу по всем строкам:
Все, файл готов, сохраняем его в тот же формат .csv.
Кстати, следите за тем, чтобы в значениях полей не было запятых, потому что Ексель при сохранении не обрамляет значения кавычками и запятая в значении будет воспринята как разделитель.
Аналогично поступаем и с .csv для нижней стороны.
Подготовка списка для установки из Altium Designer 17
В Altium Designer все делается гораздо проще. Здесь как и в P-CAD можно пойти двумя путями — сформировать список сразу для обеих сторон или отдельные списки для верхней и нижней. Логика действия при этом такая же как и для P-CAD.
Дальше идем в Файл -> Выходные файлы для сборки -> Generates pick and place files:
В появившемся окне убеждаемся, что все галочки и переключатели установлены как на скриншоте:
И жмем Ok. В подкаталоге Project Outputs for <имя проекта> появляется файл .csv со списком компонентов для установки и этот файл можно сразу скармливать программе установки, она его сожрет без всяких доработок :)
Дальше идем в Файл -> Выходные файлы для сборки -> Generates pick and place files:
В появившемся окне убеждаемся, что все галочки и переключатели установлены как на скриншоте:
И жмем Ok. В подкаталоге Project Outputs for <имя проекта> появляется файл .csv со списком компонентов для установки и этот файл можно сразу скармливать программе установки, она его сожрет без всяких доработок :)
Файлы со списками готовы, копируем их на компьютер станка. Если это отдельные файлы для каждой стороны (с перевернутой нижней стороной), то программа установщика открывает эти файлы молча. Если это один файл для обеих сторон, то при открытии программа спросит какую сторону нужно выбрать из файла:
При выборе нижней стороны становится доступна галочка Reverse X и ее нужно отметить.
Зачем реверсировать (зеркалить) нижнюю сторону?
Когда плата проектируется, то на все слои мы смотрим «сверху» — со стороны верхнего слоя, как бы сквозь плату. Например, у нас вот такая плата с микросхемой U1 и резистором C1 на нижней стороне платы:
В программе проектирования мы на них смотрим «сквозь» плату, со стороны верхнего слоя, это заметно, например, даже по перевернутым обозначениям. Координаты и у станка и в программах проектирования плат начинаются снизу слева, в данном случае начало координат лежит в нижнем левом углу платы. Таким образом координаты микросхемы X-Y будут 33.0-30.0 (группа Location):
а координаты конденсатора — 67.0-42.0:
И именно эти координаты и будут выведены в файл PnP.
Но ведь когда нам нужно поработать с реальной платой, мы должны перевернуть ее нижней стороной к себе, и при этом все компоненты отразятся зеркально — которые были слева станут справа, а которые были справа станут слева:
Теперь у микросхемы координаты стали 61.0-30.0:
а у конденсатора — 27.0-42.0:
Значит и координаты из файла нужно «перевернуть». Вот это и делает галочка Reverse X — проставляет координатам по X знак «минус» перед значением, то есть фактически зеркально переворачивает их относительно нуля.
В программе проектирования мы на них смотрим «сквозь» плату, со стороны верхнего слоя, это заметно, например, даже по перевернутым обозначениям. Координаты и у станка и в программах проектирования плат начинаются снизу слева, в данном случае начало координат лежит в нижнем левом углу платы. Таким образом координаты микросхемы X-Y будут 33.0-30.0 (группа Location):
а координаты конденсатора — 67.0-42.0:
И именно эти координаты и будут выведены в файл PnP.
Но ведь когда нам нужно поработать с реальной платой, мы должны перевернуть ее нижней стороной к себе, и при этом все компоненты отразятся зеркально — которые были слева станут справа, а которые были справа станут слева:
Теперь у микросхемы координаты стали 61.0-30.0:
а у конденсатора — 27.0-42.0:
Значит и координаты из файла нужно «перевернуть». Вот это и делает галочка Reverse X — проставляет координатам по X знак «минус» перед значением, то есть фактически зеркально переворачивает их относительно нуля.
Итак, файл открыли:
Как видим, список в основном поле программы почти повторяет список из файла .csv, только с добавлением дополнительных полей. Кстати, эти поля можно выводить и сразу из программы проектирования печатных плат — добавить компонентам свойства с соответствующими названиями и сразу присваивать нужные значения. Только тут есть нюансы. Например, если у какого-то компонента не будет такого свойства, то в файл выведется пустое значение, а программа установщика не принимает файлы с пустыми значениями.
Из дополнительных полей мы можем увидеть:
Nozzle — каким соплом работать с этим компонентом. Доступен выбор из списка — 1 — первым (левым), 2 — вторым, 1/2 — можно и первым и вторым.
Stack — из какой позиции какого питателя брать этот компонент. Так же выбор из списка — левый питатель, задний, и лотки для микросхем:
Height — высота компонента. На эту высоту сопло будет недоопускаться при установке компонента на плату или при взятии его из лотка для микросхем. Задается в миллиметрах.
Speed — скорость опускания сопла с компонентом при его установке. Доступен список в процентах с шагом 10:
Vision — коррекция положения компонента по нижней камере. Доступен список — None (не корректировать), Quick (быстрая коррекция) и Accurate (точная коррекция):
Галочка Pressure — подавать ли в сопло избыточное давление после установки компонента на плату.
Галочка Done — говорит о том, что компонент уже установлен, его ставить не надо. Эти галочки заполняются автоматически по мере установки компонентов, так что остановив выполнение программы потом можно продолжить установку с первого неустановленного компонента. Или можно перед установкой вручную отметить эту галочку у тех компонентов, которые ставить не нужно.
Самая левая часть строк (перед колонкой ID) предназначена для выделения строк. Выделять строки можно для:
— установки только выделенных компонентов. Для этого нужно выделить нужные компоненты, щелкнуть правой клавишей мыши и выбрать из выпавшего меню пункт Place Selected Components.
— задания одинакового значения параметров для всех выделенных строк. Например, выделяем все строки с резисторами 0603 15к и в любой из выделенных строк ставим значение Stack в L14. Автоматически во всех выделенных строках этот параметр поменяется на это значение. Так же можно изменить и любой другой параметр, включая галочки, списки, числовые значения.
— удаления выделенных строк. Выделяем, жмем Del и подтверждаем удаление.
Нажатие правой кнопки мыши на списке вызывает выпадающее меню, в котором можно:
— добавить новый компонент (новую строку) в разных вариантах — с нулевыми координатами, с текущими координатами сопла, с текущими координатами камеры;
— установить текущему компоненту (на котором щелкнули) текущие координаты сопла или текущие координаты камеры;
— передвинуть на координаты текущего компонента сопло или камеру;
— выделить все строки с таким же значением того параметра, который в данный момент выделен. Например, выделяем параметр угла компонента, кликаем на нем правой кнопкой и выбираем Select The Same:
В результате выделяются все строки, в которых параметр угла равен тому, который был выделен:
Все компоненты настроены, для них указаны позиции в питателях, сопла, скорость, режим визуальной коррекции и т.д. Теперь переходим в настройки платы — кнопка PCB Config внизу. Первым делом идем во вкладку Config и настраиваем параметры реперных меток, используемых в нашей плате.
Что такое реперные метки и зачем они
Реперные метки представляют собой специальные знаки на плате, которые хорошо видны камерой и легко определяемы программами. Обычно это просто круглые контактные площадки диаметром 1-2 мм, открытые от маски, расположенные в двух или трех противоположных углах платы (ну или как можно дальше друг от друга по обеим осям). Их координаты точно известны при проектировании и установщик, найдя эти метки на реальной плате и определив их реальные координаты, может сделать поправку на погрешность установки платы как по смещению, так и по углу.
Этот установщик работает с одной или двумя реперными метками на плату. По одной он может определять только смещение плат, по двум — еще и угол их поворота. Желательно всегда использовать две метки.
Выбираем Pattern:
— если хотим, чтобы установщик сам находил, распознавал и центрировался на реперных метках, то выбираем Machine Vision.
— если хотим, чтобы станок оставлял возможность точного центрирования на метках оператору в ручном режиме, ставим Manual.
— и если вообще не собираемся делать коррекцию по реперным меткам, ставим None. В этом случае предполагается, что платы всегда устанавливаются абсолютно одинаково и точно и нет нужды во внесении поправок на погрешность установки платы.
Выбираем Shape:
— Circular или Circular Template — метка представляет собой стандартный кружок. Отличие этих параметров в том, что просто Circular будет искать любой круг в радиусе обнаружения, а Circular Template будет искать круг заданного диаметра.
— ImageTemplate — метка представляет собой что-то нестандартное.
Галочка Pause After Machine Vision ставит установщик на паузу после того как он в автоматическом режиме распознал и определил координаты метки. Оператор может проконтролировать точность распознавания и при необходимости поправить перед тем как продолжить.
Range говорит установщику в каком радиусе от предполагаемых координат искать и пытаться распознать метку. Это ограничение вводится для того, чтобы станок не принял за метку какое-то соседнее отверстие или контактную площадку, попадающие в поле зрения камеры.
Группа TemplateParam отвечает за размер меток и их вид.
Size говорит станку какого размера метку нужно искать. Это или диаметр круга для Circular Template или размер картинки для ImageTemplate.
Strength устанавливает степень соответствия искомого изображения. Если метка имеет высокую контрастность и повторяемость от платы к плате, то это значение можно поставить побольше для бОльшей точности определения центра метки. Если метка видна плохо или ее изображение может слегка варьироваться от платы к плате, то это значение лучше сделать поменьше. При неправильно настроенном этом параметре установщик может вообще не находить метку (при слишком высоком значении) или видеть ее там, где ее нет (при слишком низком значении).
ImageMark1 и ImageMark2 отвечают за нестандартный тип первой и второй реперных меток соответственно — например, квадратные контактные площадки, какие-то знаки или буквы на плате и т.п. Они активны только если выбрана опция ImageTemplate в параметре Shape. При нажатии кнопки Get установщик сохранит область из центра текущего изображения камеры размером, установленным в Size. Этот кусок изображения будет служить эталоном при автоматическом поиске и распознавании меток. Следует обратить внимание, что центром метки будет считаться центр этого куска изображения, так что перед тем как нажать Get следует выставить центр камеры точно в центр метки, это важно. Кнопка Test включает распознавание метки и накладывает на изображение камеры бирюзовый квадрат (или круг) вокруг распознанной метки:
Это помогает проверить насколько правильно были заданы параметры метки.
Теперь переходим во вкладку PCB, где нужно настроить координаты реперных меток. Тут можно настроить до 50 плат — это группы PCB1, PCB2, PCB3 … PCB50. Если Вы ставите в установщик одновременно три платы, значит настраиваете параметры в трех группах, например PCB1, PCB2 и PCB3 , в остальных группах галочки Enable должны быть отключены. При этом можно настроить, скажем, 10 плат PCB1-PCB10, но если в очередной раз нужно будет поставить компоненты только на 3-ю и 5-ю платы, то можно просто снять галочки во всех группах кроме PCB3 и PCB5, а позже опять поставить их.
Mark1 и Mark2 задают координаты первой и второй реперных меток в системе проектирования платы. Эти координаты берутся в программе проектирования и во всех группах имеют одинаковое значение.
Например, тут координаты первой метки равны 139.0-185.0, их и нужно вносить в поля Mark1.
Если из проекта был выведен список компонентов с обеих сторон и при его импорте в программу установщика была выбрана нижняя сторона с зеркалированием координат X, то координаты по X в Mark1 и Mark2 нужно вводить отрицательными. К примеру, если в системе проектирования координата X у реперной метки равна 110.0, то сюда ее нужно вписать как -110.0.
Real1 и Real2 — это координаты этих же меток уже на реальных платах, установленных в станке. Для каждой метки нужно подвести к ее центру верхнюю камеру и нажать Set XY. Эти координаты служат отправной точкой для автоматического поиска реперных меток. При работе установщик подводит к этим координатам камеру и начинает искать здесь реперную метку по настроенным параметрам.
Это не значит, что все эти координаты нужно вводить после каждой установки плат. Нет, они вводятся только один раз, ведь платы в установщик всегда устанавливаются одинаково, так что и реперные метки всегда будут находиться в примерно одинаковых координатах. Может быть только небольшая погрешность, например, из-за неровного края отломанной от панели по скрайбированию платы (скрайбирование — прорезание текстолита по контурам плат примерно на треть толщины сверху и снизу), которую установщик и компенсирует, распознавая метки и точно определяя их центр.
Итак, настроили метки для всех плат, что дальше?
Теперь нужно сохранить файл кнопкой Save внизу главного окна. Если Вы открывали общий файл с компонентами и верхнего и нижнего слоев, то программа в диалоге сохранения автоматически добавит в конце имени файла "_top" или "_bottom", смотря какой слой Вы выбрали при открытии. Иначе имя для сохранения будет таким же, по которым .csv файл был открыт.
Программа сохраняет с тем же расширением — .csv, но это уже не совсем тот самый «comma separated values» формат. Начинается он в правильном формате — списком компонентов со всеми настроенными параметрами (сопла, позиция в питателе, режим визуальной коррекции т.д.) но после этого списка в файл пишутся и все те настройки, которые были внесены в разделе PCB Config — вплоть до образов пользовательских реперных меток, захваченных с камеры. А так же настройки лотков для микросхем, хотя они находятся в системных настройках. И это логично — для каждого вида плат могут понадобиться уникальные лотки под конкретный набор микросхем, так что сохранять настройки лотков в файле конкретных плат — отличная идея. И вот эти дополнительные настройки хранятся в файле уже совершенно не в соответствии с форматом .csv, хотя и в текстовом виде. Так что открыть этот файл в том же Екселе, чтобы что-то подправить, не получится.
И вот теперь можно нажимать Start в программе или на передней панели станка и смотреть как он работает за Вас :)
Это если был установлен режим Machine Vision и снята галочка Pause After Machine Vision. Иначе установщику придется помочь с определением реперных меток. В режиме Machine Vision с установленной галочкой Pause After Machine Vision нужно будет просто проконтролировать как он находит центры меток и кнопкой Pause/Cont подтверждать ему после каждой метки. При этом перед продолжением можно подкорректировать положение если станок сам не совсем точно определил центр. В режиме Manual все то же самое, но только станок сам не будет пытаться найти метку и ее центр, так что корректировать руками придется практически каждую метку.
Ниже в видео показаны три режима поиска реперных меток станком. В первом режиме установщик в полностью автоматическом режиме проходит по всем меткам, распознавая их, находя центр и переходя к следующей метке. Во втором режиме (с установленной галочкой Pause After Machine Vision) он так же сам распознает метки, находит их центр, но после этого встает на паузу, ожидая подтверждения оператором (нажатия кнопки Pause/Cont). В третьем режиме (Manual) установщик только подводит камеру к предполагаемым координатам метки (заданным в настройках платы), но не пытается определить ее центр, хотя саму метку распознает — это видно на изображении с камеры (в правом верхнем углу). Обратите внимание, что метки смещены от центра, но станок не пытается скорректировать это смещение, в отличии от двух предыдущих режимов, он оставляет это за оператором.
И еще одно видео — установка компонентов на две одинаковые платы.
Небольшие пояснения к видео — в начале видно, что я отключаю реперные метки с трех плат из пяти, тем самым исключая эти платы из работы. Вообще файл рассчитан на работу с пятью платами, но для более короткого видео я взял только две платы, поэтому остальные три отключил.
Некоторые компоненты я предварительно установил на плату вручную. Это не потому что с ними какие-то проблемы у станка, просто так получилось :) И в начале видео видно, что я для этих компонентов устанавливаю в списке галочку Done, чтобы программа знала, что они установлены. Из-за этого программа при старте работы и спрашивает «Продолжить или начать заново?». Начать заново — программа очистит галочки Done у всех компонентов и будет ставить все что есть в списке. Продолжить — программа не будет устанавливать компоненты с галочкой Done.
На видео видно, что одна большая и одна мелкая микросхемы при установке на плату чуть съехали в сторону — это из-за очень толстого лужения производителем плат. На второй плате эти же микросхемы сели без сползания и отлично попали на свои площадки, в конце видео я привел их фотографии под микроскопом. Так же не попал в отверстия один из разъемов miniUSB, почему- фиг знает :) Где-то один из 20 разъемов не попадает. Может быть при проектировании платы я не точно указал центр разъема как точку установки…
Микросхемы с мелким шагом — TQFP64 и MSOP10 устанавливаются с точной коррекцией по нижней камере. Остальные микросхемы, miniUSB и кварц — устанавливаются с быстрой коррекцией по камере. Остальные компоненты ставятся без визуальной коррекции. Скорость работы — по умолчанию, 50% :) И сорри за звуковой фон и за качество монтажа — мой слабый рабочий комп едва шевелился в видеоредакторе, так что было не до лоска :)
И эти платы после печки еще до мытья:
После 12 минут мытья в УЗ-ванне, 5 секунд ополаскивания в дистиллированной воде и 30 минут сушки при температуре 110 градусов не останется ни следов флюса, ни разводов, ни налета — платы будут девственно чисты :)
Коротко в целом по станку:
+ есть стандартные китайские огрехи и некоторая экономия, но в целом сделан очень и очень неплохо, я ожидал худшего.
+ работает практически из коробки, хотя для наилучшего результата тщательная настройка требуется.
+ механика достойного качества, работает не очень шумно, как и помпа.
+ встроенный компьютер при всей его слабости легко справляется с управлением станком.
+ цена вполне оправдана возможностями :)
+ поддержка производителя отвечает по email довольно оперативно и по делу.
— требует очень много места, на стандартный стол со столешницей глубиной 60 см не встанет — у него между ножками 62 см, к тому же требует наличие доступа с трех сторон (ну или как минимум спереди и сзади).
— вопреки заверениям продавца, не способен точно ставить корпуса размером с TQFP-144 и больше.
— концевики механические, неточные (обычные микрики), хотя от их точности здесь зависит очень многое, очень желательно сразу менять на оптические.
— нет питателей на ленты 24 мм и вибролотка.
Коротко в целом по софту:
+ гораздо более гибкий и мощный, чем я ожидал, предусматривает множество моментов, о которых я даже не задумывался раньше.
+ весьма удобный для работы со списками компонентов.
+ довольно развитые средства работы с несколькими платами.
+ обширные настройки и калибровки.
+ умеет работать с пользовательскими реперными метками.
— нет ни одной горячей клавиши, что бывает весьма неудобно.
— совершенно не документирован.
— нет рисок на линиях поверх изображения с камер для более удобного центрирования, пришлось выкручиваться варварскими методами — матовый скотч на мониторе с нарисованными маркером миллиметровыми рисками :))
Спасибо всем, кто хотя бы попытался прочесть хотя бы половину моей писанины :))))
Если остались любые вопросы задавайте, постараюсь ответить :)
UPD (25.09.2018): получил пару катушек с резисторами и конденсаторами типоразмера 0402 (размер такого резистора — 1.0х0.5 мм), установил в питатели и попробовал установку на максимальной скорости без визуальной коррекции. На состояние платы не обращайте внимания — это на ней двухсторонний скотч для удерживания компонентов :) Результат более чем устраивает:
Самые обсуждаемые обзоры
+74 |
3807
147
|
+56 |
3977
69
|
+35 |
3103
60
|
капнул в карму
Паста японская- цена китайская.
Но планирую перейти на трафаретное нанесение — mysku.club/blog/taobao/66380.html#comment2812726 :)
Ну, обычно производитель в даташите предупреждает если что-то из распространенных в производстве технологий делать нельзя :)
Да посмотреть частоту ванны не сложно, думаю, что осциллограф увидит ее даже на кусок провода рядом с ванной :)
Вообще если что-то не рекомендуется мыть в УЗ-ваннах, то в даташите об этом обязательно пишется, видел не раз. В даташите на ABM3 ничего про это нет :) А ведь УЗ-отмывка очень часто применяется в промышленном монтаже плат.
Вдруг вы новый конкурент для Интел xD
В принципе, свое дело началось с банального «мне это нужно, а никто еще не сделал, сделаю-ка я сам» :) Сначала был программный продукт (уже сдох :)), а теперь вот и железки :)
С этим у меня туговато сейчас и было совсем никак раньше, пока товарищ меня не пнул :)
Таки предполагаю, что дальше плата едет в печку. Обзор продолжения процесса будет?
Нет, дальнейший процесс обозревать, наверное не буду — печка и печка, что там может быть интересного? :) Но скорее всего сделаю обзор на трафаретный принтер. Потом, когда у меня появятся трафареты и я сам его распробую :)
Почему не отваливаются компоненты с нижней стороны платы при пайке верхней, да куча ламерских вопросов :).
И гораздо информативнее услышать от человека, опыту которого доверяешь.
И как говориться, надо танцевать от печки :), если для хобби печка не пойдет по криворукости или чего-то другого, дальше по процессу изготовления плат можно не ходить :).
Печка отлично подходит и для хобби, причем сделать ее можно довольно недорого :)
Вспомнил, как мы ездили недавно в ЮВА смотреть как делают наши контрактные заказы в условиях мелкосерийного производства.
В Корее это была типовая мелкая фабрика 50х50 м в промзоне недалеко от инчхонского аэропорта.
В Китае, приезжаем в мелкий райцентр, город-пятимиллионник, недоумевающе поднимаемся на 20-й этаж 50-этажного жилого дома-свечки. В тамбуре стоят детские коляски и велосипеды. Заходим в большую 5-комнатную квартиру с кольцевой лоджией. В гостиной установлена 3-х метровая печь, в которой производится напайка керамики на фланцы. Печь эта водородная (!!!). Рядом с баллоном с водородом у выхода на лоджию курит китаец, в Китае почти все курят. На лоджии китаянки набивают компоненты в графитовые лодочки, без перчаток, черными от графита пальцами. Идем дальше. В соседней комнате китаянка демонстрирует нам напайку 2-х чипов в монтажный колодец корпуса, вручную, с зазором между чипами и стенками монтажного окна 10 микрон (!!!) О каком оборудовании автоматического прецизионного монтажа pick&place die attach ценой в сотни тысяч долларов вы говорите, смеется владелец компании)
С чего-то подобного, говорят, начиналась (не так и давно!) например DJI…
ебахнет, мало не покажется не только квартире, но и самому зданию.Общался как-то с китайцами на тему значимости собственной жизни и здоровья.Китайцы мало это все ценят, живут по принципу «здесь и сейчас». Продать почку, чтобы купить айфон — это нормально. Мэры китайских городов и прочие чиновники воруют миллиарды и живут мгновения красивой жизни, прекрасно понимая, что неизбежно будут за это расстреляны. Ценность жизни китайца весьма мала. На пешеходных переходах в Китае приоритет имеет автомобиль, а не пешеход. Если вас сбили на переходе, китаец постарается вас додавить, чтобы наверняка. Ваша смерть ему дешевле обойдется, чем оплата вашего лечения. В крупных городах в воздухе постоянно токсичный смог, солнца практически не видно, экология убита напрочь. Google и Youtube запрещен. С подделками даже собственных брендов борьба только на словах. В Шеньчжене как-то покупал фэйковые повербанки Xiaomi с лотка уличного продавца прямо перед входом в фирменный магазин Xiaomi, всем на все пофиг)
Было ОЧЕНЬ сложно :)))) СЛОИ и прочее :)
Надо сейчас поставить и конспекты поискать :)
Спасибо :)
и в кино можно показывать и билеты брать :)
Какая там нафик бегущая вода — огонь — работающий человек! Все отдыхают. На это можно смотреть даже не вечно, а просто-таки ВСЕГДА :)
И чутка вопросов:
1. Плата мажется пастой ВСЯ кисточкой или тоже станок есть?
2. «А потом в печку» — а почему не феном? И на сколько в печку? И как компоненты не перегреваются от этого?
3. А ЛЕНТЫ с компонентами — он «в ручную» продёргивает?
3.1. А почему он протягивает одну ленту, а комп с другой берёт?
:))))
4. И собссно -а для чего СОПЛО? Я думал — он из него припой напыляет :)
Короче блин АЩЕ! :)))))))))
Давайте еще больше видео!
1. Нет, паста наносится точечно, только на контактные площадки. Сейчас наносится вручную, с помощью пневмодозатора. В недалеком будущем планирую перейти на трафареты, вот так:
2. Феном долго, муторно и ненадежно — нормальный температурный профиль не выдержишь, поток воздуха стремится сдуть детали, плата прогревается локально, что не очень полезно. В печку — примерно на 3-4 минуты. Сначала идет преднагрев до 130 градусов и удержание этой температуры 2 минуты, потом нагрев до 180 градусов и удержание 30 секунд, потом быстрый нагрев до 220, 20 секунд при этой температуре и охлаждение. Практически все SMD-монтируемые компоненты предусматривают пайку в печи, даже пластиковые разъемы и реле :) В даташитах у них даже нарисованы термопрофили пайки. Ну а которые не предусматривают пайку в печи — те в ней и не паяются :)
3. Да, специальным штырьком, выдвигаемым электромагнитом.
3.1. Как так? Какую ленту протянул — из той и берет :)
3.1. — Когда он вверху справа черные ленты таскает. Видимо — померещилось :)
Понятно :)
А пасту брали ss48-m956-2только в Вильнюсе, свежая, присылали в посылке с аккумулятором холода, не то механик месяцами стоящая в магазине…
Трафарет обычно заказывается там же, где делают печатные платы. Отправляете файл гербера (слой паяльной пасты) и получаете готовый трафарет
С оркадом уже давным давно не имел дела, но программа была вроде серьезная, на уровне пикада, так что там с этим проблем быть не должно :) А вот насчет программ уровня диптрейса или игла — не уверен.
В своей работе используете какие-либо жидкие диэлектрики (лаки, компаунды)? Если да, то посоветуйте диэлектрик холодной сушки, который не вызывает окисления и коррозии меди (латунь, сплавы), сохраняет эластичность и прочность на протяжении долгого периода времени. Известные мне и теоретически подходящие под условия, но которые я еще не опробовал на практике — К/ПК-68 (силиконовый компаунд), Plastik 70/71 (акриловый лак). Может что-то еще?
Я пробовал цапон-лак и ПК-68. Цапон, в принципе, неплохо работает. Девайсы с залитыми им платами возвращались ко мне после 2-4 лет работы и никаких следов коррозии под лаком не наблюдалось ни на луженых проводниках, ни на медных жилах проводов. Эластичный достаточно, чтобы не трескаться при изгибании платы :)
ПК-68 хорошо герметизирует, остается довольно мягким (силикон как никак), но с прочностью у него беда — рвется довольно легко. Его нельзя растянуть как формовочный силикон в 5 раз :) Отлично подходит для заливки плат в корпусах для герметизации.
ПК-68 и К-68 намерен попробовать в ближайшее время, жду прихода подслоя П-11, который обязателен перед нанесением компаунда (без него коррозия неизбежна).
Акриловые лаки RM пробовал. Медная проволока меняла свой цвет — темнела, зеленела спустя 3-4 дня. Видимо, идет какая-то реакция или окисление ионов кислорода и меди.
Экспериментировать вечно не хочется, поэтому спросил совета.
Цапон на сгибающейся проволоке будет отслаиваться, это да :)
Да, для металлов очень рекомендуется подслой, я читал об этом. Без него адгезия будет слабой и влага будет проникать под слой компаунда. А вот с платы его фиг сдерешь без всяких подслоев :)
ЗЫ Перешли на него после крамолиновских уретана и пластика и ооочень довольны.
HumiSeal 1B31 + HumiSeal Thinner 521. Для получения нужной консистенции, добавляют желаемое количество тиннера. Можно даже распылять спреем. У нас наносят кистью в вытяжном шкафу. Для отмывки от этого состава, используем 3M Novec 72DA.
P.S. У HumiSeal можно запросить бесплатные семплы. Точно знаю, что данный состав используется в военке и космосе :)
По идее товарищу должно подойти :)
Полгода-год и приходится зачищать заново (
Я свою выкрутил примерно на 40% мощности и мою 2-3 минуты при 45-50град. при этом с некоторых компонентов смывает краску.
В одном из аппоунтов читал, что керамику дольше 3 минут мыть не рекомендуется.
Изначально пробовал 10 минут дак покрытие с радиаторов смывается :-))))
Ванна у меня на 15л с мощностью УЗ 360вт вроде, брал на Али.
А чем Вы моете, что краска смывается? :)
Я большую ванну специально брал т.к. платы большие 160*120 примерно, чтобы за раз пару плат входило.
С пленочных кондеров очень часто смывает маркировку, обратил внимание последние партии идут с лазерной маркировкой.
С ферритов тоже смывает и с чип индуктивностей.
Наверное, это какой-то специфический вывих в мозгах у электронщиков — получать эстетическое удовольствие от наблюдения за работой установщика. Или это кайф от осознания сколько самому бы пришлось глаза бить расставляя элементы, а тут за тебя работа сама (почти) делается. :))
А еще мне нравится этот цикл статей тем, что помимо кучи интересного в самих статьях, в комментариях еще куча полезной информации.
Спасибо!
Там — вааще!
Но чтоб такой купить — всей муськой скидываться придется :)
А автор молодец! Покупкой этой штуки он не только на другой технологический уровень перешел, но и сбережет своё время и зрение.
Что касается описываемого оборудования: «с потолка» стоимость монтажных работ можно для простоты оценить в $5, значит станок за $4000 должен успеть произвести партию продукта хотя бы в 800 штук)
800 плат это далеко не всем, это маленький тираж если смотреть на «всю страну» с населением в 140 миллионов.
Сам обзор, труд конечно монументальный. Для тех кто понимает во всех этих штуках.
Ознакомился с обеими частями обзора, ну пока не ясно.
Ладно, забудь об этом, раз влом черкнуть.
Давно склоняю начальство в пару к нормальному установщику такой закупить на пиковые нагрузки и на время ремонта основного.
А почему вы не пользуетесь пастой с водосмывным флюсом: он активней и меньше проблем с старыми компонентами; легко, а главное стабильно и предсказуемо отмывается в обычной посудомойке.
Интересно почему пневмодозатор, а не трафарет пластиковый или стальной. Народ просто скотчем прилепляет к столу через проставку и мажет. Даже при таком способе имхо скорость и качество нанесения значительно выше будет
Когда я приобретал дозатор, мне казалось, что с трафаретом я буду дольше возиться на партии плат, чем с дозатором — трафареты же надо еще и мыть после использования :)
Посмотрел выше видео китайского трафаретника, пара советов: не связываться с готовыми рамами(как на видео), сделать натяжную рамку из профиля; в качестве ракеля очень удобен обычный шпатель из строймагазина, недаром в полуавтоматах и выше только стальные ракели.
Кстати, паста же наверняка безотмывная, зачем вообще мыть?
Уже практически сделал из профиля 20х20 и 20х40, буду на работе — сфотографирую :)
В комплекте с принтером идет металлический ракель и лопатка для доставания из банки и размазывания по трафарету пасты :)
Да, безотмывная. Мою по двум причинам:
1. Пока не было установщика, микросхемы с шагом 0.5 мм паял паяльником, т.к. установка вручную корпуса TQFP-64 ровно на площадки — процесс довольно долгий, да и пасту дозатором нормально не нанести на такие площадки :)
2. Для эстетики и пущей гарантии, что в последующие 4-6 лет ничего не будет от остатков флюса с повышенной влажностью :) Хотя оставлял несколько партий и без мытья — назад пока не возвращались :)
А вот с отмывной пастой я как раз попал, правда в быту: был куплен телевизор Самсунг и у него через полгода сдох пульт. Т.е он как бы работал, но начал за три-четыре дня разряжать комплект батареек. Вскрытие показало, что очень многие детали (в частности, резисторы и конденсаторы) имеют утечки. Снятие этих деталей показало, что под ними остался флюс, который имеет довольно высокую электропроводность. Пришлось аккуратно снимать с платы все детали, относящиеся к силовым цепям и мыть плату. В результате время жизни комплекта батареек значительно увеличилось.
Я только не понял одного — почему пульт продержался в нормальном виде полгода и только потом начал капризничать. Может, флюс насосал из воздуха влаги? — плата там естественно никаким лаком не залита.
Собственно, к чему этот мой спич: а где гарантия, что работая с отмывочными пастами, удастся убрать все остатки флюса из-под плотно прижатых к плате компонентов — например, крупных резисторов и конденсаторов?
Использование моющих жидкостей с высокой проникающей способностью и мойка в УЗ-ванная может дать такую гарантию.
После второго обзора буду покупать установщик, год мучали сомнения.
Подскажите если возможность переделать один питатель для 24 мм ленты?
Поделитесь пожалуйста посредником.
Посредника отправил в личку :)
Иногда слегка сбивается домашняя позиция (на 0.05-0.1 мм), грешу на механические концевики-микрики. Не часто, может быть пару раз в месяц. Бывает, что с одной из лент перестает сниматься защитная пленка, когда она оказывается приклеена к ленте сильнее обычного, но это тоже достаточно редко случается. Еще мне пришлось уже раза три поправлять калибровку угла нижней камеры, по которой он корректирует положение взятого компонента. Буквально на 0.1-0.2 градуса, но это уже заметно сказывается при установке корпусов QFP-64. Из-за чего это может происходить — я хз :) Ну а так — работает, свои задачи выполняет. Вот буквально вчера я за 4 часа смонтировал 40 плат, тогда как руками я на 10 штук тратил почти весь день.
С тех пор вышло уже три новые версии программы, по описанию там добавили и исправили много фич, но я пока не рискнул перейти на нее, опасаясь, что нарушится отлаженный процесс с уже настроенными файлами установки :)
Вот список изменений со времен моей версии:
Плата всегда должна крепиться в более-менее одном месте и положении. Если у Вас просто необходимо иногда крепить ее в другом месте, то нужно создавать под это отдельный проект.
Отступы в реальном положении платы указываются не от края платы, а от начала координат станка. Ну а заданные координаты этих якорей на плате берутся из файла платы, в тех же координатах, в которых указываются положения элементов :)
Я же в обзоре описал настройку реперных меток :)
Или это будут танцы с бубном?
Да, давление включается программно для каждого компонента отдельно — галочка Pressure в списке устанавливаемых компонентов на главном экране программы. Плюс еще сзади головы установщика есть регулятор, которым настраивается поток воздуха при включении давления. Такая маленькая крутилка на одной из трубок.
а где находится датчик вакуума? при захвате детали P1, P2 показывает 0, раньше при захвате показывал около 60.
Датчики вакуума должны быть где-то в голове, рядом с клапанами.