KREMEN Реклама
KREMEN Реклама

Использование камеры на голове для наведения лазера: оптический прицел для лазера

chapenkov11
Идет загрузка
Загрузка
17.05.2026
184
4
Личные дневники

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

1

Изредка мне нужно изготавливать печатные платы. Сейчас использую не до конца еще обкатанную технологию засветки фоторезиста ультрафиолетовым лазером, установленным на голове 3д принтера. Лазер перед запуском программы нужно наводить на конкретную точку на текстолите, обычно это нулевая точка, у меня в нижнем левом углу. В целом ничего сложного: включаешь лазер на небольшой мощности, затем устанавливаешь его в нужной точке и вводишь в консоли G92 X0 Y0 Z0 (принудительная установка текущих координат). Пришла в голову такая мысль: а если поставить на крепление лазера камеру, и прицеливаться ей, по изображению в веб-интерфейсе? Сегодня это до конца реализовал.

В качестве камеры - дешевый китайский эндоскоп 7 мм диаметром. Для прицеливания нужно перекрестье в поле зрения камеры. Сначала сделал python скрипт, который накладывает на изображение камеры в центр кадра метку в виде перекрестья и окружности. Затем deepseek подсказал мне, как завернуть этот скрипт в systemd-сервис, который создает веб-сервер, к которому и подключается mainsail как к сетевой камере. Все работало.

Затем этот же deepseek подсказал мне, что в mainsail для веб-камеры есть встроенная функция наложения такого перекрестья на изображение. Это используется для выравнивания голов в IDEX принтерах. Это еще проще - одна галочка в настройках камеры - Nozzle crosshair.

Зеленое перекрестье мое самодельное, красное - встроенное mainsail'a.

Использование камеры на голове для наведения лазера: оптический прицел для лазера

Использование камеры на голове для наведения лазера: оптический прицел для лазера

Лазер и камера очевидно не соосны. И надо как-то перевести координаты камеры в координаты лазера. Сделал макрос.

[gcode_macro SET_LASER_COORDINATE_BY_CAM]
gcode:
  {% set X = params.X|default(0)|float %}
  {% set Y = params.Y|default(0)|float %}
  G21 ; мм
  G90 ; абсолютные координаты
  G92 X{X+1.75} Y{Y+23.75} Z0 ; установить координаты для текущей точки
  M300 P2000 ;beep
  G4 P10000 ;pause

1.75 и 23.75 это смещение лазера относительно веб-камеры на моей голове, вычисляется по месту. Например, можно выставить перекрестье на точку, затем обнулить координаты G92 X0 Y0, и передвинуть голову, чтобы лазер указывал в эту же точку. Получившиеся координаты и будут искомым смещением.

В итоге для меня это сейчас выглядит так.

Включаешь принтер, паркуешь голову, поднимаешь на фокусную высоту лазера.

Затем в веб-интерфейсе ориентируясь по камере наводишься на нужную точку

Использование камеры на голове для наведения лазера: оптический прицел для лазера

Нажимаешь на макрос установки координат, вводишь координаты (например, реперной точки при изготовлении двусторонней платы) либо оставляешь нули, нажать Send.

Использование камеры на голове для наведения лазера: оптический прицел для лазера

После этого, если ввести координаты 0,0 (либо координаты реперной точки), то лазер будет наведен четко в точку, на которую была наведена камера.

Использование камеры на голове для наведения лазера: оптический прицел для лазера

Затем можно загружать управляющую программу засветки.

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

1
Комментарии к статье
Lider 3D Реклама
Lider 3D Реклама