Страница 4 из 10

Раскладочный станок - установщик компонентов smd

Добавлено: 22 мар 2012, 08:36
2cme
Здравствуйте.
Раскладочный станок - установщик компонентов smd на основе LinuxCNC?
Софта вообще нигде не нашел. Атак хочется чтоб "мечта идиота" сбылась: зарядил магазины, нажал кнопку, и счастье "лентяя-автоматизатора-рационизатора" (;

_________________________________________________________________________

ТЗ
(для просмотра содержимого нажмите на ссылку)
...в процессе...

1. Формат файла с данными о расположении элементов на плате (1206, 0805)
pick_and_place_tab.csv
"tab" в качестве разделителя полей, результат экспорта из diptrace (исправил, были заполнены не все записи поля Value)
(1.15 КБ) 1625 скачиваний
pick_and_place_s.csv
"|" в качестве разделителя полей, результат экспорта из diptrace (исправил, были заполнены не все записи поля Value)
(1.15 КБ) 1800 скачиваний

Код: Выделить всё

RefDes|Type       |X (mm)|Y (mm)|Side|Rotate|Value
C1    |CAP_0805   |25,95 |21,8  |Top |90    |10n
R1    |RES_1206   |4,95  |22    |Top |90    |1k

2. Архитектура Figaro-pcb-pick-and-place(сообщение #59)
3. Конструкция станка, подобное.
4. ИМХО: возможный вариант логики работы программы (образно; сообщение #91):
  • загружается файл PnP;
  • на основе данных из PnP формируется список фидеров с указанием параметров типоразмера и номинала для компонентов R, C, ...(из файла PnP подтягивается или оператор задает);
  • Компоненты "разбрасываются" по фидерам, из списка фидеров полученного на предыдущем шаге;
  • Уточняются типы фидеров для списка из предыдущего шага; уточняются доп. параметры фидера (расположение, ...);
  • Комплектуется станок фидерами, платой, захватом;
  • Генерится вспомогательный и основной g-code.
_________________________________________________________________________
(для просмотра содержимого нажмите на ссылку)
Ожидаемый результат: ПО для генерации g-code для подобной системы (Шаг A).
_________________________________________________________________________

Результат на данное время:
1) WhiteLinePNP by Bender (сообщение #19).

2)Рабочее название Figaro-pcb-pick-and-place (сообщения #49-56)
Nick: проект figaro на launchpad.net, теперь код хостится там(сообщение #83).

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 26 мар 2012, 19:04
2cme
Относительно фидеров, получается общее у них:
- тип детали (типоразмер, номинал элемента);
- угол положения детали (или в магазине, или относительно заранее определенной оси);
- высота детали (от sandman, сообщение #66);
- координата захвата компонента из "магазина" (или заранее жестко определена, за счет конструкционных особенностей, и не выходит за допустимые погрешности; или нужна калибровка);
- тип получения следующего элемента (делается самим фидером; делается захватом).

Все перечислил?

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 26 мар 2012, 19:39
dpss
Возможно я не совсем точно выразил мысль. Это скорее пример, как стоит оформлять свои проекты. По поводу ленточных фидеров. Сейчас модно делать отдельные независимые фидеры интелектуальными. При установке катушки с деталями в фидер сканируется штрихкод с катушки и штрихкод с фидера и это соответствие пишется во флешку фидера или в базу данных. Каждый фидер имеет свой уникальный номер. Любой заправленный фидер можно ставить в любую машину, программа сама разберется. Минус такого подхода - возможно не оптимальная траектория перемещения монтажной головки. Плюс - хорошая защита от ошибок и пересортицы.

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 26 мар 2012, 19:57
sandman
В принципе да, я тут подумал, если всё равно без видеокамер положения детали делать, то можно просто определить координаты захвата детали, дать припуск поперёк 12мм -+ от центра детали и так далее. И фидер сделать как площадку на которую клеить на двустороннюю клейкую ленту обрезки лент с деталями.
На первый взгляд примитивно, но в домашних условиях полный автоматический фидер сделать очень сложно...

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 26 мар 2012, 20:15
2cme
Общее между разными типами фидеров я перечислил выше (дополняйте/уточняйте), на основе этого можно сделать файл описания фидеров, не будет дополнений/уточнений привиду формат, ок?

Относительно фидера предлагаю пока остановится на такой конструкции.

Пожалуйста давайте будет последовательны, сначала каркас (рыбу, так называется?) работающий а потом его наращивать, совершенствать, решать вопросы точности, наделение свойствами устойчивати и стабильности работы.
По архитектуре есть вопросы/предложения?

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 26 мар 2012, 20:22
dpss
Голова от JUKI 7 Констукция достаточно простая для повторения.

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 26 мар 2012, 20:24
sandman
То есть основные детали будут на базе 8мм ленты, 1206 -PLCC2- SOT23 ?
2cme, там ещё не хватает высоты детали.
dpss, если в подвале иметь полностью укомплектованную токарку, то почему бы и нет :hehehe:

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 26 мар 2012, 20:28
2cme
Чтобы на время закрыть тему конструкции станка и сосредоточится на ПО, вот или вот отличное решение для повторения в "домашних" условиях, на днях нашел. :good:

Как вам, монстры PnP? :hehehe: :beer_blow: :tongue:

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 26 мар 2012, 20:36
2cme
sandman писал(а):2cme, там ещё не хватает высоты детали.
Я предполагаю что лишнее, координаты захвата достаточно x y z.
Но если настаиваете добавляю, ок.

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 26 мар 2012, 20:49
dpss
sandman писал(а):То есть основные детали будут на базе 8мм ленты, 1206 -PLCC2- SOT23 ?
2cme, там ещё не хватает высоты детали.
dpss, если в подвале иметь полностью укомплектованную токарку, то почему бы и нет :hehehe:
И токарка есть, и новый HAAS VF и еще много чего.

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 26 мар 2012, 22:33
2cme

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 28 мар 2012, 06:59
wldev
Нужны файлы раскладки.
Нужно только разделитель "_ " .А, то непонятно если 131,25,25 это x=131.25 или y=25.25

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 28 мар 2012, 07:41
2cme
Bender писал(а):Нужны файлы раскладки.
Нужно только разделитель "_ " .А, то непонятно если 131,25,25 это x=131.25 или y=25.25
Сообщение #32 (файл pick_and_place_s.csv, в качестве разделителя "|", нельзя применять "_"(впринцыпе можно, но алгоритм будет сложнее) т.к. уже применяется в CAP_0805, RES_1206).
Так же решаема, если в "Язык и региональные стандарты" в качестве разделителя целой и доробной части задать ".".
Вообще можно хорошо сделать чтобы при импорте в программе спрашивалось какой символ применить в качестве разделителя полей, или же в настройках программы создать данную опцию (чтобы не задавать его каждый раз при импорте).

Для файл smd_Vorderseite.pos (сообщение #49) применяется сивол " "(пробел(ы)).

Могу расписать алгоритм анализа файлов, Bender делать?
Хотя при применении регулярных выражений (не знаю в qt есть регулярные выражения) получения из файла данных решается несколькими строчками кода.

Bender (и все кому безусловно интерестна данная тема) пожалуйста просматривайте переодически первое сообщение я его переодически обновляю.

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 28 мар 2012, 09:12
Nick
Самый лучший разделитель - tab (\t), он не только разделяет, но еще и выравнивает столбцы. Также можно в качестве разделителя использовать любой символ пробела или таб.

Проще всего такую строку парсить следующей строкой:
на питоне array = s.split() и в array будут все значения :). Также можно использовать регулярные выражения. В ручную парсить не в коем случае не советую :)!
Во многих языках есть и split и regexp, отличается только синтаксис.

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 28 мар 2012, 09:25
2cme
Вот файл с tab в качестве разделителя.
Nick получается?

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 28 мар 2012, 11:10
Nick
По тихоньку продвигается.....
Я создал проект на launchpad.net, теперь код хостится там.
https://code.launchpad.net/~xepecine/figaro/trunk
Сейчас пытаюсь написать работу фидеров. Я думаю через 1-2 для появится что-то рабочее... А может уже сегодня вечером...

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 28 мар 2012, 11:17
2cme
отличная новость!

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 29 мар 2012, 14:06
wldev
2cme писал(а):Для файл smd_Vorderseite.pos (сообщение #49) применяется сивол " "(пробел(ы)).
Пробелы будут лучше всего!

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 29 мар 2012, 14:40
2cme
Bender писал(а):
2cme писал(а):Для файл smd_Vorderseite.pos (сообщение #49) применяется сивол " "(пробел(ы)).
Пробелы будут лучше всего!
Не сочтите за рекламу, книга: Дж.Фридл - Регулярные выражения, 3-е 2008.
Регулярные выражения очень гибкий инструмент для работы с текстом. Применительно к данной задачи, достаточно задать формат строки (содержащейся в импортируемом файле).
Bender есть успехи?

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 29 мар 2012, 15:26
wldev
2cme писал(а):Bender есть успехи?
В прошлое воскресенье кое-что написал (1/3). Думаю в эти выходные ещё (1/3).

У меня есть вопросы:
1.Положение по X и Y понятно.... Подъём как ? Ось Z? или Z пустить на поворот элемента?...
2.Захват какой командой?
3.Отпускание какой командой?

Re: Раскладочный станок - установщик компонентов smd

Добавлено: 29 мар 2012, 15:39
Nick
Bender писал(а):2.Захват какой командой?
3.Отпускание какой командой?
ИМХО Надо каждому компоненту совой Gкод задавать..
Z - подъем, поворот - А.