Jump to content

    

Формат pick&place файлов

Делаю парсер pick&place файлов. Как я понял, единого стандарта нет, каждый делает как хочет.

Всвязи с этим просьба - покидайте сюда примеры p&p файлов сгенерированные с разных сапров (eagle/allegro/mentor/...), желательно с настройками либо по умолчанию, либо с тем которые по каким-то причинам используете.

 

Share this post


Link to post
Share on other sites
Делаю парсер pick&place файлов. Как я понял, единого стандарта нет, каждый делает как хочет.

Всвязи с этим просьба - покидайте сюда примеры p&p файлов сгенерированные с разных сапров (eagle/allegro/mentor/...), желательно с настройками либо по умолчанию, либо с тем которые по каким-то причинам используете.

Есть смысл спросить и тех кто "плейсерит" и на каких машинах. Под их, плейсера, программы и их требования обычно делают. Отличия есть не столь большие, но все же, топазы отличаются от фуджиков, самсунгов и тд. Тот кто готовит программу для плейсера, все равно вносит свои коррекции в соответствии с требованиями технологического цикла и рекомендаций производителя этих плейсеров. Посему pick&place файл согласуют с конкртным SMD, DIP сборщиком.

Share this post


Link to post
Share on other sites

Device.Rev.A_PickAndPlace.txt

Файл сделан в Altium Designer. Установщик у нас siplace вроде называется. Какой софт применяют не знаю.

Share this post


Link to post
Share on other sites

Тоже Альтиум. Установщики - Mirae, но в таком виде файл подойдёт на множество машин. Так же с этого файла пишется программа на АОИ Mirtec.

 

А вот это - P-CAD 2006, файл десятилетней давности. Установщики - тоже Mirae.

TOP.txt

Touch_V050708_10.txt

Share this post


Link to post
Share on other sites
Делаю парсер pick&place файлов. Как я понял, единого стандарта нет, каждый делает как хочет.

Всвязи с этим просьба - покидайте сюда примеры p&p файлов сгенерированные с разных сапров (eagle/allegro/mentor/...), желательно с настройками либо по умолчанию, либо с тем которые по каким-то причинам используете.

 

А Вы нам потом результат сможете предоставить?

Share this post


Link to post
Share on other sites

Какой смысл делать парсер для файлов установки? Для любого станка идет софт для парсинга.

Если только это не Neoden и аналоги ;)

 

Постановка задачи, как мне кажется, изначально не корректная.

Файл установки - это текстовый файл, с основными полями:

1) refdes

2) name

3) X

4) Y

5) angle

6) side

7) comments

8) chip_case

Если уж делать универсальный парсер, то он должен настраиваться, без привязки к исходному файлу.

Share this post


Link to post
Share on other sites

Как хоббийный станочек (дозатор и установщик), делаю в свободное время. Скорее для научно-исследовательских целей, для отработки алгоритмов компьютерного зрения и нейросетей.

Share this post


Link to post
Share on other sites
Как хоббийный станочек (дозатор и установщик), делаю в свободное время. Скорее для научно-исследовательских целей, для отработки алгоритмов компьютерного зрения и нейросетей.

iiv как-то рекламировал станок, что россыпью продается.

Может Вам будет проще хотя бы с него начать, чтобы часть пути съэкономить ?

Имхо путь весьма велик...а в конце вас ждет neoden и smd-taxi с этим станком из россыпи... которые втроем неплохо прикрывают все возможные выходы на рынок.

Share this post


Link to post
Share on other sites

Ну, есть smd-taxi. Прототипы на нем собираю. Но на что-то большее увы - постоянно вокруг него надо бегать и шаманить. Плюс софт проприетарный, ничего не допилишь при желании.

 

Его дербанить не хочу - прототипы быстро набить можно и хорошо.

А свой делаю больше для души так сказать, попробовать новые вещи в деле. Например, распознавание реперов с дефектами и субпиксельной точностью. Автоматическая субпиксельная калибровка камеры с помощью одного только реперного знака, определение высоты головы до сотки с помощью камеры (нужно чтоб шприц удерживать с определенным зазором), коррекция швов панорамы печатной платы из кадров, работа с global shutter камерой, корректное распознавание компонентов шижжней камерой (чтоб отличал засветы или срань на сопле от детали), попытка сделать шуструю и малоинерционную голову установщика весом 230 грамм (хотя линейные подшипники и кабель каналы прилично добавляют). Вообщем игрушки для взрослых.

Share this post


Link to post
Share on other sites
Его дербанить не хочу - прототипы быстро набить можно и хорошо.

А свой делаю больше для души так сказать, попробовать новые вещи в деле. Например, распознавание реперов с дефектами и субпиксельной точностью. Автоматическая субпиксельная калибровка камеры с помощью одного только реперного знака, определение высоты головы до сотки с помощью камеры (нужно чтоб шприц удерживать с определенным зазором), коррекция швов панорамы печатной платы из кадров

весьма много мы потратили времени и денег на эти игры. Имхо нереально точнее пикселя получить сведение кадров. А сборку полной картинки из покадровой съемки не удалось сделать и с точностью в пиксель :crying: :(. склеивание разноуровневых (== разноискаженных) картинок весьма трудный хлеб(((

 

имхо нереально в продаваемой машине (на произвольной пп) решить ни одну из поставленных Вами задач, хотя в первой итерации мы решили некоторые из них.

Потом взяли другие образцы плат - и неприятно удивились(((

 

работали над этими и смежными задачами 4 года, с нейросетями над задачами из цитаты больше года :crying: :(.

Share this post


Link to post
Share on other sites

Хм, интересно. Я конкретно задачей уточнения позиции реперов занимался дня 3 (плюс базовый алгоритмом поиска дней 5, чтоб просканировав всю плату он отличал репера от всего остального). Точность где-то 0.6 пикселя при плохих условиях, при хороших - около 0.3 пикселя. Повторяемость - 0..15-0.2 пикселя. Ее можно повысить парой методов ("читерским" проще или "правильным" дольше) но пока на этом остановился.

 

Про совмещние - делал дня 4 (один день с мыслями и архитектурой библиотеки собирался). Само совмещение получилось достаточно точное, 0.2 пикселя там точно есть. Но... оно совмещает только масштаб картинок (т.е. ошибку высоты компенсирует). Но... на него накладывается ошибка калибровки оптики (обычно в рамках +-0.3 пикселя), плюс артефакты механики станка + при вибрациях есть артефакты rolling shutter матрицы + вероятный поворот, но я его не замечал. Поэтому некоторые кадры могут по части граней быть несовмещаемы только масштабированием. При этом совмещение довольно хорошо высчитывает среднего по больнице даже при таких артефактах. На глаз при большом увеличении там точность редко вылетает за пол пикселя (замерял принудительно сдвигая картинку и сравнивая эффект - пол пикселя достаточно хорошо заметны, пиксель и все что выше уже в глаза бросается).

 

Наверняка в других условиях, на других платах/толщине фольги/цвета маски/финишном покрытии результаты уплывут или вообще перетснет работать, но на зеленом припое 18/35мкм все было четко.

Можно потестировать, есть ящик "музейных" плат, но они почти все зеленые и покрытием - припой.

 

Точность совмещения на глаз в наибольшей степени страдает из-за того что кадры сняты с разных ракурсов, соответственно тени физически немного смещены (ибо 18/35 мкм меди + толщина маски делают свое дело). Но это я корректировать не планирую.

Share this post


Link to post
Share on other sites
Наверняка в других условиях, на других платах/толщине фольги/цвета маски/финишном покрытии результаты уплывут или вообще перетснет работать, но на зеленом припое 18/35мкм все было четко.

Можно потестировать, есть ящик "музейных" плат, но они почти все зеленые и покрытием - припой.

Именно так. Много интересного вылазит на разных цветах. Самое интересное - черные платы.

 

Точность совмещения на глаз в наибольшей степени страдает из-за того что кадры сняты с разных ракурсов, соответственно тени физически немного смещены (ибо 18/35 мкм меди + толщина маски делают свое дело). Но это я корректировать не планирую.

значит до нормального света дело не дошло. понятно... Это тоже интересное упражнение.

Share this post


Link to post
Share on other sites

Свет как раз (насколько это возможно) широкоугольный и равномерный. Ибо еще до станка был опыт и уяснил что основа хорошего зрения - правильный свет, и успел наиграться в игру под названием "восстанови высоту объекта добавляя точечную засветку и анализируя разницу в картинках". Плюс, для съемки платы я остановился на варианте съемки не строго вниз, а под углом, что с одной стороны по краям кадра фокусировку размыает и градиент яркости создает, с другой тороны получаю хорошую картинку по всему кадру без черной дыры в центре. Всё кроме фокусировки программно корректирую, вполне хорошо получается восствановить. Фокусировку восстанавливать не пробовал, оно на глаз не сильно заметно и неудобств не создает.

Share this post


Link to post
Share on other sites
Свет как раз (насколько это возможно) широкоугольный и равномерный. Ибо еще до станка был опыт и уяснил что основа хорошего зрения - правильный свет, и успел наиграться в игру под названием "восстанови высоту объекта добавляя точечную засветку и анализируя разницу в картинках".

Если свет точечный, то все вообще все у Вас очень интересно. Или это только упражнение такое было, а свет все же формируется множеством источников ?

Плюс, для съемки платы я остановился на варианте съемки не строго вниз, а под углом, что с одной стороны по краям кадра фокусировку размыает и градиент яркости создает, с другой тороны получаю хорошую картинку по всему кадру без черной дыры в центре. Всё кроме фокусировки программно корректирую, вполне хорошо получается восствановить. Фокусировку восстанавливать не пробовал, оно на глаз не сильно заметно и неудобств не создает.

я просто ах. Это настолько оригинальный и незнакомый мне (да и в индустрии таких машин, ИМХО) подход... что я могу сказать только: "месье знает толк в извращениях".

Впрочем все существенно зависит от характеристик камеры и оптической системы, и выбранного для автомата алгоритма рабочего цикла: возможно при определенном сочетании параметров и уставок такой подход и окажется самым оптимальным :laughing:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this