Мы не выравниваем железо — мы выравниваем реальность: как превратить любой лазерный гравер в прецизионный фотоплоттер. DIY.. DIY. DIY или Сделай сам.. DIY. DIY или Сделай сам. Gerber.. DIY. DIY или Сделай сам. Gerber. LPP.. DIY. DIY или Сделай сам. Gerber. LPP. python.. DIY. DIY или Сделай сам. Gerber. LPP. python. stm32.. DIY. DIY или Сделай сам. Gerber. LPP. python. stm32. Алгоритмы.. DIY. DIY или Сделай сам. Gerber. LPP. python. stm32. Алгоритмы. Компьютерное железо.. DIY. DIY или Сделай сам. Gerber. LPP. python. stm32. Алгоритмы. Компьютерное железо. компьютерное зрение.. DIY. DIY или Сделай сам. Gerber. LPP. python. stm32. Алгоритмы. Компьютерное железо. компьютерное зрение. лазерный гравер.. DIY. DIY или Сделай сам. Gerber. LPP. python. stm32. Алгоритмы. Компьютерное железо. компьютерное зрение. лазерный гравер. печатные платы.. DIY. DIY или Сделай сам. Gerber. LPP. python. stm32. Алгоритмы. Компьютерное железо. компьютерное зрение. лазерный гравер. печатные платы. Программирование микроконтроллеров.. DIY. DIY или Сделай сам. Gerber. LPP. python. stm32. Алгоритмы. Компьютерное железо. компьютерное зрение. лазерный гравер. печатные платы. Программирование микроконтроллеров. робототехника.. DIY. DIY или Сделай сам. Gerber. LPP. python. stm32. Алгоритмы. Компьютерное железо. компьютерное зрение. лазерный гравер. печатные платы. Программирование микроконтроллеров. робототехника. фотоплоттер.

Если вы хоть раз пытались сделать печатную плату сложнее «мигалки на светодиоде», вы знаете цену «геометрического ада».

ЛУТ (лазерно-утюжная технология) — это лотерея. Классический фотометод требует идеального шаблона, а профессиональный фотоплоттер стоит как подержанный автомобиль. Казалось бы, решение на поверхности: взять доступный китайский лазерный гравер за $100 и вперёд. Но тут начинается новый «ад»: оси изначально кривые, реальный шаг моторов живёт своей жизнью, а заготовка почти всегда лежит на столе с перекосом в пару градусов. Малейшее отклонение — и прецизионный Gerber превращается в бесполезный кусок текстолита.

Я решил эту проблему иначе. Зачем часами юстировать механику, если можно переложить всё на математику и нейросети?

Представляю LPP-Laser — флагманское направление открытой модульной платформы LPP (Linear Path Platform). Система не требует от станка совершенства. Она просто «натягивает» ваш проект на реальность.

Ключевая идея: мы не выравниваем станок — мы выравниваем изображение под станок.

Сначала — результат. Вот полный цикл: от загрузки Gerber-файла до протравленной платы.

▶ Полный цикл — от Gerber до протравленной платы Смотреть на RuTube ~4 мин


Что такое LPP: платформа, а не просто утилита

LPP — это не программа для печати плат. Это открытая модульная платформа с полностью прозрачным стеком разработки: схемы, печатные платы, прошивки и исходный код.

Сейчас активно развиваются два направления:

  • LPP-Laser — точная лазерная засветка фотошаблонов печатных плат. Это основное и текущее направление.

  • LPP-CNC — управление ЧПУ-механикой: фрезеровка, сверление, гравировка. Задел на будущее, который уже заложен в архитектуру.

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


Философия: математика вместо отвёртки

Традиционный подход в ЧПУ — «загнать станок в нули». Потратить часы на юстировку, добиться перпендикулярности осей, компенсировать люфты. Наш подход: станок может быть любым.

LPP считывает реальное положение платы по трём контрольным точкам через видеоприцел, вычисляет поворот (rotation), масштаб (scale) и перекос (skew) механики. Затем система выполняет аффинную трансформацию итогового растра: вычисляется матрица преобразования, которая «натягивает» идеальные координаты проекта на искажённую геометрию реальной физической заготовки.

Даже если плата лежит под углом, а ось Y тянет левее — линии ложатся точно. Мы не боремся с кривизной осей, мы делаем её частью уравнения.


Слой 1: Железо — свобода «чистого листа»

LPP — это максимально всеядная платформа. Вы не подстраиваетесь под систему — система подстраивается под ваше железо:

  • Любая механика: ременная передача для скорости или винтовая для точности — сами выбираете баланс.

  • Любые моторы: от классических шаговиков NEMA17 до коллекторных или BLDC с энкодерами. На последних скорость печати достигает 1 м/с и более.

  • Любой лазер: от промышленного 20 Вт до китайской выжигалки 1 Вт с AliExpress.

  • На CNC: достаточно прикрепить лазер и камеру к оси X.

Прошивка уже скомпилирована и полностью адаптирована под народные STM32: F103, F401, F411, G431 (Green / Blue / Black Pill).

FULL и LITE: система подстраивается и под ваш компьютер

При первом запуске LPP предлагает два режима, и от выбранного режима загружает соответствующий набор модулей.

FULL Mode — для мощных машин, рабочих станций, современных многоядерных процессоров. Подтягивает весь «тяжёлый фарш»: нейросети, сложные алгоритмы Computer Vision, многопоточную обработку данных для максимальной скорости.

LITE Mode — для старых ПК, слабых ноутбуков и промышленных «калькуляторов» (1 ядро, 1 ГБ RAM). Загружает лёгкие модули и упрощённые алгоритмы. Минимальная нагрузка. Полетит даже на самом слабом железе.

Философия та же: не вы подстраиваетесь под систему — система подстраивается под вас. На любом железе и под любую операционку.

LPP запускается на Linux (Kali, Ubuntu, Fedora), Windows 10 и Windows 7 — без изменений в логике ядра. В этом же видео показан запуск setup_lpp.sh — скрипта, который автоматически настраивает udev-правила для USB, подтягивает библиотеки и создаёт ярлыки. Один запуск — система готова.

▶ Кроссплатформенность — запуск на Linux, Windows 7 и 10 Смотреть на RuTube ~4 мин

Конфигурация в стиле FPGA

Это, пожалуй, главная инженерная «фишка» прошивки. Обычная прошивка контроллера жёстко диктует: этот пин — Step, этот — Dir. Перекинуть провод — перекомпилируй. В LPP мы реализовали другой принцип.

После старта контроллер представляет собой просто набор доступных портов — «чистый лист». Все функции пинов, параметры таймеров и каналы DMA назначаются с хоста в момент инициализации через динамические дескрипторы. Хотите переключить Step/Dir на другой разъём или добавить датчик — просто меняете конфиг в управляющем софте. Без перекомпиляции прошивки. Без паяльника.

Имея на руках открытый SDK, можно буквально за сутки адаптировать систему под любой другой чип семейства ST, а при наличии опыта — и под другие архитектуры.


Слой 2: Интеллект — зрение для лазера

LPP — это не тупой плеер G-кодов. Это система с полноценной обратной связью, где цифровой проект встречается с реальным железом через умный мост. И здесь кроется ещё один ответ на вопрос «почему растр, а не G-code».

Растровое представление позволяет:

  1. Предварительно трансформировать все слои проекта в единый массив данных.

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

  3. Компенсировать искажения механики на уровне пикселей — то, что практически невозможно реализовать через G-code.

Двойная точность: нейросеть + собственный алгоритм центровки

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

1. Видео (реальность) — нейросетевой захват

В окне видеопотока работает YOLOv8-Nano. Нейросеть в реальном времени сканирует кадр, отмечает все найденные сверловки квадратами и показывает процент уверенности для каждой. При нажатии кнопки «авто центр» ближайшая сверловка автоматически центрируется по центру кадра. Даже если плата залита флюсом, бликует или лежит в тени.

Важный нюанс: модель обучена всего на ~100 примерах (при норме в 10 000) и уже даёт стабильный результат в жёстких условиях. Причём модель не «зашита навсегда» — вы можете дообучить её под свои платы с нестандартной топологией, используя собственные датасеты и облачное обучение.

2. Gerber (идеал) — собственный алгоритм центровки

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

Сначала мы попробовали классический алгоритм Хафа — стандарт для поиска окружностей в компьютерном зрении. Он оказался недостаточно гибким: хорошо работает только с идеальными кругами, а реальные пады в Gerber далеко не всегда таковы. Рассматривали нейросети — но это было бы избыточно для задачи поиска геометрического центра в растре. В итоге реализовали собственный алгоритм, который уверенно распознаёт пады с минимальным количеством ошибок и доведён почти до предельной точности.

Вот как выглядит debug-режим — система показывает, как именно она «видит» каждый пад:

Debug-режим: визуализация процесса поиска центра каждого пада в Gerber-файле.
Зеленый круг это найденный самый ближний к центру пад Желтый крестик это где кликнули то есть ищем.

Мы не выравниваем железо — мы выравниваем реальность: как превратить любой лазерный гравер в прецизионный фотоплоттер - 1
Мы не выравниваем железо — мы выравниваем реальность: как превратить любой лазерный гравер в прецизионный фотоплоттер - 2

▶ Автокоррекция курсора в растровом режиме Смотреть на RuTube ~2 мин

Результат: система совмещает «грязную» реальность из камеры с «идеальным» проектом. Это даёт точность, недоступную при ручном наведении.

Макровиктор: финальный аккорд перед печатью

Главный страх инженера — нажать «Старт» и понять, что промахнулся. В LPP есть режим Макровиктор.

Программа накладывает виртуальный Gerber-слой прямо на живое видео с камеры. Система работает в обе стороны: кликаете по плате в интерфейсе — станок перемещается в эту точку, двигаете каретку вручную — положение сразу отображается на экране. Вы видите, куда именно ударит лазер, до каждого пикселя, ещё до того как нажали «Старт».

▶ Синхронное управление и визуальный контроль Смотреть на RuTube · ~2 мин

Коррекция образа: финальная настройка перед печатью

После совмещения образов — последний штрих перед запуском. В LPP есть инструменты тонкой коррекции шаблона:

  • Шумы — удаление одиночных пикселей, которые могут дать артефакты при экспонировании.

  • Толщина X / Толщина Y — раздельная настройка толщины линий по осям (в пикселях, в плюс или минус).

Лазерное пятно редко бывает идеально круглым, да и механика станка может давать небольшую погрешность по одной из осей. Раздельная настройка позволяет компенсировать всё это программно: шаблон корректируется до печати — чуть сужается или расширяется по нужной оси — так что после экспонирования дорожки и контактные площадки получаются именно той геометрии, которая задана в файле.


Слой 3: Python Bridge — станок выходит в сеть

Python Bridge — это полноценная сетевая архитектура.

Единый мост берёт на себя сразу две роли: HID-мост (управление станком) и видео-мост (поток с камеры). Внутри — полноценный сниффер и декодер пакетов. Вы можете в любой момент открыть веб-интерфейс и посмотреть, что происходит «под капотом»: какие команды идут на станок, что творится с видеопотоком, где затык.

Веб-интерфейс открывается в любом браузере — на компьютере, планшете или телефоне, и работает одновременно на всех устройствах. Пока станок выполняет задачу, процесс можно наблюдать с ПК, телефона или даже вывести на телевизор с браузером в цеху. Смартфон при этом превращается в живое видеоокно в руках — можно менять ракурс и фокус камеры прямо на ходу. Запустил печать — и спокойно ушёл, например, на кухню пить чай, продолжая наблюдать за процессом со смартфона. Всё остаётся под контролем без привязки к рабочему месту.

Два интерфейса в браузере:

  • Монитор камеры и печати — видите всё то же, что и в основном приложении, с любого устройства в сети, параллельно на любом количестве устройств. А если основная программа не запущена — видеопоток с камеры можно открыть прямо из браузера, без запуска LPP.

  • Сниффер пакетов — для тех, кто хочет понять протокол или отладить интеграцию.

▶ Сниффер пакетов и веб-интерфейс Смотреть на RuTube · ~41 сек

Работа по сети: два компьютера, два роутера

На видео ниже — реальный сценарий: два Windows-компьютера соединены через Wi-Fi через два роутера. Одновременно идёт видеопоток с камеры и удалённое управление печатью — без заметных задержек.

▶ Удалённая печать по Wi-Fi через два роутера Смотреть на RuTube ~2 мин

А что насчёт Raspberry Pi?

Мост запускается и на малине — вот скриншот с реальной машины. Сразу честно: при одновременной работе видеопотока и HID-моста по сети Raspberry Pi 3B уходит на ~80% загрузки CPU.

Raspberry Pi 3B: загрузка CPU при одновременной работе видеопотока и HID-моста.

Мы не выравниваем железо — мы выравниваем реальность: как превратить любой лазерный гравер в прецизионный фотоплоттер - 3

Это важно учитывать при выборе железа для автономного узла — Pi справляется, но запас небольшой. Зато станок превращается в полноценное IoT-устройство без привязки к рабочему месту.

Linux-way

Для стабильной работы с видеозахватом в среде Linux реализована связка: Wine занимается UI и логикой, Python Bridge — потоком данных и железом. Классический «чёрный экран» Wine с драйверами видеозахвата больше не проблема.


Как это выглядит на практике: весь цикл

Забудьте о долгой калибровке механики. Реальный процесс работы выглядит так:

  1. Импорт — загружаем файлы Gerber (RS-274X/X2), Excellon или растровые изображения практически любого формата, который вы только вспомните: JPEG, PNG, BMP, TIFF, WebP, SVG, HEIC, AVIF, JPEG XL, PSD, PSB, DICOM и многие другие. Если ваш графический редактор умеет его сохранять — LPP умеет его открывать. Можно несколько файлов сразу.

  2. Слои — расставляем по Z-порядку и позиционируем по осям X/Y.

  3. Привязка — выбираем три точки на заготовке. Нейросеть находит их центры, математика вычисляет матрицу трансформации.

  4. Верификация — через Макровиктор смотрим, куда попадёт лазер. Управляем кареткой прямо мышкой в окне предпросмотра.

  5. Печать — нажимаем «Старт» и получаем результат.

На практике это сводит количество испорченных плат почти к нулю.


Итоги

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

Параметр

Что это значит

Платформа

LPP-Laser (сейчас) + LPP-CNC (в разработке)

Форматы

Gerber (X2), Excellon + любой растровый формат (JPEG, PNG, PSD, SVG, HEIC, AVIF и др.)

Моторы

Шаговые, DC, BLDC, H-мосты — любые

Скорость

1 м/с и более на BLDC или DC с энкодером

Контроллеры

STM32 F103/F401/F411/G431 (Blue/Black Pill)

Режимы

FULL (мощные ПК) и LITE (слабое железо)

Точность

Нейросеть + собственный алгоритм + видеоверификация

SDK

Открытый, адаптируется под любой контроллер

Сеть

Python Bridge — управление станком из любой точки

Linux

Полная поддержка, Wine + Python Bridge

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


▶ Полный гайд по настройке системы Смотреть на RuTube ~25 мин


Ресурсы проекта LPP

Для пользователей из России — те же каналы доступны в MAX (российский мессенджер, альтернатива Telegram):

Все видео также доступны на YouTube-канале проекта.


А вы пробовали управлять станком по сети? Расскажите в комментариях — интересно сравнить подходы.

Автор: FantasyDD

Источник