Раскладочный станок - установщик компонентов 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 КБ) 1583 скачивания
pick_and_place_s.csv
"|" в качестве разделителя полей, результат экспорта из diptrace (исправил, были заполнены не все записи поля Value)
(1.15 КБ) 1761 скачивание

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

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

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

Сообщение wldev »

Я незнаю что такое gerber файл. Сгенерируются пож. и выставите его сюда.

Я пока вижу так:
Есть глобальная система координат(СК).
На ней указывается СК платы, СК лент и координаты элементов и отверстий.
Далее составляется таблица.
например
элемент 1(из ленты №1) поставить на плату в точку 5,10.
элемент 1(из ленты №1) поставить на плату в точку 5,15.
элемент 2(из ленты №2) поставить на плату в точку 5,25. и повернуть на 90град.

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

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

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

Вот информация о формате Gerber (RS-274X):
Gerber
Gerber Format

Мож за основу gerbv -> Исходники скачать

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

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

Сообщение wldev »

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

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

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

Вот совершенно бесмысленная плата, с точки зрения функций.
На ней просто расположены smd R и C типоразмера 1206 и 0805.
Два вида файлов сгенерированы в diptrace и сгенерированы в gerbv.
Лучше за основу взять файлы сгенерированы в gerbv.
Или лучше взять файл реального девайса?
Про коментарии не понял, что именно нужно прокоментировать?
gerber.tar.gz
(17.36 КБ) 1112 скачиваний
открываются программой gerbv
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

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

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

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

Плата одна, там слои, каждый слой - файл.
А на каком языке пишите, вы так и не ответили?
Вложения
tst.PNG (3133 просмотра) <a class='original' href='./download/file.php?id=4700&sid=6364b22b09793fb3c295bb095f44af32&mode=view' target=_blank>Загрузить оригинал (33.02 КБ)</a>
1206_0805_smd_R_C.tar.gz
Можете скачать DipTrace (доступна бесплатная версия, но есть ограничение по количеству элементов) и открыть этот файл.
(9.37 КБ) 1101 скачивание
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

2cme писал(а):А на каком языке пишите, вы так и не ответили?
С++ Qt4.80

Вот описание gerber формата
http://www.pcb.spb.ru/gerber.html

А в вашей программе, в которой генерируются gerber. Как-то задается где у вас расположены кассеты с элементами?
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

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

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

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

Сообщение wldev »

Пока разбираюсь...

А вообще раскладчики каким слоем пользуется?
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

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

Немного протупил. :oops:
DipTrace умеет такой файлик формировать pick and place(причем при формировании можно выбрать поля, разделитель полей, координаты компонента "By Component Center"/"By Component Origin"), он то что нужно:
Вложения
pick_and_place.csv
(1.06 КБ) 1089 скачиваний
Table_pick_place.PNG (3107 просмотров) <a class='original' href='./download/file.php?id=4705&sid=6364b22b09793fb3c295bb095f44af32&mode=view' target=_blank>Загрузить оригинал (42.95 КБ)</a>
Последний раз редактировалось 2cme 24 мар 2012, 09:55, всего редактировалось 1 раз.
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

О, то что надо!
А то я те файлы смотрел, и пришёл к выводу что там нужен ещё и анализатор слоя...

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

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

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

Там еще надо быть внимательным, я при первом экспорте задал разделитель ","(не очень удобно т.к. применяется для разделения разрядов в числе) но можно задать любой симфол. Желательно предусмотреть в создаваемом ПО возможность определения символа разделителя полей, при импорте файл.
pick_and_place_s.csv
(1.06 КБ) 1046 скачиваний
символ "|" в качестве разделителя полей.
Вложения
Это окно для задания сепаратора
Это окно для задания сепаратора
separator.PNG (2.68 КБ) 3103 просмотра
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

2cme писал(а):Для начала вид (тип) магазинов как на видео в #12 сообщении, ок?
Давайте так...

На видео:
1. он берёт элемент
2. ставит его
3. прижимает ленту к низу и двигает её?
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

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

Может такой цикл:
1. С высоты безопастности двигается к магазину;
2. Предполагается что изначально в ленте первая ячейка пустая(примечание), поэтому, сдвигает ленту на один шаг (шаг размещения элеметов в ленте);
3. Захватывает элемент;
4. Выходит на высоту безопастности;
5. Двигается к месту установки;
6. Устанавливает элемент;
7. Выходит на высоту безопастности.

Примечание:
- первый элемент всетаки не пустой, но при этом программа это должна учитывать, при захвате первого элемента из магазина и не выполнять сдвиг ленты на шаг;
- при устировке магазинов, выполняется уточнение координат захвата, выполняется юстировка ленты в магазине. Причем наверное конструкционно надо предусмотреть чтобы лента в магазине фиксировалась дискретно (хотя может и лишнее), при сдвиге.
- сдвиг выполнять по тех отверстию, или отверстию от места смд (как на видео выше).
Последний раз редактировалось 2cme 24 мар 2012, 13:21, всего редактировалось 2 раза.
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

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

Сообщение wldev »

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

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

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

Nick писал(а):Как я вижу общую схему программы:

Класс плата:
Функции
  • прочитать расположение компонентов
  • создать список компонентов
  • выполнить расстановку
Параметры
  • положение
  • слой?
Класс деталь:
Функиции:
  • Взять
  • Положить
  • Юстировать
  • Магазин
    Параметры
В каком виде в gbr хранится описание компонентов? Есть ли открытые библиотеки для чтения gbr?
Может так:
- Класс pnp (pic and place, то есть устройтсво захвата);
- Класс shop (магазин);
- Класс pcb (плата).

Класс pcb:
Параметры:
  • Координаты нуля платы;
  • Габариты платы;
  • Поворот платы;
  • Высота безопастности;
  • Информация о smd элементов (Кординаты, тип, поворот, и т.д.);
Класс shop (магазин):
Параметры:
  • Тип магазина;
  • Координаты для захвата элемента;
  • Параметры для получения следующего элемента;
  • Высота безопастности;
Функции (могут быть, а могут не быть, зависит от типа магазина):
  • Выполнить подачу элемета (то есть выполнить шаг);
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

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

Класс pnp:
Параметры:
  • Тип захвата;
  • Скорость перемещения;
  • Скорость получения и установки зхватом элемента;
  • Высота безопастности;
  • Тип юстировки;
Функции (могут быть, а могут не быть, зависит от типа магазина):
  • Перемещине к магазину;
  • "Шагнуть" магазин;
  • Захват элемента из магазина;
  • Перемещине к месту установки;
  • Установка элемента;
  • Выйти на высоту безопастности;
  • Юстировать магазин/плату;
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

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

И наверное должен быть класс который выполняет основную работу по согласовалию всех элементов и генерации g-code.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

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

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

Вот нашел http://code.google.com/p/openpnp/ только пока не получается запустить.
sandman
Мастер
Сообщения: 257
Зарегистрирован: 31 мар 2011, 19:09
Репутация: 19
Откуда: Германия, Horb am Neckar
Контактная информация:

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

Сообщение sandman »

Привет, прочитал и улыбнулся... :D
Сам работаю на таких машинах... Смысл есть собрать такой автомат, если есть капитал на железо и вероятность зарабатывать этим деньги, а так проще и быстрее в ручную детальки пинцетиком на пасту побросать и в духовку... (12 лет опыта в этой сфере)
Велосипед изобретать не нужно.
Что имеется?
Каждая CAD программа выдаёт файл координат smd деталей, например Eagle имеет такое mountsmd.ulp, которое выдаёт файлы xx.mnt и xx.mnb- одно для топ, другое для боттом стороны в формате "деталь- координата x- координата y- угол поворота °- тип корпуса"
Каждый автомат имеет свой конвертер, который проверяет каждую строчку исходного файла и в итоге выдаёт конечный файл платы с координатами деталей, корректирующими марками и т.д
потом уже у каждого производителя своё, но в принципе похоже. Фидера (магазины) делятся на ленточные, трубчатые и кассетные.
Создаётся библиотека корпусов, к которым дефинируют фидера, и тогда проще создавать новые библиотеки деталей.
Потом происходит следующее: Создаётся задание, где берётся уже готовый файл платы с координатами, к нему "подключается" файл фидеров для этой платы, он тоже создаётся заранее, и можно начинать работать...
Если кому интересно, могу по подробнее... И без контроля поворота пипетки-детали будет тошно потом, при проверке и корректировке готовой платы...
Ответить

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