Программная коррекция для получения точных размеров детали

Открытая прошивка RepRapFirmware
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Программная коррекция для получения точных размеров детали

Сообщение demonlibra »

Провёл серию экспериментов для определения точности печатаемых деталей.
Использовался филамент PLA от REC. Несколько замеров показали диаметр 1.75 мм.
Температура стола 50 °С
Температура HotEnd`а 210 °С
Скорость печати 30 мм/сек

Напечатал параллелепипед 20 х 20 мм с расположением под углом 90°
  • длина стороны X 19.90 - 19.95
  • длина стороны Y 19.95 - 20.00
Изображение

Напечатал параллелепипед 40 х 40 мм с расположение под углом 90°
  • длина стороны X 39.80 - 39.85
  • длина стороны Y 39.95 - 40.00
Напечатал параллелепипед 120 х 120 мм с расположение под углом 90°
  • длина стороны X 119.60 - 119.65
  • длина стороны Y 119.80 - 119.85
Инвертировал один мотор, тем самым начальная точка переместилась на противоположный угол стола и оси X/Y поменялись местами.
Результаты измерений те же. Вдоль лицевой стороны принтера сторона детали короче, чем модель.

Как видно из измерений, ошибка растёт вместе с увеличением размеров модели.

Напечатал параллелепипед 80 х 80 мм с расположение под углом 45°
В этом случае при перемещения вдоль стороны параллелепипеда работает только один мотор.
  • длина стороны перемещения от правого мотора 79.75 мм
  • длина стороны перемещения от левого мотора 80.00 мм
Изображение

Согласно данным прошивки правый мотор Y
Рассчитанное количество шагов на 1 мм = 80
(80 шагов на 1 мм) х (заданная длина стороны параллелепипеда 80 мм) / (измеренная длина стороны параллелепипеда 79.75 мм) = 80.25
Задаю количество шагов на 1 мм = 80.25

Код: Выделить всё

M92 X80 Y80.25 Z400 E923                        ; set steps per mm
Напечатал параллелепипед 80 х 80 мм с расположение под углом 45°
  • длина стороны перемещения от левого мотора 80.0
  • длина стороны перемещения от правого мотора 80.0
Напечатал параллелепипед 80 х 80 с расположение под углом 90°
  • длина стороны X 79.9
  • длина стороны Y 80.0
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Расчет количества шагов (STEP VALUE)

Сообщение demonlibra »

Перешёл к другой модели для тестов
https://www.thingiverse.com/thing:2563185/files
Параметры печати
  • заполнение 15% прямолинейное
  • материал с усадкой поменьше, PLA или PETG
  • периметров 1
  • слоёв сверху и снизу 1
  • скорость 30 мм/сек
Изображение Изображение

Результаты измерений с учётом корректировки параметров из предыдущего сообщения:

Код: Выделить всё

M92 X80 Y80.25 Z400 E923                        ; set steps per mm
X1 99.65 - 99.70 (100.00)
X2 99.65 - 99.70 (100.00)

Y1 99.90 - 99.95 (100.00)
Y2 99.90 - 99.95 (100.00)

Диагонали
BD 141.15 - 141.20 (141.42)
AC 141.15 - 141.20 (141.42)

Стенки периметра 4.95 - 5.00 (5.00)
Стенка диагоналей 2.90 - 2.95 (2.94)
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Расчет количества шагов (STEP VALUE)

Сообщение demonlibra »

Поменял местами шкивы на моторах.
Результаты тестов не изменились.
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Расчет количества шагов (STEP VALUE)

Сообщение demonlibra »

Менять шаги для кинематик HBOT и COREXY некорректно.

Вернул шаги и задал масштабирование M579: Scale Cartesian axes
On a Cartesian RepRap you can get prints exactly the right size by tweaking the axis steps/mm using the M92 G Code above. But this does not work so easily for Delta and other RepRaps for which there is cross-talk between the axes. This command allows you to adjust the X, Y, and Z axis scales directly. So, if you print a part for which the Y length should be 100mm and measure it and find that it is 100.3mm long then you set Y0.997 (= 100/100.3).

Код: Выделить всё

M92 X80 Y80 Z400 E923                        ; set steps per mm
M579 X1.0044 Y1.0018                         ; Scale Cartesian axes
Получил следующий результат:

X1 99.95 - 100.00 (100.00)
X2 100.00 - 100.05 (100.00)

Y1 99.85 - 99.90 (100.00)
Y2 99.90 - 99.95 (100.00)

Диагонали
BD 141.15 - 141.20 (141.42)
AC 141.55 - 141.60 (141.42)

Вероятно диагонали изменились после вмешательства в механику.
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Расчет количества шагов (STEP VALUE)

Сообщение demonlibra »

Немного добавил натяжение ремня.
Ситуация с диагоналями не изменилась.
BD меньше чем AC примерно на 0.3 - 0.4 мм.
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Расчет количества шагов (STEP VALUE)

Сообщение demonlibra »

Пересчитал результаты и добавил команду компенсации перекоса M556: Axis skew compensation
Cannot for the life of me figure out how to use M556

Код: Выделить всё

M92 X80 Y80 Z400 E923                        ; set steps per mm
M579 X1.0042 Y1.0028                         ; Scale Cartesian axes
M556 S100 X0.28 Y0 Z0                        ; Axis skew compensation
This tells software the tangents of the angles between the axes of the machine obtained by printing then measuring a test part.
Изображение Изображение

Файлы экспериментов

Результаты на чертеже и в таблице немного отличаются, так как влияние оказывают даже значения в третьем знаке после запятой.
Во всех замерах точность ±0.025 мм весьма условна. На деле ближе к ±0.1 мм.

X1 100.00 - 100.05 (100.00)
X2 100.00 - 100.05 (100.00)

Y1 100.00 - 100.05 (100.00)
Y2 100.00 - 100.05 (100.00)

Диагонали
BD 141.10 - 141.15 (141.42)
AC 141.80 - 141.85 (141.42)

Разбег диагоналей увеличился.
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Расчет количества шагов (STEP VALUE)

Сообщение demonlibra »

Пробую коррекцию с другим знаком

Код: Выделить всё

M92 X80 Y80 Z400 E923                        ; set steps per mm
M579 X1.0042 Y1.0028                         ; Scale Cartesian axes
M556 S100 X-0.28 Y0 Z0                       ; Axis skew compensation
X1 100.00 - 100.05 (100.00)
X2 100.00 - 100.05 (100.00)

Y1 100.00 - 100.05 (100.00)
Y2 100.00 - 100.05 (100.00)

Диагонали
BD 141.50 - 141.55 (141.42)
AC 141.50 - 141.55 (141.42)

CAD показал следующие длины диагоналей при длинах сторон квадрата 100.05 мм.
Изображение
Не бойся поломать. Бойся не починить ))
Изображение

Вернуться в «RepRapFirmware»