Цифровая линейка для СО2 лазера и других станков
Пару недель назад приехал этот замечательный СО2 Лазер с трубкой на 80 Вт. Опыта с ним в работе у меня до этого не было, хотя частенько делал заказы по раскрою и гравировке на специализирующихся в этом процессе предприятиях. Освоил его за день, все оказалось довольно просто, но юстировку трубы и зеркал еще нужно делать, это не долго. Сама сборка выполнена на удивление довольно качественно, хотя я думал, что прийдется потрудиться над его доработками. Немного попрактиковавшись с разными материалами и процессами обработки разных высот, таких как сферические поверхности, где необходимо послойно от центра к краю гравировать и резать, я подумал, что не плохо было бы обзавестись электронной линейкой. И уже нашел было где купить, но вот размеры то слишком длинные, то короткие, да и корпус пилить не хотелось. Поэтому решил сделать свой вариант, и тем более все для этого было под рукой.
Финальная версия состоит из двух контроллеров Master и Slave, но прежде было много вариантов: и с одним контроллером, и с разными дисплеями, и программу я переписывал не раз используя то лазерный дальномер, то ультразвуковой. Но все эти датчики не очень точно измеряют дистанцию, когда требуются десятые или сотые миллиметра. И я вспомнил про обычный энкодер... И кстати, если использовать шаговый двигатель в качестве энкодера, - тогда можно добиться вообще даже точности до тысячных миллиметра, но в этом станке это не требуется, поэтому вывод на дисплей до десятых, хотя в программе идет пересчет до сотых.
Отвечу сразу почему контроллера два, чтобы после не отвечать в комментариях: - так надежнее! Здесь важна точность измерений на серийной работе. Все же это Arduino, многозадачность в ней не очень то идеально работает особенно при использовании OLED дисплея. Просто не справляется измерение, слежение за кнопками и отображением информации. В результате были пропуски... В работе парой один контроллер следит за энкодером и по SPI интерфейсу передает второму, который уже и выводит информацию на экран. Хорошенько протестировав я убедился в полном отсутствии пропусков шагов, поэтому и делюсь готовым решением.
Функционал:
- режимы измерений абсолютная и относительная дистанции;
- два языка пользовательского интерфейса (английский и русский);
- установка нуля;
- корректировка коэффициента (Миллиметры = шаги энкодера / коэффициент). Базовый К=7.7038 для шкива HTD 3M 16T;
- и конечно же сброс (перезагрузка).
Также контроллер запоминает последнее положение прежде чем станок будет отключен. Это происходит каждый раз после остановки вращения валов оси Z через две с половиной секунды. И не беспокойтесь о ресурсе памяти (чтение/запись), хоть у Arduino заявлено сто тысяч циклов, но я реализовал этот процесс таким образом, что запись происходит только если значение отличается от прежнего. Для чего это нужно?! - Вы включаете станок и сразу видите положение стола относительно нуля (то есть точного фокуса, который вы определили либо по столу либо по материалу).
Вот пример: вы базируете ноль на столе, берете материал толщиной к примеру 8 мм... Фокус нужно установить на средину толщины материала... Просто опускаете стол полагаясь на цифровую линейку на 4 мм. Это удобнее чем с шаблоном целиться, по крайней мере для меня.
Второй пример: 3D гравировка. Здесь конечно же послойно можно оперировать мощность/скорость/обдув, но качественнее и главное чище (без обугливания материала) получается когда каждый слой в точном фокусе лазера, да еще когда серия - эта линейка здорово выручает.
И да! Эту линейку легко можно использовать в других станках, где перемещение производится не программой а вручную, к примеру стойке для дрели и тд. Позже прикручу такую и к своей стойке с Hilda.
Схема подключения:
Как прошить Arduino здесь расписывать не стану. Наберите в Google это название и вы получите, как говорит сам Google - "Результатов: примерно 122 000 000" :)
А вот сами прошивки в архиве проекта имеются...
Инструкция как изменить коэффициент, на случай использования другого типа энкодера/шкива/ремня и тд.:
Подключаем Slave контроллер к Arduino IDE, выбираем плату в меню "Инструменты" (в моем случае Arduino PRO Mini), затем в том же меню выбираем порт по которому соединилась Arduino. открываем Serial Monitor (монитор последовательного порта). В коммандной строке вносим свой коэффициент с точкой в качестве разделителя. Как выше уже я упоминал, - в моем случае К=7.7038. После нажатия клавиши Enter - введенный коэффициент будет выведен на экран и записан в памяти контроллера. Вот собственно и все настройки :)
Ну пожалуй хватит, а то я тут уже слишком много написал,.. кто это все читает?! :) ... Но вот что важное хотел добавить: LightBurn - это просто прелесть в работе со станком. А та программа, что шла в комплекте мне не понравилась...
Как я паял и собирал цифровую линейку можно глянуть на видео:
Модель и ссылки как всегда здесь: https://go.like-it.link/n7Nif
Еще больше интересных статей
"Таблетка" для замка перчаточного ящика Toyota Camry V50/V55
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Изготовление сп...
Индустриальный высокотемпературный 3D-принтер Intamsys Pro 610 HT: примеры применения
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Кастомные ступичные заглушки.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
В этом посте хотелось бы поведать о такой...
Комментарии и вопросы
Очень круто!
Ну шуруповёртом мотать не особ...
Я не замерял точно, но очень п...
Собственно попросили распечата...
Я начинающий, странное в куре....
При печати стали появляться шв...
Здравствуйте, друзья. Сталкива...