Позиционирование платы
Самый простой способ протестировать гепотизу - это сделать макет или стенд. А вот после стенда можно попробовать собрать опытный образец. И при создании плат дома, я всегда сталкивался с тем, что допуск большой.
Самый простой способ протестировать гепотизу - это сделать макет или стенд. А вот после стенда можно попробовать собрать опытный образец. И при создании плат дома, я всегда сталкивался с тем, что допуск (размер дорожек, деталей) довольно высокий и сделать плату для маленьких smd-компонентов, у меня просто не получается. На станке CNC 3018 сделать что-то аккуратное получалось срого до определенных пределов. Конечно, существуют технологии ЛУТ, но мне хотелось какой-то волшебный станок, в который я бы загружал текстолит (как в микроволновку) и на выходе получал готовую красоту. Это все фантастика!
Размер был не единственной проблемой, а ещё и то, что если снять со станка плату, то заново её установить в тоже самое место для второй процедуры не возможно. Можно почти в то же место, но это создаёт погрешность.
Я для себя выбрал процесс создания такой:
- Покраску платы чёрной матовой краской
- Сверление реперов (отверстий, по которым определяю положение платы)
- Потом гравировку лазером дорожек
- Далее переворот платы
- Гравировку дорожек с обратной стороны
- Травление двусторонней платы
- Стираю краску с платы
- Покрываю паяльной маской
- Запекаю маску
- Устанавливаю плату на станок
- Засвечиваю маску с одной стороны
- Переворачиваю и засвечиваю маску с другой стороны
- Снимаю плату и убираю незасвеченную маску
- Далее дублю маску
- Снова устанавливаю на станок, чтобы просверлить отверстия под компоненты
- Вырезаю контур платы

Среди этих пунктов снимать и снова устанавливать плату более 4х раз. И каждый раз в то же самое место установить практически не возможно. Поэтому для меня показалось самым важным решить именно задачу установки платы в то же самое место.
Как оказалось, в этом не было никакого смысла. Вместо этого лучше понимать где точно находится плата в машинных координатах и я подумал, что с этим "легко" справится камера, которую можно установить на шпиндель станка.
Решение менять .nc код для станка под текущие координаты было хорошим и дало мне 0.0316мм точности!
После 6 месяцев экспериментов, я создал систему (программу + надстройку для станка), которая позволяет делать следующее:
- Калибровать станок (просто выставлять нули по концевикам)
- Загружать в программу герберы
- Находить по камере с высокой точностью положение платы (реперов)в машинных координатах
На видео еще нет 4х кратного увеличения и автоматического перемещения до следующего реперного отверстия (это я сделал только сегодня). А еще добавил автоматический (машинное зрение) поиск центра отверстия.
В целом, даже в первых итерациях точность довольно сильно радовала. Но мне было не интересно, чтобы программа просто передавала код другим программам. Я хотел сделать, чтобы моя программа сама могла гравировать лазером, сверлить отверстия, и вырезать платы. Для этого нужно было 1) замерить точное отношение камера - лазер 2) точное отношение камера - шпиндель.
И вот тут у меня начались проблеммы. Только когда у меня всегда отношения инструменты и камеры было всегда разным я начал догадываться, что камера у меня стоит не идеально вертикально. Достаточно пол градуса, чтобы получить отклонение в десятые доли миллиметра при разных высотах камеры.
Раз есть параллакс и я никак не могу его исправить, то придётся всегда использовать одну высоту камеры. Для этого нужно иметь верхний концевик и каждый раз при переключении инстурмента всегда выставлять ноль наверху и отъезжать вниз на выбранную высоту. Её я прописал в настройках. Для лазера, кстати, высота тоже фиксированная, так как на разных высотах раный фокус пятна лазера.
Таким образом я решил проблему для обоих устройств.
После того, как я получил возможность гравировать прямо из программы я решил провести тест и создать предельно возможный коннектор для моей технологии. FPC0.5 был выбран не только из-за того, что между ножками половина миллиметра, я могу и до 0.2мм идти, но меньше я вручную не умею пока паять.
И при наложении маски я получил еще один баг - маска не сошлась падами травления. То есть математика и рассчёты кода станка были верны, но блин, не совпадает!

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

А далее, после того, как я сделал уже правильно всё, мне нужно было припаять этот разъём. Конечно, первый блин комом!
