Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Разное » автоматический установщик SMT-компонентов


автоматический установщик SMT-компонентов

Сообщений 1 страница 30 из 63

1

Приветствую всех. Делаю тут тему, как я собираю установщик компонентов. Первый блин комом, так как за основу я взял имеющийся у меня китайский фрезерный станочек: 1 мм - 320 шагов. Супер точно - 0.003125мм за 1 шаг, но всё рабочее поле он проезжает, наверное, за минуту ((( руками установить компонент явно так же )) Только что очень точно )))

думаю, куски кода показать: может кому пригодится...

Файл с координатами компонентов экспортируется из сапра (я использую DipTrace), немного правится руками (потом расскажу зачем что), сохраняется на SD-карту в TXT-файл.

Код:
RefDes;Value;Name;X (mm);Y (mm);Rotate;Height (mm);Feeder
C41;22pF;CAP_0805;162.243;21.275;270;1.5;1
C45;22pF;CAP_0805;149.542;21.275;270;1.5;1
' Test
C5;0.1uF;CAP_0805;53.34;96.2;90;1.5;2
C6;0.1uF;CAP_0805;37.465;96.679;270;1.5;2
C11;0.1uF;CAP_0805;94.771;95.091;0;1.5;2
/comments
C1;1uF;CAP_0805;137.321;88.9;180;1.5;3
C2;1uF;CAP_0805;154.781;72.229;90;1.5;3

В устройстве открывается пункт создания проекта, файл читается и проверяется на достоверность данных. Вводятся координаты питателей с компонентами, высота платы, положения вакуумного захвата и скорость перемещения. Настройки сохраняются  в INI-файл на SD-карту. Выходим.

Код:
3200,41600,320,5,1280
5920,41600,320,10,1280
9120,41600,320,15,1280
12320,41600,320,20,1280
15520,41600,320,22,1280
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
5
100,200
3.428998944
10.0
2.798999306
"pp_orig.txt"


Заходим в пункт выполнения проекта, калибруем, выставляем захват на нули платы. Попёрло ))
Видео попробую добавить на Ютуб (придётся регистрироваться, заразы).

Отредактировано Александр Д. (2019-05-18 08:17:51)

+2

2

https://c.radikal.ru/c20/1905/03/16f31660ae24.jpg

https://d.radikal.ru/d32/1905/b3/b21ad20dd280.jpg

https://b.radikal.ru/b28/1905/b7/35ba8c760c51.jpg

https://d.radikal.ru/d34/1905/fd/14f27b9918eb.jpg

https://d.radikal.ru/d43/1905/28/1d722153592a.jpg

https://b.radikal.ru/b27/1905/81/177bd129d744.jpg

https://c.radikal.ru/c20/1905/eb/bf14a3340173.jpg

https://b.radikal.ru/b23/1905/72/02c7d42a083c.jpg

https://a.radikal.ru/a07/1905/f5/460723e90570.jpg

https://a.radikal.ru/a29/1905/5c/58e0e0551e6a.jpg

https://d.radikal.ru/d13/1905/ff/71a9b56986c9.jpg

https://b.radikal.ru/b26/1905/5a/15ac48dd8daa.jpg

https://b.radikal.ru/b00/1905/ae/252773b89b3e.jpg

https://b.radikal.ru/b37/1905/52/6ab3701ad57b.jpg

+1

3

Как сделаны питатели, чёт не видно.

0

4

питателей нет: компоненты на куске текстолита в крепежах.

Проекту 2 недели, думаю как раз над ними...

http://s9.uploads.ru/t/56wyb.jpg

http://s9.uploads.ru/t/zEaNU.jpg

+1

5

Александр Д. написал(а):

питателей нет: компоненты на куске текстолита в крепежах.

Думаю, не самое удачное решение.
Лента с компонентами сдвинется (не важно почему) и будет станок пустой картон целовать или, чего даже хуже - боком компоненты цеплять и расставлять... ;)

0

6

Как вариант - крепить ленты за перфорацию в них, а не за края, тогда сдвиг исключен и позиционирования будет правильным.

0

7

сейчас крепёж ленты - не самое важное. Хотя да: фидер - 90% надёжности работы установщика ))

0

8

Александр Д. написал(а):

сейчас крепёж ленты - не самое важное.

Ну мы же не знаем, на каком этапе находится разработка... ;)

0

9

Александр Д. написал(а):

за основу я взял имеющийся у меня китайский фрезерный станочек

Если не секрет - что за станочек (характеристики, ссылочку...) ;)

0

10

Александр Д. написал(а):

Первый блин комом, так как за основу я взял имеющийся у меня китайский фрезерный станочек: 1 мм - 320 шагов. Супер точно - 0.003125мм за 1 шаг, но всё рабочее поле он проезжает, наверное, за минуту

За сколько шагов проходит все поле? Двигатели работают с микрошагом?
Контроллер как я понимаю вы свой сделали? Указанная скорость это ограничение шаговиков или контроллера?

0

11

Что-то никто не поинтересовался на счет установочной головы - это самое сложное и капризное место (куча головок/присосок, разное давление компрессора). Знаю, что говорю, в своё время на сборочных роботах/конвейере работал.

0

12

RDW написал(а):

Что-то никто не поинтересовался на счет установочной головы - это самое сложное и капризное место

Пропустили... ;)
Александр Д. в #1 сразу сказал: "Вводятся координаты питателей с компонентами, высота платы, положения вакуумного захвата и скорость перемещения."
Поэтому вопросов (пока) и не возникло.

На будущее у меня вопрос уже заготовлен: "Как будет формироваться быстрый "набор" вакуума ?"
С избыточным давлением проще - клапан поставил и практически все, а вот тут...
Разве только компрессор постоянно держать, оставив клапан только для отпускания компонента на позиции установки.

0

13

Пётр написал(а):

За сколько шагов проходит все поле?

200мм*320шагов

Пётр написал(а):

Двигатели работают с микрошагом?

да, уже не помню, что поставил зимой )
ps: 1/2 стояла. Убрал "делитель", двигается быстрее в 2 раза .
http://s7.uploads.ru/t/DrLO7.jpg

Пётр написал(а):

Контроллер как я понимаю вы свой сделали?

да, была плата под другой проект (делал для обучения, первый проект в DipTrace)
http://sh.uploads.ru/t/rC5uW.jpg
http://s9.uploads.ru/t/m2vpl.jpg

Пётр написал(а):

Указанная скорость это ограничение шаговиков или контроллера?

я так понимаю, двигателей, но могу ошибаться, так как пока нуль в этом. Как проверить?

Отредактировано Александр Д. (2019-05-18 14:09:22)

0

14

RDW написал(а):

Что-то никто не поинтересовался на счет установочной головы - это самое сложное и капризное место (куча головок/присосок, разное давление компрессора). Знаю, что говорю, в своё время на сборочных роботах/конвейере работал.


про разное давление можно побольше? я пока не понял, о чем речь...

http://s9.uploads.ru/t/Ug15X.jpg

http://s3.uploads.ru/t/1rybh.jpg

http://sd.uploads.ru/t/taGI1.jpg

http://s5.uploads.ru/t/4cLFv.jpg

0

15

Nord написал(а):

Александр Д. написал(а):

    за основу я взял имеющийся у меня китайский фрезерный станочек

Если не секрет - что за станочек (характеристики, ссылочку...) ;)

https://www.aliexpress.com/item/PCB-Mil … 7fe7LBa9Yh
такой, у него брал

+1

16

Nord написал(а):

На будущее у меня вопрос уже заготовлен: "Как будет формироваться быстрый "набор" вакуума ?"
С избыточным давлением проще - клапан поставил и практически все, а вот тут...
Разве только компрессор постоянно держать, оставив клапан только для отпускания компонента на позиции установки.

стоп, стоп! ))
я пока только первый шаг сделал, а вы мне высшие материи ))
поясните, о чем речь?

0

17

Александр Д. написал(а):

стоп, стоп! ))я пока только первый шаг сделал, а вы мне высшие материи ))поясните, о чем речь?

Про "вакуумный пинцет", который будет брать компоненты из ленты и доставлять их к позиции установки.

Кроме наличия отрицательного давления на сОпле (захват), он еще должен уметь вращаться вокруг вертикальной оси, т.к. компоненты могут устанавливаться под углом друг к другу.

После "доставки" компонента в позицию "пинцет" должен "отпустить" его (компонент).
Сделать это можно путем прерывания воздушного потока, клапаном, а не остановкой компрессора.

При этом надо еще учесть разную высоту компонентов, иначе один при "посадке" на позицию может быть раздавлен, а другой - сброшен с "высоты", что повлечет его смещение...

PS. За ссылочку спасибо !

Отредактировано Nord (2019-05-18 13:55:20)

0

18

вращаться может:  Двигатель с полым валом - ось A
опускаться тоже: есть ось Z

Клапана есть, насосы для вакуума и "вдува" есть. Высоту учитывает (берёт из файла), или задаём в настройках.

Отредактировано Александр Д. (2019-05-18 14:14:06)

0

19

Александр Д. написал(а):

вращаться может...
опускаться тоже...
Клапана есть...
Высоту учитывает

Так у вас уже все есть ! ;)

0

20

осталось за малым: весь набор компонентов превратить в изделие :)

0

21

Александр Д. написал(а):

осталось за малым: весь набор компонентов превратить в изделие

Думаю, тут как раз наоборот...
Самое малое - купить и собрать, а вот заставить работать, как положено - это все остальное, что от "малого" останется.. ;)

0

22

Александр Д. написал(а):

про разное давление можно побольше? я пока не понял, о чем речь

Это же не реле (взять отпустить), степень разряженности разная для разных поверхностей и массы элементов.

+1

23

практика покажет

0

24

RDW написал(а):

Это же не реле (взять отпустить), степень разряженности разная для разных поверхностей и массы элементов.

Для заводских условий несомненно, но для практически бытовых условий применения, думаю, можно упростить задачу и задать некий "максимально минимальный" уровень "присасывания".

0

25

Александр Д. написал(а):

200мм*320шагов

Это 64000 шагов. С учетом что проходит за минуту получается 1066 шагов в секунду. Медленно.

Александр Д. написал(а):

ps: 1/2 стояла. Убрал "делитель", двигается быстрее в 2 раза .

Даже 2132 медленно. Если движки и механика позволяют нужно стремится к нескольким десяткам тысяч в секунду.

Александр Д. написал(а):

я так понимаю, двигателей, но могу ошибаться, так как пока нуль в этом. Как проверить?

Измерьте чем-то (частотомером, осциллографом, логическим анализатором, что окажется под рукой) частоту на выводе Step драйвера. Она будет равна частоте шагов в секунду.

0

26

Пётр написал(а):

Даже 2132 медленно. Если движки и механика позволяют нужно стремится к нескольким десяткам тысяч в секунду.
Александр Д. написал(а):

    я так понимаю, двигателей, но могу ошибаться, так как пока нуль в этом. Как проверить?

Измерьте чем-то (частотомером, осциллографом, логическим анализатором, что окажется под рукой) частоту на выводе Step драйвера. Она будет равна частоте шагов в секунду.

чуть позже измерю: я пока опять станочек в фрезер превратил, так как хочу на нём вырезать детали для крепления оси А. Пока не получается выбрать оптимальную подачу, да и материала нужного прсто нет

Да, весьма медленно!

0

27

Nord написал(а):

RDW написал(а):

    Это же не реле (взять отпустить), степень разряженности разная для разных поверхностей и массы элементов.

Для заводских условий несомненно, но для практически бытовых условий применения, думаю, можно упростить задачу и задать некий "максимально минимальный" уровень "присасывания".

я так же думаю
На фото есть три "присоски", у них разные диаметры захвата. Ими можно взять от 0402 до корпуса типа soic или tqfp с весом до 8 грамм.

кстати, сапр выдаёт неверные высоты компонентов: есть адекватные, типа 1.2, 1.5, а для soic выдал аж 12мм.

но пока для меня главное это резисторы и конденсаторы в 0805, так как это 90% объёма работы.
Уж 1-5 корпусов микросхем и пяток других компонентов я и руками поставлю ))

да и в софт я заложил измерение высоты компонента непосредственно в питателе, так что, сапр не важен.

Отредактировано Александр Д. (2019-05-19 13:42:18)

0

28

Александр Д. написал(а):

да и в софт я заложил измерение высоты компонента непосредственно в питателе, так что, сапр не важен.

А не проще указать таблицей высоту и оттуда выбирать нужную ?

0

29

у меня все три варианты заложены )
посмотрю, что удобнее на практике.

ps
жду приятеля: матричные принтеры привезёт. Возьму оттуда детали типа мотора, направляющих. Хочу отдельный станочек именно для установки сделать.
Хотя реально и этот превратить, убрав винтовую передачу и сделав ремни по осям.

Отредактировано Александр Д. (2019-05-19 13:49:23)

0

30

Александр Д. написал(а):

я пока опять станочек в фрезер превратил

Как станок в качестве фрезера ?
Что может ?
В описаниях только дерево и пластик... Хотелось бы что-то потверже... ;)

0


Вы здесь » Программирование ATMEL в BASCOM. » Разное » автоматический установщик SMT-компонентов