Кремень КД Реклама
Кремень КМ Реклама

Программная коррекция неортогональности осей (skew correction) при помощи пост-обработки G-Code

frostegater
Идет загрузка
Загрузка
16.06.2024
2547
12
3D-печать

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

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

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

3
Статья относится к принтерам:
PrintBox3D One

Нужен штангенциркуль.

У меня уже очень древняя машинка от компании RGT – PrintBox3D One. Компания обанкротилась и задать вопрос производителю не удаётся. Я даже нашёл его ВКонтакте и писал в личку – безрезультатно. Поэтому как православно решить вопрос с не ортогональными осями принтера по XY я не смог понять. Поэтому решил что должно быть программное решение.Сразу оговорюсь – да, я мог бы прошить на Marlin. Здесь местный уже описал как это сделать в прошивке. В Marlin есть SKEW_CORRECTION. Но производитель почему-то оставил только сильно кастомизированные исходники Sprinter. Не нашёл я и народных прошивок, а портировать было лень. Опыта у меня нет и хочется только одного – чтобы оно печатало ровно, а не новое хобби.

На просторах GitHub накопал инструмент про который на сайте ничего нет – GoSkew. Тем кто умеет читать README на английском можно дальше не читать. Переходите по ссылке и делайте.

Программа делает пост-процессинг G-Code. Исправляет только коды G0 и G1. Генерацию G3 и G4 придётся отключить. У меня всё прекрасно заработало на венде в PrusaSlicer.

Программу нужно просто скачать в разделе releases, положить в доступное место и запомнить путь.

Программная коррекция неортогональности осей (skew correction) при помощи пост-обработки G-Code

Путь узнать можно перетаскиванием exe-шника в окно cmd. Копируем путь нажатием кнопки Enter (WTF?? не устаю удивляться этому).

Программная коррекция неортогональности осей (skew correction) при помощи пост-обработки G-Code

Затем сразу подготовим интеграцию с PrusaSlicer. Забьём команду в раздел настроек "Print Settings" -> "Output options" -> "Post-processing scripts". 

"С:\Program Files\GoSkew\goskew.exe" err --xy=0 --xz=0 --yz=0; 

Программная коррекция неортогональности осей (skew correction) при помощи пост-обработки G-Code

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

Настройку можно сохранить – с нулевыми значениями программа не сделает в G-Code никаких изменений. Это была просто подготовка.

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

Берём штангенциркуль. Чтобы сэкономить вам время я вынес это вверх. Меряем грань от буквы А до буквы А и вносим данные в калькулятор на сайте калибровщика. Затем то же самое делаем от буквы B до буквы В. И так до буквы F. Очень рекомендую мерять несколько раз и вычислить цифры максимально точно, особенно если ваш кубик маленький. Нам важны даже сотые доли миллиметра. У меня всё получилось с первого раза с обычным механическим штангенциркулем.

У меня по осям ХУ оказался довольно сильный перекос, поэтому я его скорректировал. По остальным осям я оставил по нулям, так как там перекоса практически не было (точность измерений упёрлась в погрешность штангенциркуля).

Мои значения А - 64.75, В - 65.9. Калькулятор выдал значение тангенса -0.01760565, поэтому моя команда выглядит так:

"С:\Program Files\GoSkew\goskew.exe" err --xy=-0.01760565 --xz=0 --yz=0; 

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

Получаем профит и не забываем прописывать команду в каждой настройке печати. По-другому никак.

P.S. Как прописать в другие слайсеры почитайте в документации (я пользуюсь только PrusaSlicer).

P.P.S. Сработает ли на дельте – не знаю.

P.P.P.S. Есть способ с печатью треугольника. По моему опыту он даёт большую погрешность чем кубик.

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

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

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

3
Комментарии к статье