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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

С каким интерфейсом предпочитаете работать?

Можно выбрать до 1 варианта ответа

 
 
Результаты голосования

2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

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

_________________________________________________________________________

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

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

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

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).
Последний раз редактировалось 2cme 26 июн 2012, 09:56, всего редактировалось 42 раза.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

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

Все перечислил?
Последний раз редактировалось 2cme 26 мар 2012, 20:41, всего редактировалось 3 раза.
dpss
Мастер
Сообщения: 265
Зарегистрирован: 23 фев 2012, 13:40
Репутация: 27
Контактная информация:

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

Сообщение dpss »

Возможно я не совсем точно выразил мысль. Это скорее пример, как стоит оформлять свои проекты. По поводу ленточных фидеров. Сейчас модно делать отдельные независимые фидеры интелектуальными. При установке катушки с деталями в фидер сканируется штрихкод с катушки и штрихкод с фидера и это соответствие пишется во флешку фидера или в базу данных. Каждый фидер имеет свой уникальный номер. Любой заправленный фидер можно ставить в любую машину, программа сама разберется. Минус такого подхода - возможно не оптимальная траектория перемещения монтажной головки. Плюс - хорошая защита от ошибок и пересортицы.
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

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

Сообщение sandman »

В принципе да, я тут подумал, если всё равно без видеокамер положения детали делать, то можно просто определить координаты захвата детали, дать припуск поперёк 12мм -+ от центра детали и так далее. И фидер сделать как площадку на которую клеить на двустороннюю клейкую ленту обрезки лент с деталями.
На первый взгляд примитивно, но в домашних условиях полный автоматический фидер сделать очень сложно...
Вложения
stanok.png (3067 просмотров) <a class='original' href='./download/file.php?id=4749&sid=37c92efe7d45b09c231ab50f79e4d9ad&mode=view' target=_blank>Загрузить оригинал (52.74 КБ)</a>
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

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

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

Пожалуйста давайте будет последовательны, сначала каркас (рыбу, так называется?) работающий а потом его наращивать, совершенствать, решать вопросы точности, наделение свойствами устойчивати и стабильности работы.
По архитектуре есть вопросы/предложения?
Последний раз редактировалось 2cme 26 мар 2012, 20:22, всего редактировалось 1 раз.
dpss
Мастер
Сообщения: 265
Зарегистрирован: 23 фев 2012, 13:40
Репутация: 27
Контактная информация:

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

Сообщение dpss »

Голова от JUKI 7 Констукция достаточно простая для повторения.
Вложения
JUKI.JPG (3061 просмотр) <a class='original' href='./download/file.php?id=4753&sid=37c92efe7d45b09c231ab50f79e4d9ad&mode=view' target=_blank>Загрузить оригинал (25.7 КБ)</a>
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

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

Сообщение sandman »

То есть основные детали будут на базе 8мм ленты, 1206 -PLCC2- SOT23 ?
2cme, там ещё не хватает высоты детали.
dpss, если в подвале иметь полностью укомплектованную токарку, то почему бы и нет :hehehe:
Последний раз редактировалось sandman 26 мар 2012, 20:28, всего редактировалось 1 раз.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

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

Как вам, монстры PnP? :hehehe: :beer_blow: :tongue:
Последний раз редактировалось 2cme 26 мар 2012, 22:17, всего редактировалось 2 раза.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

sandman писал(а):2cme, там ещё не хватает высоты детали.
Я предполагаю что лишнее, координаты захвата достаточно x y z.
Но если настаиваете добавляю, ок.
dpss
Мастер
Сообщения: 265
Зарегистрирован: 23 фев 2012, 13:40
Репутация: 27
Контактная информация:

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

Сообщение dpss »

sandman писал(а):То есть основные детали будут на базе 8мм ленты, 1206 -PLCC2- SOT23 ?
2cme, там ещё не хватает высоты детали.
dpss, если в подвале иметь полностью укомплектованную токарку, то почему бы и нет :hehehe:
И токарка есть, и новый HAAS VF и еще много чего.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

Нужны файлы раскладки.
Нужно только разделитель "_ " .А, то непонятно если 131,25,25 это x=131.25 или y=25.25
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 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 (и все кому безусловно интерестна данная тема) пожалуйста просматривайте переодически первое сообщение я его переодически обновляю.
Вложения
pnp.ZIP
оба файла
(832 байт) 382 скачивания
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

Проще всего такую строку парсить следующей строкой:
на питоне array = s.split() и в array будут все значения :). Также можно использовать регулярные выражения. В ручную парсить не в коем случае не советую :)!
Во многих языках есть и split и regexp, отличается только синтаксис.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

Вот файл с tab в качестве разделителя.
Nick получается?
Вложения
pick_and_place_tab.csv
(1.06 КБ) 1034 скачивания
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

По тихоньку продвигается.....
Я создал проект на launchpad.net, теперь код хостится там.
https://code.launchpad.net/~xepecine/figaro/trunk
Сейчас пытаюсь написать работу фидеров. Я думаю через 1-2 для появится что-то рабочее... А может уже сегодня вечером...
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

отличная новость!
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

2cme писал(а):Для файл smd_Vorderseite.pos (сообщение #49) применяется сивол " "(пробел(ы)).
Пробелы будут лучше всего!
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

Сообщение 2cme »

Bender писал(а):
2cme писал(а):Для файл smd_Vorderseite.pos (сообщение #49) применяется сивол " "(пробел(ы)).
Пробелы будут лучше всего!
Не сочтите за рекламу, книга: Дж.Фридл - Регулярные выражения, 3-е 2008.
Регулярные выражения очень гибкий инструмент для работы с текстом. Применительно к данной задачи, достаточно задать формат строки (содержащейся в импортируемом файле).
Bender есть успехи?
Вложения
pick_and_place_probel.csv
Не вопрос вот вариант с пробелом в качестве разделителя полей.
(1.06 КБ) 1044 скачивания
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

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

У меня есть вопросы:
1.Положение по X и Y понятно.... Подъём как ? Ось Z? или Z пустить на поворот элемента?...
2.Захват какой командой?
3.Отпускание какой командой?
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

Вернуться в «LinuxCNC»