Страница 2 из 10
Раскладочный станок - установщик компонентов smd
Добавлено: 22 мар 2012, 08:36
2cme
Здравствуйте.
Раскладочный станок - установщик компонентов smd на основе LinuxCNC?
Софта вообще нигде не нашел. Атак хочется чтоб "мечта идиота" сбылась: зарядил магазины, нажал кнопку, и счастье "лентяя-автоматизатора-рационизатора" (;
_________________________________________________________________________
ТЗ
(для просмотра содержимого нажмите на ссылку)...в процессе...
1. Формат файла с данными о расположении элементов на плате (1206, 0805)
- pick_and_place_tab.csv
- "tab" в качестве разделителя полей, результат экспорта из diptrace (исправил, были заполнены не все записи поля Value)
- (1.15 КБ) 1634 скачивания
- pick_and_place_s.csv
- "|" в качестве разделителя полей, результат экспорта из diptrace (исправил, были заполнены не все записи поля Value)
- (1.15 КБ) 1814 скачиваний
Код: Выделить всё
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.
_________________________________________________________________________
_________________________________________________________________________
Результат на данное время:
1) WhiteLinePNP by Bender (
сообщение #19).
2)Рабочее название
Figaro-pcb-pick-and-place (сообщения
#49-56)
Nick:
проект figaro на launchpad.net, теперь код хостится там(сообщение
#83).
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 23 мар 2012, 13:55
wldev
Я незнаю что такое gerber файл. Сгенерируются пож. и выставите его сюда.
Я пока вижу так:
Есть глобальная система координат(СК).
На ней указывается СК платы, СК лент и координаты элементов и отверстий.
Далее составляется таблица.
например
элемент 1(из ленты №1) поставить на плату в точку 5,10.
элемент 1(из ленты №1) поставить на плату в точку 5,15.
элемент 2(из ленты №2) поставить на плату в точку 5,25. и повернуть на 90град.
Либо брать её из файла, просто надо посмотреть что там пишется...
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 23 мар 2012, 14:05
2cme
Вот информация о формате Gerber (RS-274X):
Gerber
Gerber Format
Мож за основу
gerbv ->
Исходники скачать
Подопытный файл который за основу можно взять выложу позже, уточнение для начала можно ограничится smd резисторами и кондерами типоразмера 1206 или 0805.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 23 мар 2012, 14:23
wldev
Жду подопытный файл... И если можете напишите в нём свои комментарии после "//".
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 23 мар 2012, 15:00
2cme
Вот совершенно бесмысленная плата, с точки зрения функций.
На ней просто расположены smd R и C типоразмера 1206 и 0805.
Два вида файлов сгенерированы в diptrace и сгенерированы в gerbv.
Лучше за основу взять файлы сгенерированы в gerbv.
Или лучше взять файл реального девайса?
Про коментарии не понял, что именно нужно прокоментировать?
открываются программой gerbv
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 23 мар 2012, 17:11
wldev
Если можно ещё фото или скриншот. Плат которые содержатся в архивах.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 23 мар 2012, 17:17
2cme
Плата одна, там слои, каждый слой - файл.
А на каком языке пишите, вы так и не ответили?
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 23 мар 2012, 17:25
wldev
2cme писал(а):А на каком языке пишите, вы так и не ответили?
С++ Qt4.80
Вот описание gerber формата
http://www.pcb.spb.ru/gerber.html
А в вашей программе, в которой генерируются gerber. Как-то задается где у вас расположены кассеты с элементами?
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 23 мар 2012, 23:35
2cme
to Bender
Файл какого слоя решили взять для определения координат smd элемента?
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 24 мар 2012, 04:59
wldev
Пока разбираюсь...
А вообще раскладчики каким слоем пользуется?
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 24 мар 2012, 08:52
2cme
Немного протупил.
DipTrace умеет такой файлик формировать
pick and place(причем при формировании можно выбрать поля, разделитель полей, координаты компонента "By Component Center"/"By Component Origin"), он то что нужно:
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 24 мар 2012, 09:35
wldev
О, то что надо!
А то я те файлы смотрел, и пришёл к выводу что там нужен ещё и анализатор слоя...
А так все вроде норм!
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 24 мар 2012, 09:43
2cme
Там еще надо быть внимательным, я при первом экспорте задал разделитель ","(не очень удобно т.к. применяется для разделения разрядов в числе) но можно задать любой симфол. Желательно предусмотреть в создаваемом ПО возможность определения символа разделителя полей, при импорте файл.
символ "|" в качестве разделителя полей.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 24 мар 2012, 10:03
wldev
2cme писал(а):Для начала вид (тип) магазинов как на видео в #12 сообщении, ок?
Давайте так...
На видео:
1. он берёт элемент
2. ставит его
3. прижимает ленту к низу и двигает её?
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 24 мар 2012, 10:13
2cme
Может такой цикл:
1. С высоты безопастности двигается к магазину;
2. Предполагается что изначально в ленте первая ячейка пустая(примечание), поэтому, сдвигает ленту на один шаг (шаг размещения элеметов в ленте);
3. Захватывает элемент;
4. Выходит на высоту безопастности;
5. Двигается к месту установки;
6. Устанавливает элемент;
7. Выходит на высоту безопастности.
Примечание:
- первый элемент всетаки не пустой, но при этом программа это должна учитывать, при захвате первого элемента из магазина и не выполнять сдвиг ленты на шаг;
- при устировке магазинов, выполняется уточнение координат захвата, выполняется юстировка ленты в магазине. Причем наверное конструкционно надо предусмотреть чтобы лента в магазине фиксировалась дискретно (хотя может и лишнее), при сдвиге.
- сдвиг выполнять по тех отверстию, или отверстию от места смд (как на видео выше).
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 24 мар 2012, 10:45
wldev
Для начала инф. достаточно... что нибудь напишу покажу.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 08:58
2cme
Nick писал(а):Как я вижу общую схему программы:
Класс плата:
Функции
- прочитать расположение компонентов
- создать список компонентов
- выполнить расстановку
Параметры
Класс деталь:
Функиции:
- Взять
- Положить
- Юстировать
- Магазин
Параметры
В каком виде в gbr хранится описание компонентов? Есть ли открытые библиотеки для чтения gbr?
Может так:
-
Класс pnp (pic and place, то есть устройтсво захвата);
-
Класс shop (магазин);
-
Класс pcb (плата).
Класс pcb:
Параметры:
- Координаты нуля платы;
- Габариты платы;
- Поворот платы;
- Высота безопастности;
- Информация о smd элементов (Кординаты, тип, поворот, и т.д.);
Класс shop (магазин):
Параметры:
- Тип магазина;
- Координаты для захвата элемента;
- Параметры для получения следующего элемента;
- Высота безопастности;
Функции (могут быть, а могут не быть, зависит от типа магазина):
- Выполнить подачу элемета (то есть выполнить шаг);
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 09:37
2cme
Класс pnp:
Параметры:
- Тип захвата;
- Скорость перемещения;
- Скорость получения и установки зхватом элемента;
- Высота безопастности;
- Тип юстировки;
Функции (могут быть, а могут не быть, зависит от типа магазина):
- Перемещине к магазину;
- "Шагнуть" магазин;
- Захват элемента из магазина;
- Перемещине к месту установки;
- Установка элемента;
- Выйти на высоту безопастности;
- Юстировать магазин/плату;
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 09:39
2cme
И наверное должен быть класс который выполняет основную работу по согласовалию всех элементов и генерации g-code.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 12:20
2cme
Вот нашел
http://code.google.com/p/openpnp/ только пока не получается запустить.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 15:00
sandman
Привет, прочитал и улыбнулся...
Сам работаю на таких машинах... Смысл есть собрать такой автомат, если есть капитал на железо и вероятность зарабатывать этим деньги, а так проще и быстрее в ручную детальки пинцетиком на пасту побросать и в духовку... (12 лет опыта в этой сфере)
Велосипед изобретать не нужно.
Что имеется?
Каждая CAD программа выдаёт файл координат smd деталей, например Eagle имеет такое mountsmd.ulp, которое выдаёт файлы xx.mnt и xx.mnb- одно для топ, другое для боттом стороны в формате "деталь- координата x- координата y- угол поворота °- тип корпуса"
Каждый автомат имеет свой конвертер, который проверяет каждую строчку исходного файла и в итоге выдаёт конечный файл платы с координатами деталей, корректирующими марками и т.д
потом уже у каждого производителя своё, но в принципе похоже. Фидера (магазины) делятся на ленточные, трубчатые и кассетные.
Создаётся библиотека корпусов, к которым дефинируют фидера, и тогда проще создавать новые библиотеки деталей.
Потом происходит следующее: Создаётся задание, где берётся уже готовый файл платы с координатами, к нему "подключается" файл фидеров для этой платы, он тоже создаётся заранее, и можно начинать работать...
Если кому интересно, могу по подробнее... И без контроля поворота пипетки-детали будет тошно потом, при проверке и корректировке готовой платы...