Страница 3 из 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.
_________________________________________________________________________
_________________________________________________________________________
Результат на данное время:
1) WhiteLinePNP by Bender (
сообщение #19).
2)Рабочее название
Figaro-pcb-pick-and-place (сообщения
#49-56)
Nick:
проект figaro на launchpad.net, теперь код хостится там(сообщение
#83).
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 15:52
2cme
sandman писал(а):... а так проще и быстрее в ручную детальки пинцетиком на пасту побросать и в духовку... (12 лет опыта в этой сфере)
Китай вам в помощь(
Вот так они трансформаторы наматуюут...).
ИМХО: Для вас, наверное, и проще, лично для меня - нет. Почему? Мне нравится создавать, находить, а делать монотонную работу - не очень (в монотонной работе слабый пол - сильнее, не зря им доверено вскармливать детей, заботится о детях, и т.д.).
С точки зрения данной темы, с монотонной работай по установке автомат/машина справится быстрее и качественне.
sandman, я понимаю что вы оцениваете данную тему согластно вашей "картины мира", вашему опыту, вашему КАПИТАЛУ, но может стоит оглянуться, может все таки появились инструменты/матеиалы/технологии/люди которые делают доступными в частности установщик компонентов smd!?... Как считаете?
p.s.
sandman писал(а):...Смысл есть собрать такой автомат, если ...
Убедительная просьба, пожалуйста, смысл/целесообразность сборки данного девайса, разработки ПО не обсуждать! (Пожалуйста, не флудите и не трольте).
Реально хотите/готовы по теме сказать/проконсульнировать/написать код/обзор того что сами делали и т.д. - пожалуйста!
(;
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 17:07
Nick
Первый основной вопрос, надо определится с входным форматом!
чем он проще тем лучше. В идеале, действительно id детали, x,y,a детали на плате.
Я сам не электронщик, чем обычно пользуются для создания плат?
как вариант, можно сделать раскладчик из простого формата, и сделать препроцессоры из любого формата в нужный.
ЗЫЫ Ясен перец, что мы не такое чудо собираем:
https://www.youtube.com/watch?v=SRu02F6AOmg
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 17:48
2cme
Nick писал(а):Первый основной вопрос, надо определится с входным форматом!
чем он проще тем лучше. В идеале, действительно id детали, x,y,a детали на плате.
Для начала можно взять формат:
Код: Выделить всё
RefDes|Type |X (mm)|Y (mm)|Side|Rotate|Value
C1 |CAP_0805 |25,95 |21,8 |Top |90 |10n
По мере разработки ПО можно будет без проблем добавить поддержку и других форматов, но на мой взгляд из приведенной выше таблице я не могу ничего убрать и добавить.
Nick писал(а):
Я сам не электронщик, чем обычно пользуются для создания плат?
как вариант, можно сделать раскладчик из простого формата, и сделать препроцессоры из любого формата в нужный.
CAD программы для разработки ПП есть много, например:
kicad;
Altium Designer(раньше был Pcad);
Eagle;
Sprint-Layout;
TopoR (русская разработка, у них просил добавить функцию которую реализуюет visolate(на тот монент не знал о этой программе), сказали что приоритетные задачи - исправление багов, и задачи в плане разработок, выходил даже на руководство, кроче сказали - болт);
DipTrace (сейчас применяю, пока устраиват, за пару часов разобрался как и что делать; файл pick and place из нее генерировал).
Для того чтобы программа знала из какого магазина брать элемент нужно будет поле "№ магазина", это поле должно заполнятся человеком, или автоматически программой (если заданы соответствующие парамеры в таблице магазинов).
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 18:39
sandman
2cme, по поводу флуда и тролльсва я уже понял, что у вас опыта достаточно ещё по ветке по обработке неровных поверхностей.
А по делу, я уже написал, что если кто то интересуется тем, как это вообще нормальным образом делается, то могу объяснить.
Nick, как уже выше было сказано, все CADы для ПП в принципе выдают одни и те же данные, которые читаются простым текстовым редактором, и дают те же "реф.детали- координата x- коордоната y- угол- тип корпуса", но в разном порядке.
Поэтому делают универсальные конвертеры, в которых ты по ходу можешь переназначить все эти параметры, что бы можно было работать с различными исходными данными. Но если речь идёт о 10-15 позициях, то в принципе можно исходник и от руки написать, нужно только координаты деталей перенять из pcb эдитора. И при создании ПП в Eagle например, нужно следить, чтобы нижний левый угол платы находился в нулевой точке. В KiCADe есть специальная примочка, которой можно референц-ноль ставить куда угодно по желанию. Ну и перерасчёт координат должен делаться для отзеркаленных по x или y (должно быть на выбор) координат нижней стороны платы. Надо наверное сначала продумать всю программную сторону, и технические возможности станка, что вообще возможно сделать самому, и потом уже переходить к проектированию самой машины. Например, как решить проблему- есть деталь на пипетке или нет? Потому что как раз для того чтобы поставить плату на установку и уйти, нужно чтобы станок мог определять такие вещи (и не только такие) сам.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 19:08
2cme
Проектировать машину не надо, за основу 3 координатник, не важно какой. Для универсальности решения на него крепится фальш-стол с магазинами как на видео, линк на который я давал выше. Захват: шаговый двигатель (четвертая ось, для поворота компонента) с закрепленным устройством захвата (или магнитным, или вакуумным). Вообще не понимаю зачем на этом зацикливаться, достаточно предусмотреть справочник/библиотеку магазинов, захватов, и т.д.
Насчет координа, в diptrace это решаемо(как и вдругих программа), можно предусмотреть и в самой программе-установщиком (в данное время на этом не стоит заморачиваться). То же можно и сказать о функции зеркаливания.
Вообще функции наращиваются в процессе, всего не предусмотришь.
p.s.
sandman писал(а):2cme, по поводу флуда и тролльсва я уже понял, что у вас опыта достаточно ещё по ветке по обработке неровных поверхностей.
Возможно вы и правы...Но результат есть (написанная инструкция Nick по моей просьбе (Семен дипломатично того...), потому что без нее проблематично настроить; тестирование инструкции и файлов в архиве, исправление ошибок; незначительная доработка), а это лучший показатель, причем от части благодоря сказанному/написанному.
Конечно легче сказать: нет времени, у меня много работы, у кого нет КАПИТАЛА - сдохните на радость КАПИТАЛА и не делайте нам конкуренции, ну и все такое в том же духе...
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 19:26
Nick
Так, прекращайте левый базар!
Мне нужен примерный файл вывода расстановки компонентов.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 19:27
2cme
Сообщение #32 (файл).
Сообщение #36-38 относительно возможных классов.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 19:28
Nick
И еще нужно придумать рабочее название

Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 19:30
sandman
Держи, это KiCADовский, если от Eagle нужен будет, могу тоже дать.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 19:33
2cme
Фигаро, figaro (по поговорке: Фигаро здесь, Фигаро там.)
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 20:00
Nick
Надо чтобы название объясняло основную функцию... но фигаро хорошо

... может что-то добавить?
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 25 мар 2012, 20:06
2cme
на твое усмотрение
(;
например можно принятую абревиатура через нижнее подчеркивание pnp (pick and place): Figаro_pnp
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 26 мар 2012, 12:04
2cme
Bender писал(а):Для начала инф. достаточно... что нибудь напишу покажу.
Получается?
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 26 мар 2012, 12:29
Nick
У меня пока вот что получилось, застрял на этапе описания фидера...
У нас должно быть два вида входных файлов, первый - плата с расположением деталек. С ней разобрались все более менее просто.
Второй - описание станка, фидеров и их состояния. Вот с этим слегка сложнее. Надо придумать удобный формат хранения данных, в котором можно описать фидер. Кстати по фидерам, какие типы мы знаем?
Касета с лентой, просто лента на столе, лента, которую можно двигать, что еще???
По фидеру, сто нужно в нем хранить:
1. его положение x,y,a. (z?)
2. текущее положение первой детали cx,cy,ca. (cz?)
3. вместимость фидера, и текущее количество деталей в фидере.
3. ссылка на функцию следующей детали с параметрами. (например сдвиг ленты, или изменение текущего cx,cy,ca)
4. ссылка на функцию refill (обновления фидера, если он закончися)
5. ???
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 26 мар 2012, 12:36
2cme
Nick пожалуйста исправь figaro-pcb-pick-and-place
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 26 мар 2012, 12:40
Nick
ок

Re: Раскладочный станок - установщик компонентов smd
Добавлено: 26 мар 2012, 14:28
dpss
Для тренировки, в качестве подопытного кролика, предлагаю проект небольшой печатной платы, полностью готовой к изготовлению и сборке. BOM находится в конце пдф со схемой. Данные для установщика в папке Coordinates. Заодно можно посмотреть, как серьезная фирма оформляет свою документацию.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 26 мар 2012, 17:41
2cme
Nick писал(а):У меня пока вот что получилось, застрял на этапе описания фидера...
Nick может для начала архитектуру ПО попробует понять/сделать.
Можно поступить по аналогии как это сделано в linuxcnc. Отдельная утилита которая "собирает" станок(подобно Stepconf Wizard- настройка порта, шаговиков, и т.д.), основная (figaro_pcb_pick_and_place) уже на онове скопонованного станка и входного файла координат компонентов создает g-code.
Во вложении приблизительная архитиктура варианта все в одном (с учетом твоих идей, вопросов), для того чтобы сделать подобно linuxcnc просто дополнительная прога с соответствующими файлами.
Как такой вариант? Может получится очень гибкая программа.
Конструктивная критика/идеии/кодинг приветствуются.
Re: Раскладочный станок - установщик компонентов smd
Добавлено: 26 мар 2012, 18:20
Nick
Примерно так все и предполагал сделать... буду писать дальше

Re: Раскладочный станок - установщик компонентов smd
Добавлено: 26 мар 2012, 18:32
sandman
dpss, с серьёзностью фирмы это не имеет ничего общего, если ты lohnbestücker, то ты рад любому заказу, и соответственно работаешь очень гибко, стараясь не обидеть потенциального заказчика.
Nick, с фидерами сложнее, есть два основных концепта- позиции фидеров строго определены производителем и имеют постоянные координаты, где пользователь может только задать какой фидер ленточный 8-12-16-24мм, трубчатый или штанга с аналогичными параметрами ширины и только треи (кассеты с процессорами) можно довольно свободно позиционировать где нибудь в одном углу, если нет автомата смены-подачи кассет. Другой концепт- у тебя есть две стороны машины, где ты сам определяешь, что где будет стоять, но потом морока с калибрированием места отбора детали... Работал и с тем и другим, первый мне нравится больше. Если определится с фидерами, то файл снаряжения (фидера) включает в себя место фидера- тип фидера-деталь- угол положения детали в ячейке. Можно ещё добовлять допуск отклонения положения детали в ячейке в градусах и процентах. Потом проходит процедура сравнения снаряжение- плата, если всё сходится, то можно работать, если нет, выскакивает ошибка...