- Цена: ¥25300.00 / ≈$3700 / 254189 руб (плюс 37547 руб доставка)
Вам нравится когда Ваша работа делается сама? Вот мне — очень нравится 🙂 И эта покупка очень меня радует в этом плане, она взяла на себя почти всю нудную и кропотливую часть моей работы.
Этот станок предназначен для монтажа печатных плат — он расставляет SMD (безвыводные) детали на печатные платы. Потом плата с деталями ставится в паяльную печь и там все детали разом припаиваются.
Коротко — станок оправдал мои ожидания, и даже слегка превзошел их 🙂 Ну а подробнее (пожалуй, даже излишне подробно — очень много букв) — под катом. Очень много текста и фото!
Обзор получился очень объемным, поэтому я большие разделы попрятал под спойлеры, чтобы было удобнее листать обзор 🙂
1. Нанесение паяльной пасты на контактные площадки. Это делается с помощью трафаретов на специальных принтерах. На плату накладывается трафарет (чаще всего из нержавейки толщиной 0.1-0.2 мм) с отверстиями напротив контактных площадок, выдавливается паяльная паста и специальным шпателем паста прогоняется по трафарету. Через отверстия она продавливается на контактные площадки и там и остается после поднятия трафарета. Бывают автоматические принтеры, полуавтоматические и ручные. Автоматические принтеры сами укладывают плату, выравнивают ее по трафарету и наносят пасту.
Полуавтоматические принтеры сами наносят пасту, но укладку и выравнивание по трафарету плат делает человек-оператор. И полностью ручные принтеры — это полностью ручной труд, просто откидываемая рама с трафаретом и со столиком для плат, который позволяет точно выставить плату по положению и углу (до сотых долей миллиметра).
2. Необязательный этап — нанесение точек клея на места установки деталей. Над платой ездит сопло и выдавливает по капле клея в места, на которые потом встанут детали. Обычно это делается при двухстороннем монтаже, чтобы детали, оказавшиеся на нижней стороне после переворота платы не отвалились в процессе монтажа.
3. Расстановка деталей на плату. Этим занимаются так называемые PnP-машины (Pick and Place), автоматические установщики компонентов. Они бывают самыми разными по стоимости, точности и скорости работы, от довольно тормозных примитивных самодельных с ценой постройки 200-500 долларов до промышленных скоростных гигантов ценой в миллионы долларов.
Все они работают по одному принципу — в них загружаются детали и программа платы (список компонентов и координаты+углы их установки), затем сопло с помощью вакуума хватает очередную деталь, поворачивает на нужный угол и ставит на плату в нужных координатах.
4. Пайка в печи. Печи тоже бывают разными — от самодельных за 100 долларов из ростера до промышленных за сотни тысяч долларов конвейерного типа с десятками температурных зон.
В промежутках между этими этапами могут быть какие-то вспомогательные — например, контроль качества или ручная установка каких-то нестандартных компонентов и т.п.
Так вот, обозреваемый станок предназначен для работы на третьем этапе — расстановка деталей на платы 🙂
До сравнительно недавнего времени существовали в основном только самодельные и промышленные установщики. Первые были примитивными как в виду скудной доставаемости железа для сопловых узлов, так и в виду скудности нормального ПО. Вторые были дороги, очень дороги. От десятков тысяч долларов за самый начальный уровень или за более продвинутый в состоянии БУ.
К тому же была еще одна проблема и в тех и в других — подача компонентов для установки. Самодельные в основном работали с наклеенными где-то в сторонке лентами с деталями, то есть практически перед каждой работой нужно было отрезать от катушки SMD кусок ленты с деталями, приклеить его (или закрепить как-то еще) в точно назначенное для него место и снять с нее защитную пленку, умудрившись при этом не рассыпать из нее сами компоненты. При этом даже небольшая слабина прикрепленной ленты приводила к тому, что в момент взятия соплом очередной детали соседние детали могли выпрыгнуть из своих пазов из-за вибрации ленты.
В промышленных с заправкой и взятием компонентов все было прекрасно — вставили катушку, закрепили ее кончик в направляющей, защитную пленку закрепили на принимающем барабане и дальше все происходит само — при необходимости в этом компоненте лента продвигается на одну позицию и с нее снимается защитная пленка, открывая ровно один компонент, все это автоматически, пока сопло едет к этой катушки. За все это отвечали так называемые фидеры или питатели — у них были свои мозги и моторчики для протаскивания ленты и снятия с нее защитной пленки.
Но есть нюанс — эти фидеры сами по себе стоили как крыло от боинга. От сотен до тысяч долларов за каждый. То есть покупаете установщик за $200000, у него в комплекте идет, скажем, 20 фидеров, а если Вам нужно иметь в станке одновременно 60 разных компонентов, то покупаете еще 40 фидеров по $800.
И не было ничего между этими двумя крайностями — чего-то подороже, но и получше самодельных с примитивным софтом, но все же попроще и подешевле промышленных автоматов.
И вот один из самодельщиков додумался, что компоненты можно брать прямо из катушек, как во взрослых станках, но гораздо более примитивным способом — самим соплом сдвигать ленту из катушки на одну позицию и брать открывшийся компонент. Защитную пленку при этом можно откинуть назад и привязать к ней что-нить тяжелое, чтобы под его весом пленка сама отрывалась от открывающегося участка ленты. Этот метод быстро усовершенствовали — для продвижения ленты стали использовать специальный штырек, выдвигаемый электромагнитом, а защитную пленку стали наматывать на небольшие катушки, сидящие на одном валу с небольшим проскальзыванием. То есть когда нужно стянуть защитную пленку, вращается вал со всеми катушками, но провернуться вместе с ним могут только те катушки, для которых штырек выдвинул ленту и защитная пленка может легко оторваться на этом выдвинутом участке.
И китайцы быстро просекли тему и лет пять назад, кажется, начали делать небольшие и довольно примитивные установщики по более-менее приемлемой стоимости 2-3 тысячи долларов. По параметрам они были примерно на уровне самодельных, но это были уже законченные машины, не нужно было тратить месяцы, изготавливать сотни деталей, доводить все до ума
С тех пор как самодельные, так и китайские технологии не стояли на месте. И там и там, например, наконец-то появилось достаточно вменяемое машинное зрение (подозреваю, что и там и там — благодаря веб-камерам и открытой библиотеке обработки изображений OpenCV :)). И теперь можно вполне сносный установщик собрать самому если руки прямые, есть время и возможность и не очень много денег, или купить готовый если денег есть побольше, а остальное в дефиците 🙂 Вот о втором варианте в обзоре речь и пойдет 🙂
Поиск и выбор
Я давно смотрел в сторону таких китайских станков, но останавливала их сравнительная примитивность при достаточно серьезной (для меня) цене — отсутствие машинного зрения и небольшое количество питателей. Смотрел, так же, и в сторону отечественного (не заводского, правда) производства — smd-taxi.ru. Это не в качестве рекламы 🙂 Ребята реально молодцы, делают действительно хорошие по параметрам аппараты, но цена для меня оказалась высоковатой.
Смотрел я лениво, в отдаленной перспективе, пока в конце июля обстоятельства не сложились так, что мне пришлось почти каждый день монтировать по десятку плат (а на каждой плате по две сотни компонентов). И мое терпение лопнуло, я полез в инет искать такой станок уже с твердым намерением приобрести его. Границу по цене я для себя поставил в 250 т.р. За такие деньги вариант только один — Китай.
Сначала был Алиэкспресс, на котором я после поисков и сравнений остановился на модели TVM802B. Но блин, дороговато, да и доставка «методом продавца» вызывает вопросы — и по срокам и по таможне. Поэтому решил поискать эту же модель на Тао (с покупкой и доставкой посредником) и наткнулся на вот этот лот, который в заголовке обзора. Отличие модели TVM802BX от TVM802B заключается в наличии встроенного в станок компьютера, что мне очень понравилось — не нужно было занимать рабочий комп и тянуть сетевой кабель от компа к станку. Да и цена была прилично меньше, чем станок без компа на Али, даже с учетом доставки и услуг посредника. Поэтому на нем и остановился.
Заказ и доставка
Позже, в процессе переговоров «я<->посредник<->продавец» удалось выбить из продавца скидку на ручной трафаретный принтер для нанесения паяльной пасты, и в заказ был добавлен и принтер. В итоге я вылез за пределы своего лимита, но фиг с ним, лучше потратить чуть больше, чем потом жалеть, что зажал и не взял сразу получше 🙂
После уточнения некоторых деталей у продавца и посредника я дал посреднику добро на покупку и перевел стоимость станка с принтером. Это было 27-го июля. 7 августа посредник отписался, что станок у них на складе в Китае: «Во вложении фото, они его упаковали очень хорошо, ящик вообще со всех сторон закупорен, стоит ли открывать и делать фотографии?». Я ответил, что очень бы не хотелось получить тут кусок бетона или пару десятков кирпичей в ящике и на следующий день получил фото:
Ну что, вроде станок тот самый, просить китайцев включить его — бесполезно, потому что просто включением там ничего не проверишь. Поэтому скрестил пальцы и дал добро на отправку 🙂
27-го августа посредник отчитался, что станок в Москве и выставил счет на оплату доставки. И вот 3 сентября мне позвонили из транспортной и сказали, что можно забирать мои 79 кг 🙂 Я тут же заказал грузовое такси с парой грузчиков (в мою машину ящик не влез бы, да и тащить его самому на третий этаж мне совсем не хотелось) и через три часа ящик стоял у меня в комнате:
Характеристики
— размер платы: от 20х20 мм до 260х330 мм;
— два сопла;
— обещанная точность 0.025 мм (хз что они под этим имеют в виду, скорее всего дискретность шагов);
— обещанная скорость установки — до 6000 компонентов в час (по всей видимости, это расчетное значение в идеальных условиях);
— сервошаговые двигатели с энкодерами;
— встроенный комп (слабенький Атом 2 ГГц + 2 Гб оперативки + 30 Гб SSD, во внешний мир выведены 4 USB и D-SUB для монитора);
— может работать с SMD от 0402 до 5050, SOP, TQFP, QFN и т.д. По словам продавца максимальный корпус — TQFP-144;
— питатели на 46 позиций: 38 для 8мм, 6 для 12мм и 2 для 16мм. Продавец еще предлагал за отдельные деньги вибролоток, но по фотографии это какой-то его колхоз, причем не лучшего качества. К тому же, как я понял, он не управляется софтом, жужжит постоянно пока подано питание;
— две HD-камеры — верхняя и нижняя, судя по всему — аналоговые;
— одна вакуумная и одна наддувающая помпы;
— детектирование захвата компонента (датчики вакуума на обоих соплах);
— вес — 41 кг, я это прочувствовал на себе в полной мере 🙂
Органы управления
На передней панели установщика расположились несколько кнопок, индикаторов и большой красный «грибок» EStop-а (экстренная остановка станка, такие грибки обязательны практически для любого промышленного оборудования). При нажатии на него установщик обесточивается (кроме компьютера), а грибок фиксируется в нажатом состоянии. Что бы его отжать, нужно повернуть его по часовой стрелке.
Кнопка Start/Stop запускает и останавливает выполнение программы. Причем первое нажатие этой кнопки во время выполнения программы ее не останавливает, а только вызывает на экране компьютера окно с вопросом об остановке, и только второе нажатие (или подтверждение на компьютере) уже останавливает программу.
Кнопка Pause/Cont ставит на паузу и возобновляет выполнение программы.
Кнопка Step выполняет программу по одному шагу. Нажали ее — станок выполнил очередной шаг и встал на паузу. Опять нажали — опять выполнение очередного шага и пауза. Возобновить нормальное выполнение при этом можно кнопкой Pause/Cont.
Остальные кнопки и индикаторы более крупно:
Кнопки X+/X- и Y+/Y- — ручное перемещение осей. Дублируют кнопки стрелок в программе.
Кнопка DotMove/ConMove переключает режим перемещения осей между быстрым непрерывным и пошаговым. В быстром непрерывном режиме нажали кнопку перемещения на панели или в софте — и ось поехала, довольно быстро. Отпустили кнопку — ось остановилась. В этом режиме удобно перемещать оси на сравнительно большие расстояния. В режиме DotMove каждое нажатие кнопки перемещения вызывает смещение оси примерно на 0.03 мм. Если кнопку перемещения нажать и удерживать, то сначала будет один шаг оси, а через примерно 0.5 секунды ось начнет перемещаться по шагам с частотой около 20 шагов в секунду. Абсолютно так же как будет печататься какая-то буква при длительном нажатии на кнопку на клавиатуре компьютера.
Индикатор OL Status — мигает когда станок включен, но софт не запущен или не подключился к станку и горит когда софт запущен и подключен к станку.
Индикатор Run/Stop горит когда выполнение программы остановлено и погашен когда выполнение программы работает.
Индикатор Pause/Cont горит во время паузы выполнения программы и погашен во время выполнения программы.
Индикатор DotMove горит в режиме пошагового движения осей и погашен в режиме непрерывного движения.
Индикатор ConMove работает противоположно индикатору DotMove.
На правой стороне установщика расположились:
— разъем питания 220 в;
— общий выключатель питания (и станка и компьютера);
— 4 USB-разъема для периферии;
— D-SUB разъем для монитора;
— переключатель (без фиксации, работает как кнопка) на питание компьютера;
За задней стороне только вентиляционные прорези. На левой стороне один переключатель, который внутри ни к чему не подключен. Для чего он там — загадка 🙂
Размещение компонентов для установки
В основном, станок работает с компонентами, идущими на катушках в лентах шириной от 8 до 16 мм. Однако, он может работать и с деталями, которые идут в лотках или в пеналах или в более широких лентах. Для этого у него предусмотрено крепление лотка с позициями для деталей. Главное, чтобы детали в этом лотке располагались более-менее ровными рядами. В комплекте со станком шел один лоток на 18 деталей, но вообще мне нужно было чтобы лоток обеспечивал по 10 деталей 6-7 видов. Поэтому я напечатал на 3D-принтере свой лоток нужной конфигурации:
Для крепления таких лотков в комплекте станка были специальные железки. Вот так они устанавливаются на станок:
И вот так в них ставится лоток:
У меня два лотка, пока из одного станок расставляет детали, я наполняю второй, это дело буквально двух-трех минут 🙂
Распаковка
Чтобы ящик разобрать нужно просто разогнуть эти ушки и крышка легко снимается:
Но пока крышка надета и ушки загнуты, ящик представляет собой весьма крепкую конструкцию.
Итак, крышка снята:
Упакован станок нормально. Не сказать, что с излишней тщательностью, но и не так уж плохо, вполне сопособен пережить доставку. По всем сторонам толстый слой вспененного полиэтилена с вырезами под конструкции станка.
Внутри сам станок со снятым задним питателем и несколько небольших коробок. В коробках в дополнение к самому станку лежало:
1. Проводная USB-мышь, простая, без наворотов:
2. Небольшой тканевый коврик для мыши:
3. Проводная небольшая USB-клавиатура без русских букв:
4. Коробка с проводом питания (с евровилкой) и запчастями:
5. Рекламный проспект с продукцией производителя:
6. Руководство, отпечатанное на цветном принтере на 41 листе и скрепленное степлерными скобами:
На содержимом коробки с запчастями остановлюсь подробнее. В ней было:
1. Сопла, 6 штук (хотя завялено в комплекте было 5 шт) разного размера — 502 (самое мелкое, для компонентов размера 0402), 503 (2 шт, для компонентов 0603-0805), 504 (для 0805-1206), 505 (для крупных SMD и мелких микросхем типа SOIC-8, SOT23 и т.п.) и 506 (для более крупных микросхем типа TQFP). Тип сопел — JUKI, это довольно распространенный тип, купить такие сопла разных размеров — совершенно не проблема что на Али, что на Тао. Средняя цена таких сопел — от 11 (самые ходовые размеры) до 15 баксов (самые миниатюрные).
2. USB-флешка SanDisk на 8GB
3. Запечатанный пакетик с болтами (хз для чего):
4. Тестовая двухсторонняя плата для проверки:
5. Алюминиевый крашенный лоток для микросхем на 18 позиций:
6. Пакет с частями для установки лотка на станок:
7. Отвертка с шестигранником 2мм (для регулировки натяга приемных катушек питателей, на которые наматывается защитная пленка):
8. Смазка для направляющих валов и рельс:
В общем-то, комплектация не сказать, что богатая, но и не совсем нищенская 🙂 Порадовало, что не нужно было докупать шнур питания с евровилкой и клавиатуру с мышью. Вот если бы в комплекте шел еще и монитор дюймов хотя бы на 19… :))
Сборка
Это станок еще без него:
А это уже с ним:
Потом прошелся по всем болтам, попытавшись подтянуть их. Мало ли как китайцы собрали на заводе и что было во время транспортировки. Однако все более-менее крупные болты были хорошо затянуты. Более того — потом я выяснил, что практически все они сидят на фиксаторе резьбы. А вот среди мелких нашлось несколько ослабленных и даже полувыкрученных:
Однако, и среди крупных болтов нашлось место… не знаю как назвать — это даже не брак, а явная лажа от производителя. Пластина, на которой держится двигатель оси X, крепится к каретке на два болта. Вот эта пластина обведена красным:
И эти два болта были сильно прослабленными. А когда я решил затянуть их, то выяснилось, что один из болтов свободно прокручивается в своем отверстии, даже не пытаясь прихватиться. Выкрутив их, я слегка прифигел — эти болты, на которые идет довольно серьезная нагрузка, были такой длины, что в резьбу входили всего парой-тройкой витков:
Более того — и в отверстиях резьба была нарезана всего на пару-тройку мм вглубь, дальше шли гладкие стенки. Вот тут на фото это можно увидеть:
Иначе как диверсией это не назвать 🙂
И один из болтов ожидаемо сорвал резьбу в отверстии. Ну что делать, взял в руки метчик и прорезал резьбу на всю длину обоих отверстий:
И поменял болты на более длинные. Сверху — родные болты, снизу — на которые я их заменил:
После этого все стало хорошо — ремень натянул, пластину с мотором зажал 🙂
Посмотрел на чем собрана механика станка. Двигатели по осям X/Y — шаговые NEMA-23, с энкодерами. По Y — более мощный, длиной 100 мм (без учета энкодера):
По X — длиной 65 мм:
На питателях стоят тоже NEMA-23, длиной 75 мм, но без энкодеров — для них пропуск шагов не критичен.
Ремни по X/Y очень похожи на GT2 шириной 10 мм. На питателях какие-то другие, с более крупным шагом, замкнутые:
Камеры обе — судя по всему аналоговые. Нижнюю я не разбирал, а от верхней идут три провода — питание и сигнал. Да и по другим признакам — чипы на плате камеры, отсутствие каких-либо видеоустройств в системе кроме одного устройства видеозахвата STK1160 и само наличие этого видеозахвата — все говорит об аналоговой природе камер. Впрочем, их точности вполне хватает для аккуратной установки микросхем с шагом выводов 0.5 мм, погрешность не превышает примерно 0.05 мм в худших случаях.
Для передвижения по оси Y используются круглые валы диаметром 12 мм, по оси X — профильная рельса шириной 15 мм. И там и там — каретки на шариковых линейных подшипниках. Люфт нигде не ощущается, собрано все (почти все) достаточно аккуратно и плотно.
Места для клавиатуры, мыши и монитора на столе уже не оставалось, поэтому я подставил сбоку к столу ящик от станка и расположил все это на нем. Монитор — 13-летний старичок Самсунг 17 дюймов разрешением 1280х1024 🙂 Не сказать, что очень комфортно, но в принципе, хватает и такого монитора, и места на ящике 🙂
Это временный вариант, позже я соберу отдельный стол для установщика. Вообще, для самого установщика нужен стол размерами минимум 65х65 см, это вот прям впритык. Плюс левый и задний питатели еще будут выступать за пределы стола где-то на 30 см. Я планирую сделать стол примерно 150х70 см, чтобы на нем и монитор с клавиатурой и мышью поместились, и осталось место для бумажек — схем, списков и т.п. Ну и доступ к установщику нужен с трех сторон — спереди для работы с ним, слева и сзади для замены катушек в питателях. Так что тут еще нужно будет подумать где и как ставить этот стол и из чего его собирать.
Включение
Ладно, тут все и так понятно, не в первый раз вижу этот выбор, нажал Enter и пошла загрузка винды:
Да ёмаё, продавец же обещал английский язык, неужели мне придется мучиться с китайским в винде? Но нет, слава аллаху винда оказалась на английском 🙂
Установлена Windows 7 Ultimate, активированная. Первым же делом я скачал и установил обновление до SP1 и русификатор, поэтому дальше скриншоты будут на русском 🙂 Правда, осталась одна беда — шрифты. Я привык пользоваться файловым менеджером Far — в нем править текстовые файлы, в нем же серфить каталоги. Ну не люблю я виндовый проводник и «Блокнот» 🙂 А тут Far не хочет нормально отображать нормальные шрифты. Так и не победил эту проблему, пришлось скрипя зубами пользоваться проводником и блокнотом 🙂
Информация по системе:
Изначально жесткий диск был разбит на два раздела по 15 ГБ, но обновление SP1 не захотело вставать, ругаясь на недостающие 5 ГБ на диске C:, поэтому я переразбил прямо средствами винды диск на 20 и 10 ГБ.
Софт весь был на флешке — сама программа, примеры, документация, видеоуроки, скриншоты настроек установщика и какая-то еще программная лабуда, в назначении которой я не разобрался. Скопировал программу на жесткий диск, запускаю ее… а она на китайском 🙁 Ну ведь специально обговаривал этот вопрос с продавцом и тот заверил, что все будет на английском… Причем, в видеоуроках и скриншотах настроек весь интерфейс программы на английском. Переключателя языков я так и не нашел в программе, поэтому пришлось разбираться с ней, глядя в видеоуроки и используя гугл-переводчик на смартфоне. В инете, кстати, я смог найти только на одном из форумов ссылку на старую версию программы, которая с этим станком корректно не работала.
Проблема №1 плюс разборка
Крепится плита к корпусу станка на 12 болтах, каждый из которых — на фиксаторе резьбы. К тому же все выходящие изнутри провода закреплены на элементах осей, их нужно открепить. Да и питатели нужно снимать, чтобы плиту можно было откинуть без риска что-то сломать или погнуть. Поматерившись вдоволь, я приступил к разборке. Снял питатели и открутил от плиты двигатели питателей и оси Y:
Открутил скобу, держащую жгут проводов и гибкий кабель-канал к оси X:
Открутил крепежные болты плиты и попробовал приподнять ее. Как выяснилось, откручивать двигатели и скобу было необязательно, плита и так нормально сдвигалась в сторону, длины проводов внутри хватало для этого.
Ну и разобрав, я не мог не пофотографировать внутренности 🙂
Общий вид:
Драйвера с обратной связью для осей X/Y:
Воздушные помпы, слева — вакуумная, справа наддувающая:
Выводы во внешний мир:
Плата контроллера станка. С компьютером она связана по сети Ethernet:
Плата контроллера станка чуть крупнее:
Плата датчиков и управления исполнительными механизмами, тут же, скорее всего, драйвера для моторов питателей:
Она же в другом ракурсе:
Системная плата компьютера:
Блоки питания:
Устройство видеозахвата STK1160:
Причина неработающей оси была банальна — в клеммнике драйвера не были затянуты болты на проводах питания. Затянув их, и заодно пройдясь отверткой по всем остальным клеммникам, я включил станок в разобранном виде и убедился, что теперь обе оси нормально двигаются. После чего собрал все обратно 🙂
Проблема №2
Пришлось снимать этот вал, снимать с него все катушки. Заодно разобрался как они устроены. Все оказалось просто: сами катушка на валу болтаются свободно, но в их оси просверлены по два отверстия, в которые вставлены стальные шарики, которые прижимаются к валу пружинками, а те, в свою очередь, поджимаются внутренними болтиками:
Таким образом, катушка вращается на валу с некоторым усилием, которое можно регулировать, поджимая пружинки внутренними болтиками.
Вот так вал выглядит со снятыми катушками:
Как он умудрился погнуться так сильно при целом ящике — непонятно. Но благо, он не отвечает ни за какую точность, так что достаточно было его просто выпрямить на глаз об коленку:
И все заработало 🙂
К этому моменту время было уже часа 2 ночи и я, будучи сильно не в духе от всех этих косяков, написал письмо производителю, в котором поругался на сборку станка и попросил версию программы на английском. В 5 утра я получил от него ответ в духе «дорогой друг, нам очень жаль что сборка плохая, это все транспортировка виновата» и ссылку на английскую версию 🙂 Вообще, поддержка производителя отвечает довольно быстро и по техническим моментам — достаточно полно по сути вопроса 🙂
Софт
В общем, установщик в целом заработал, даже как-то с завода настроен, давайте теперь рассмотрим программу, идущую с ним от производителя 🙂
Программа не требует установки, просто копируется в любую папку и запускается оттуда. Она состоит из одного исполняемого файла и нескольких вспомогательных:
После запуска если установщик выключен или не подключен по сети, программа выдаст предупреждение:
и предложит изменить параметры подключения:
Когда все нормально и программа подключилась к станку, появляется вот такой экран с несколькими областями:
1 — область списка компонентов с параметрами
2 — область изображения с камер
3 — текущие координаты и статус системы
4 — панель управления станком с несколькими вкладками
5 — работа с файлами и настройки
Область 1 представляет из себя таблицу компонентов и их параметров. К ней мы вернемся чуть позже 🙂
В области 2 выводится изображение с камер 🙂 Переключение между камерами во время выполнения программы происходит автоматически, в ручном режиме переключаться между ними можно двойным кликом по этой области или кликом по значку «обновить» в верхнем левом углу этой области. Верхняя камера предназначена для поиска на платах опорных точек — реперных знаков, чтобы станок мог точно определить положение платы и, соответственно, скорректировать положение каждого элемента при установке. Плата, к примеру, может быть чуть сдвинута по одной или обеим осям, она может быть чуть повернута. Но определив точное положение двух опорных точек в противоположных углах платы, станок точно определит и положение и угол платы и правильно скорректирует координаты установки компонентов. Эта же камера используется и для юстировки положения компонентов в питателях. Нижняя камера служит для точной коррекции положения компонента перед его установкой. Например, микросхема в лотке (или даже в родной ленте) может лежать со смещением и под небольшим углом. Станок берет эту микросхему, подводит его к нижней камере и по ней определяет точное смещение и угол поворота компонента. Вот, например, определение микросхемы в корпусе TQFP-64:
Внизу сразу выводятся определившиеся размеры компонента, смещение от центра по X и Y и угол поворота.
В области 3 выводятся координаты первого (левого) сопла, высота (Z), угол поворота (A) и значение вакуума (P) для каждого из двух сопел, а так же индикаторы включения вакуума на соплах, выдвинутого штырька для сдвига лент в питателе и работа моторов питателей.
Область 4 содержит несколько вкладок:
Управление выполнением программы — пуск, стоп, пауза, регулятор скорости и прогресс выполнения программы.
Ручное управление станком:
— просто стрелки — движение осей по X и Y, дублируются стрелками на клавиатуре;
— стрелки Nozzle1 и Nozzle2 — опускание и подъем сопла 1 и 2;
— HighSp — переключение режима перемещения осей, аналог кнопки DotMove/ConMove на передней панели;
— A1+/A1-/A2+/A2- — вращение сопел против или по часовой стрелке;
— Pump — включить/выключить вакуумную помпу;
— Vacuum1/Vacuum2 — включить/выключить вакуум на сопле 1 или 2;
— Strip — включить на 1 сек моторы питателей для сматывания защитной пленки;
— Prick — выдвинуть/задвинуть штырек для протаскивания ленты;
— Light — включить/выключить подсветку у нижней камеры;
Вкладка для автоматического движения осей. Здесь можно задать координаты, нажать кнопку пуск и ось сама подъедет к этим координатам.
Управление массивом плат. Можно активировать или деактивировать платы в массиве. Я слегка коснусь этого вопроса позже, в настройках.
В области 5 расположены несколько кнопок для загрузки и сохранения файлов и для настроек.
Кнопки Load и Save, как явствует из названий, загружают и сохраняют файл программы расстановки.
Кнопка Home вызывает диалог «хомления» осей. Когда станок включается, он не знает в каких координатах находится каретка, так как ее могли сдвинуть пока он был выключен. Поэтому ему для работы необходимо привязаться к положению по концевикам, чьи координаты точно известны и забиты в настройках.
Диалог имеет вот такой вид:
Индикаторы в колонках Limit+ и Limit- показывают срабатывание концевиков для осей X и Y в максимальных и минимальных координатах соответственно. Многоточие в колонке Go Home State указывает на то, что процесс хомления не был произведен. При нажатии на кнопку Run станок начинает двигать оси в максимальные координаты до срабатывания концевиков, сначала быстро, потом отъезжает чуть назад и опять наезжает на концевики уже медленно, для большей точности. После этого станок уже точно знает текущие координаты каретки и в колонке Go Home State появляются надписи Done!:
Без этой процедуры невозможно никакое автоматическое движение осей — ни выполнение программы, ни переход к питателям и т.д.
Следующая кнопка в области 5 — PCB Config — вызывает окно настройки плат. Эти настройки, в отличии от общих настроек станка, сохраняются отдельно для каждой платы в том же .csv файле, в котором хранятся и данные по компонентам.
Тут можно задать по два реперных знака для каждой из 50 возможных плат. При этом предполагается, что платы одинаковые. Такая возможность нужна, например, если Вы вставили в станок несколько одинаковых, но отдельных плат, так что точное смещение между ними неизвестно и станок в этом случае будет определять поправку по положению и углу для каждой платы.
Галочки Enable включают или отключают работу с данным реперным знаком.
(http://www.smtservice.ru/platyi/rep_znaki.php)
Эти знаки служат как раз для автоматического выравнивания плат при нанесении пасты или для установки компонентов.
Если для платы отключены оба реперных знака, то эта плата исключается из работы. Если задан только один реперный знак, то считается, что плата не имеет погрешности установки по углу и поправка вычисляется только по смещению.
Mark1 и Mark2 — координаты первого и второго реперных знаков в системе проектирования печатной платы. Например, у Вас в Пикаде (или в программе, в которой плата проектировалась) координаты левого нижнего угла платы — 0,0, а реперный знак в этом углу имеет координаты 5,6 мм. Второй реперный знак в противоположном углу имеет координаты, скажем, 40,73. Тогда в Mark1 вбиваются координаты 5 и 6, а в Mark2 — 40 и 73. Эти координаты одинаковы для всех плат в настройках — PCB1, PCB2, PCB3 и т.д.
Real1 и Real2 — это уже координаты этих же реперных знаков на реальной плате в станке. Двигая оси, камера подводится перекрестьем в центр реперного знака и нажимается кнопка Set XY, текущие координаты станка вносятся в поля Real1 или Real2.
Эту процедуру нужно провести для всех реперных знаков всех плат, установленных в станок. Потом все эти координаты сохраняются в файл проекта вместе с настройками компонентов, так что все это делается только один раз для новых плат.
Кнопки MoveTo передвигают оси так, чтобы камера оказалась над соответствующими координатами из полей Real — для проверки правильности координат реперного знака.
PageUp и PageDown листают страницы с платами. Всего можно вбить до 50 плат, как я уже упоминал.
В дальнейшем, при выполнении программы перед установкой компонентов станок проезжается камерой по координатам реперных знаков, автоматически определяет по изображению их смещение (ведь при очередной установке платы она может встать со смещением) и вносит соответствующую коррекцию в программу установки. Для этого, собственно, реперные знаки и служат 🙂
Вторая вкладка — конфигурация реперных знаков:
Группа Mark Config:
Переключатель Pattern задает поведение установщика в работе с реперными знаками.
Machine Vision — станок будет автоматически определять реперные знаки и корректировать координаты.
Manual — станок будет подводить камеру к координатам реперных знаков, но окончательную коррекцию их точного положения оставит за оператором. То есть он подведет камеру к заданным координатам очередного реперного знака, и если тот оказался смещен, оператор сам должен вручную выставить камеру точно над центром знака.
None — станок вообще не будет перед расстановкой компонентов проходиться по реперным знакам, предполагая что они находятся точно там где предполагают их координаты. Это подходит для плат, на которых допустимо смещение компонентов +-0.5 мм.
Переключатель Shape задает форму реперных знаков.
Circular — стандартный круглый реперный знак.
CircularTemplate — честно, даже не знаю 🙂
ImageTemplate — пользовательская форма реперного знака. Это может быть, в принципе, что угодно — площадка какого-то компонента, переходное отверстие, буква и т.п. Главное, чтобы оно было достаточно контрастным и уникальным в области диаметром 5-6 мм, чтобы станок по изображению мог однозначно определить его на плате.
Pause After Machine Vision говорит станку, что после того как она найдет реперную метку и нацелится на нее нужно сделать паузу и дать оператору возможность подкорректировать позицию. Это довольно полезно, когда в качестве реперных меток используются не специальные площадки, а, например, переходные отверстия. Небольшой наплыв макси на переходном резко снижает его контрастность и станок может неточно определить позицию.
Range — диаметр области обнаружения, внутри которой станок при автоматическом режиме будет искать реперный знак. Не знаю в каких единицах задается, возможно в пикселях. На изображении камеры этот размер указывается красной внутренней окружностью. Если это значение будет слишком маленьким, то при значительном смещении платы станок может не найти реперный знак, т.к. тот окажется за областью обнаружения. Если же сделать его слишком большим, то станок может принять за реперный знак соседнюю контактную площадку, попавшую внутрь области обнаружения.
Группа TemplateParam задает параметры реперного знака.
Size — размер искомого знака, например диаметр стандартного кружка.
Strength — степень совпадения с ожидаемым изображением. При меньшем значении станок будет принимать за реперный знак даже отдаленно похожие на него изображения, при большем — будет искать с максимальной похожестью.
ImageMark1 и ImageMark2 — тут можно задать свои изображения первого и второго реперных знаков для режима ImageTemplate. При нажатии кнопки Get делается снимок с камеры размером Size и этот снимок служит эталоном, станок при поиске реперных знаков будет искать именно такое изображение. Как пример — на скриншоте в качестве первого реперного знака «сфотографировано» переходное отверстие, а в качестве второго — контактная площадка с дорожкой.
Следующая вкладка — Array служит для настройки массива плат. Честно скажу — я до конца не разобрался с этой опцией, но предполагаю, что она для плат, изготавливаемых в панелях, когда смещение между платами всегда одинаковы и очень точны. Пример десяти плат в панели:
Дальше — кнопка Sys Config.
Тут содержатся общие настройки станка и системы. Эти настройки сохраняются в едином виде для всех плат. Где они хранятся — я не понял, в каталоге программы никаких конфигурационных файлов не создается. Возможно, в реестре или в каком-то пользовательском каталоге.
Здесь имеется таблица с параметрами каждой позиции питателя, несколько общих параметров для всех позиций и несколько вспомогательных инструментов.
Текущая позиция, с которой производится работа кнопками, показывается зеленой стрелкой слева.
В таблице имеются следующие параметры:
Num — порядковый номер позиции в питателе.
Width — ширина ленты в мм. Выбирается из списка доступных — 8, 12, 16 и 24. Что интересно — доступна ширина 24 мм, хотя физически в станке максимальная позиция — на 16 мм.
X, Y — координаты взятия компонента из данной позиции. То есть именно в эти координаты подъедет сопло и опустится за компонентом.
Feed — на какую длину протягивать ленту чтобы открылся очередной компонент.
PrickCorrect — коррекция значений Prick Offset именно для этой позиции. См. ниже.
CompThre — по какой яркости нижняя камера будет определять габариты и положение компонента для его точной установки. При маленьком значении нижняя камера будет принимать за часть компонента даже тусклые участки изображения, при большом — компонент будет определяться только по ярким участкам изображения.
Кнопки Page Up и Page Down листают таблицу. Всего может быть настроено до 30 позиций (хотя реальных позиций в питателях — 24 в левом и 22 в заднем).
Кнопка Vision MoveTo двигает сопло или камеру (в зависимости от положения переключателя Vision/Nozzle внизу) на координаты взятия компонента из этой позиции. Так можно точно выставлять координаты взятия компонента, прицелившись камерой и нажав кнопку Set XY:
Кнопка Set XY заносит текущие координаты в координаты текущей позиции.
Кнопка Prick MoveTo при первом нажатии двигает электромагнитный штырек к перфорации в ленте и опускает его, второе нажатие продвигает ленту на один компонент, третье нажатие двигает и опускает сопло к компоненту. То есть последовательным нажатием этой кнопки можно по шагам проверять весь процесс работы с питателем. Кнопка Reset сбрасывает этот цикл на начало и поднимает штырек или сопло если они были опущены.
Параметры Prick Offset определяет смещение электромагнитного штырька от координат компонента. Например, если координаты, по которым берется компонент, равны 100,10, а в параметрах Prick Offset вбиты значения 25, 9, то штырек будет опускаться в перфорацию ленты по координатам 125,19.
Третья вкладка — IC Stack — определяет параметры лотков с микросхемами.
Детали, которые идут не в лентах, могут быть размещены в лотках любой формы, я об этом писал выше 🙂
Принцип, по которому настраиваются конфигурации лотков — это размещение компонентов в лотках в виде матрицы с рядами и колонками. Станку указываются координаты левой верхней и правой нижней ячеек и количество рядов и колонок в лотке. Координаты остальных ячеек он рассчитывает сам.
Группа Move Mode бесполезна — переключатель в ней не работает и всегда включен на Nozzle. Может быть в будущем обновлении включат и Vision, тогда можно будет кнопкой MoveTo двигать на координаты лотка не только сопло, но и камеру 🙂
Группы IC Stack1, IC Stack2 и т.д. (до 30) — это сами лотки.
Start — координаты верхней левой ячейки в лотке.
End — координаты нижней правой ячейки.
Array — количество рядов и колонок в лотке.
Current IC — с какой ячейки начать брать компоненты. Эти значения меняются автоматически по мере того как станок забирает из лотка компоненты. Забирает он их по рядам слева направо — сначала первый ряд, потом второй и т.д. После последней ячейки он опять переходит к первой и идет по лотку заново. При закрытии программы эти значения не сохраняются и после старта программы они всегда равны 1,1.
CompThre — по какой яркости нижняя камера будет определять габариты и положение компонента для его точной установки. При маленьком значении нижняя камера будет принимать за часть компонента даже тусклые участки изображения, при большом — компонент будет определяться только по ярким участкам изображения. И если в питателях это значение уже стоит по умолчанию 50, то в лотках оно по умолчанию стоит 0, что сыграло со мной злую шутку, когда я еще не знал что это за параметр 🙂
Comment — просто комментарий для самого пользователя.
MoveTo — передвинуть сопло к первой или последней ячейке — где стоит указатель.
Set XY — установить текущие координаты для первой или последней ячейки — где стоит указатель.
Следующая вкладка — Nozzle — тут настраиваются параметры сопел.
Группа Place Blowing — mm настраивает глубину опускания сопел в разных ситуациях.
Down To PCB — к плате.
Down To Stack — к питателям.
Down To Front — к лотку для микросхем.
Down To Discard — к месту сброса плохо взятых компонентов. Станок может по степени вакуума в соплах определять плохо взятые или вообще не взятые компоненты и плохо взятые он сбрасывает в координатах, задаваемых в настройках. Туда можно подставить какую-то коробочку и ценные компоненты поставить руками или вставить опять в ленту/лоток.
Кнопка Nozzle Down служит для проверки. Она опускает сопло на расстояние активного в данный момент значения.
Nozzle Offset(X/Y) — mm — настройка смещения сопел относительно верхней камеры.
Nozzle1 Offset и Nozzle2 Offset — смещение относительно камеры левого и правого сопел соответственно.
Nozzle Vision Offset1 и Nozzle Vision Offset2 — смещение левого и правого сопел соответственно относительно нижней камеры. То есть поправка по смещению при точной коррекции положения компонента по нижней камере.
Кнопка Nozzle MoveTo двигает активное сопло в текущие координаты камеры. При втором нажатии опускает сопло, при третьем поднимает и при четвертом двигает на эту позицию опять камеру. Так можно контролировать и настраивать выставленные значения смещения. Я это делаю с помощью наклеенной на плату бумажки, на которой напечатано перекрестье (вырезал из какой-то таблицы):
Выставляю камеру точно на перекрестье:
Потом нажатием этой кнопки подвожу и опускаю сопло и смотрю чтобы оно оказалось тоже в центре перекрестья:
При необходимости корректирую значения смещения и повторяю проверку 🙂
Nozzle Delay(1/2) — ms — задержка обеих сопел в нижнем положении при взятии и установке компонентов. Это нужно чтобы разрежение в сопле успело «приклеить» к соплу компонент при взятии или отпустить при его установке. Кроме того, для более четкой установки при отключении разрежения в сопле в него подается небольшое избыточное давление, для этого в станке и стоит наддувающая помпа.
Pick Delay — задержка при взятии.
Place Delay — задержка при установке.
Дальше идет вкладка Camera, где настраиваются параметры камер.
Группа Camera1 относится к нижней камере, Camera2 — к верхней.
Camera Position — координаты камеры, чтобы станок знал куда везти компонент для его коррекции. Должны быть выставлены очень точно, так как от этого зависит точность дальнейшей установки компонента. Хотя это всегда можно подкорректировать параметрами Nozzle Vision Offset в закладке Nozzle 🙂
Distance / Pixel — масштаб изображения, сколько реальных миллиметров приходится на пиксель изображения.
Angle Offset — коррекция угла установки камеры.
Nozzle Threshold — по какой яркости будет определяться сопло. Не совсем понятная опция, учитывая, что сопла нижняя камера вообще не видит и не должна видеть.
Comp Threshold — по какой яркости будут определяться компоненты. Тоже непонятно зачем, если этот параметр настраивается для каждой позиции питателей и лотков, что и более логично и имеет более высокий приоритет при автоматической коррекции.
X/Y Offset Threshold и Angle Offset Threshold — я тоже не до конца уверен в значении этих параметров. Допустимые отклонения — вряд ли, потому что 0.2 мм по X/Y — это слишком много.
Вкладка Vacuum — настройки контроля разрежения в соплах.
Как я уже писал, станок может отслеживать взятие компонентов по степени разрежения в соплах. Если разрежение падает ниже значения Vacuum Threshold2, то станок считает, что компонент взялся криво и едет скидывать его в мусорку. Если разрежение падает ниже значения Vacuum Threshold1, то считается, что компонент вообще не взялся и станок пытается взять следующий компонент из этой позиции питателя или лотка. После пяти-шести таких попыток если они все окончились неудачей выполнение программы останавливается и станок начинает пищать.
Значения Vacuum Value показывают текущую степень разрежения на соплах.
Галочка Use Pressure Sensor включает и выключает отслеживание по разрежению. Когда она отключена, станок не обращает внимания на разрежение и будет «ставить компоненты» даже из пустых лотков или лент 🙂
Самая последняя вкладка — Other.
IP Addr, IP Port — сетевой адрес и порт станка для связи с ним.
Home X/Y — координаты при хомлении.
Discard X/Y — координаты мусорки, в которую сбрасываются неудачно взятые компоненты при включенном контроле разрежения.
X/Y Axis Scale — масштабирование осей. Если станок при заданных 200 мм проезжает 200.5 мм, то этими параметрами можно поправить такой косяк 🙂
Comp Angle Offset — даже не знаю для чего это 🙂
Is Use Autosort — станок автоматически сортирует список компонентов для оптимизации их установки.
Auto Go Home — станок время от времени сам выполняет хомление. От чего зависит в какой момент он это сделает — я так и не понял. Но не во время выполнения программы 🙂
К этому моменту можно уже показать как этот станок заработал на следующий день после его сборки и установки 🙂
Ну а на этом первая часть обзора заканчивается, так как подошел предел максимального объема текста в обзоре 🙂
Скоро на экранах часть вторая — мои ошибки со станком и описание работы станка 🙂