Перейти к содержанию
    

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Device.Rev.A_PickAndPlace.txt

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

TOP.txt

Touch_V050708_10.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

1) refdes

2) name

3) X

4) Y

5) angle

6) side

7) comments

8) chip_case

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...