Разработка гравера для плат

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

Начал писать приложение для гравера, выжигателя, принтера плат, лазерного выжигателя и т.п. (2D)

Что в наличии:

1) 3D шилд - на ардуино мега не работает с GBRL, но это не столь важно, так как по пинам сходится, ранее писал свой скетч управления 3-мя шаговиками.(Четвертый можно запаралелить, а можно и кинуть пару проводов и использовать все 4 драйвера).

2)Ардуино 2560 Мега (есть и другие, но там пинов маловато, для дисплея и т.п.)

3) 2 шаговика биполярных помоему (блин дороговато, позжей еще два прикуплю.)

4) Да много железок.

Чего нет:

1) Готовой механики, даже деревянной. В связи с чем проверять нечем. И пишу в слепую.

 

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

Что уже проделано:

1) Небольшой шаблон.

2) Редактор изибражения.

3)Закуплены железки.

 

Далее думаю допилить: 

1) Прикрепить линейки и масштабирование более понятное и правильное.

2) Попиксельный разбор изображения.

3) Придумать свой G-Code или воспользоваться тем что стандартизирован.

4) Набросать вкладку подключение к ардуино (или стм)

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

6) да и остального много еще...

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

Если кто делал такие програмулины, может чем подскажет.

Дальнейшие продвижения буду выкладывать здесь.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Интересная тема!

Я пробовал засвечивать ЧПУ станком с лазером платы с фоторезистом, но, к сожалению, луч засвечивал не только точку, но ещё и около 2мм вокруг, поэтому нормально проявить не получалось. Управлял ЧПУ через LinuxCNC, G-код делал в ArtCam(экспортил из SLayout'a в растре, затем в ArtCam'e уже колдовал над выборкой))

axill
Offline
Зарегистрирован: 05.09.2011

Не надо свой код, используйте стандартный GCode

Можно посмотреть готовые проекты, тот же reprap, там тоже gcode и ардуино если ничего не путаю

плату вы собрались лазером выжигать? Бесперспективно

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

Yarik.Yar пишет:

Интересная тема!

Я пробовал засвечивать ЧПУ станком с лазером платы с фоторезистом, но, к сожалению, луч засвечивал не только точку, но ещё и около 2мм вокруг, поэтому нормально проявить не получалось. Управлял ЧПУ через LinuxCNC, G-код делал в ArtCam(экспортил из SLayout'a в растре, затем в ArtCam'e уже колдовал над выборкой))

 

У меня два лазера валяются, но все эти китайские погремушки рассеивают.

Найти бы у кого готовый станочек есть...

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

axill пишет:

Не надо свой код, используйте стандартный GCode

Можно посмотреть готовые проекты, тот же reprap, там тоже gcode и ардуино если ничего не путаю

плату вы собрались лазером выжигать? Бесперспективно

Нет это не конкретно для плат.

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

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

Сейчас немогу придумать как пикселы перевести в миллиметры.

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

Вот образец сохраняемых файлов из редактора.

Размеры по пикселам четко соответствуют, отправляй на принтер и на кальку. Но цель изначально другая.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Я думаю, у картинки есть разрешение и физические размеры.

Переводим размеры в миллиметры и делим разрешение по длине на размер по длине.

Или есть нюансы?

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

Yarik.Yar пишет:

Я думаю, у картинки есть разрешение и физические размеры.

Переводим размеры в миллиметры и делим разрешение по длине на размер по длине.

Или есть нюансы?

вот не разобрался. пишу на C#

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

А вот с размерами туго. Наверно на мм в данной картинке есть определенное колличество пикселов, только с расположением разобраться, так как GCode генерировать надо исходя из расположения пикселов..

Думаю нашел то самое  https://msdn.microsoft.com/ru-ru/library/system.drawing.image(v=vs.110).aspx

axill
Offline
Зарегистрирован: 05.09.2011

Если платы хотите гравировать то не забудьте про компенсатор глубины. Это такая штука которая отслеживает плату и обеспечивает точную глубину фрезеровки

без нее качество фрезеровки будет ужасным. Это только кажется, что стеклотекстолит ровный, а на самом деле смещение на десятую миллиметра это смертельно для тонких дорожек

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

axill пишет:

Если платы хотите гравировать то не забудьте про компенсатор глубины. Это такая штука которая отслеживает плату и обеспечивает точную глубину фрезеровки

без нее качество фрезеровки будет ужасным. Это только кажется, что стеклотекстолит ровный, а на самом деле смещение на десятую миллиметра это смертельно для тонких дорожек

Всмысле ? Програмно задавать миллиметры прижима фрезы?

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

Если есть идеи пишите. Просто ща на моменте писанины проще чтото внедрять. 

Перехожу к главному - разбор изображения.

Есть вопросы:

1) Надо попиксельно перебирать (по одному) или складывать с нескольких строк в зависимости от диаметра фрезы?

2) Если по несколько пикселей обьединять из верхних и нижних строк то что если они отличаются? Что делать пилить или нет.

 

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

Что нового:

1) Разобрался наконецто с попиксельным разбором

2) Колличеством точек на д.йм и прочие расчеты в миллиметрах.

3) Сделал эмуляцию работы. Попиксельно, дальше в зависимости от диаметра фрезы и т.п.

Что требуется:

1) Подкиньте простые и грамотные уроки по GBRL - как бы знаком но плохо. Ща начинаю генерировать код для станка, хочу стандартные и свои протоколы дописать.

2) Есть хоть кто, у кого есть станочек для тестирования?

axill
Offline
Зарегистрирован: 05.09.2011

p.masyukov пишет:

axill пишет:

Если платы хотите гравировать то не забудьте про компенсатор глубины. Это такая штука которая отслеживает плату и обеспечивает точную глубину фрезеровки

без нее качество фрезеровки будет ужасным. Это только кажется, что стеклотекстолит ровный, а на самом деле смещение на десятую миллиметра это смертельно для тонких дорожек

Всмысле ? Програмно задавать миллиметры прижима фрезы?

я писал про механический компенсатор, он смещает гравер обеспечивая заданное расстояние инструмента от поверхности заготовки подстраиваясь к кривизне этой поверхности

пройдитесь поиском и почитайте. Без него вы ничего путного не сделаете с гравировкой плат. Фольга всего 0.018 мм, ошибка даже на 0.1мм по глубине это смерть дорожке, даже с граверами с углом раствора 30 градусов и то такие применять не просто, быстро ломаются. Проще использовать 45 или 60 градусов, но с ними точность по глубине нужна еще лучше

я через все это проходил со своим станком. Платы для DIP корпусов делал, а вот как только взялся за SMD пришлось переходить на ЛУТ

кроме механического компенсатора слышал про еще одну рабочую идею - программная компенсация. Суть ее в том, что сначала делается сканирование поверхности щупом, составляется виртуальная модель кривизны после чего при фрезеровке вносятся корректировки. Можно и так. Но задача не тривиальная. Чем точнее модель тем больше точек сканирования = больше времени на изготовление. К тому же надо освоить довольно сложную математику по аппроксимации 3д поверхности по фиксированному числу точек

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

axill пишет:

p.masyukov пишет:

axill пишет:

Если платы хотите гравировать то не забудьте про компенсатор глубины. Это такая штука которая отслеживает плату и обеспечивает точную глубину фрезеровки

без нее качество фрезеровки будет ужасным. Это только кажется, что стеклотекстолит ровный, а на самом деле смещение на десятую миллиметра это смертельно для тонких дорожек

Всмысле ? Програмно задавать миллиметры прижима фрезы?

я писал про механический компенсатор, он смещает гравер обеспечивая заданное расстояние инструмента от поверхности заготовки подстраиваясь к кривизне этой поверхности

пройдитесь поиском и почитайте. Без него вы ничего путного не сделаете с гравировкой плат. Фольга всего 0.018 мм, ошибка даже на 0.1мм по глубине это смерть дорожке, даже с граверами с углом раствора 30 градусов и то такие применять не просто, быстро ломаются. Проще использовать 45 или 60 градусов, но с ними точность по глубине нужна еще лучше

я через все это проходил со своим станком. Платы для DIP корпусов делал, а вот как только взялся за SMD пришлось переходить на ЛУТ

кроме механического компенсатора слышал про еще одну рабочую идею - программная компенсация. Суть ее в том, что сначала делается сканирование поверхности щупом, составляется виртуальная модель кривизны после чего при фрезеровке вносятся корректировки. Можно и так. Но задача не тривиальная. Чем точнее модель тем больше точек сканирования = больше времени на изготовление. К тому же надо освоить довольно сложную математику по аппроксимации 3д поверхности по фиксированному числу точек

 

Вот как раз на SMD и задумано. Но насчет компенсации да это сложновато. тоесть я так понимаю даже мелкие углубления на плате и кирдык. Но - никто не мешает поднимать фрезу на те пол миллиметра, что и будет исключать возможность прореза лишнего.  Тоесть фреза подняласи прошла место дорожки, опустилась и в этот момент можно влепить датчик усилия и прописать этот датчик в отдельном контроллере или в самом станке.

А вот с очень тонкими платачи --- я не видел платы тоноше 0.3 мм, хотя они и есть. 

MAX3000
Offline
Зарегистрирован: 28.08.2014

Давай потестирую.