Вопрос о работе контроллера 3D принтера

Собираем, настраиваем, печатаем, делимся опытом, помогаем новичкам

Модератор: Kaktus

MamVV
Сообщения: 5
Зарегистрирован: 14 июн 2018, 17:34
Имя: Валентина
Благодарил (а): 2 раза

Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение MamVV » 14 июн 2018, 17:36

Доброго времени суток! Очень нужна помощь!

Я правильно понимаю, что работа контроллера 3D принетера происходит таким образом: УП загружается в память контроллера, контроллер читает команду УП, посылает ее на драйвер инструмента (например, шаговый двигатель), дожидается, пока к нему придёт сигнал о завершении выполнения команды, читает следующую команду, снова посылает, и в общем цикл повторяется, пока команды не закончатся.

Верно?
Нужен ли контроллеру отклик от драйвера или самого шагового двигателя, чтобы направить ему следующую команду? Или он просто выстраивает очередь из команд?

Буду очень благодарна, если Вы как можно подробнее опишите данный процесс!

Аватара пользователя
3D-SPrinter
Сообщения: 10515
Зарегистрирован: 19 ноя 2015, 14:23
Имя: Андрей
Откуда: Н.Новгород
Благодарил (а): 76 раз
Поблагодарили: 980 раз
Контактная информация:

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение 3D-SPrinter » 14 июн 2018, 18:04

В 3д-принтере нет обратной связи. Контроллер тупо посылает с установленной скоростью импульсы step (шаг) и dir (направление) на драйверы шаговиков. От драйверов и моторов назад к контроллеру не поступает никакой информации. Так как мощность шаговиков многократно превышает необходимую для перемещения головки принтера, подразумевается, что головка по-любому сдвинется в указанную координату. Если головке что-то помешает, или райверы / моторы сгорят - контроллер об этом ничего не узнает и будет по-прежнему слать команды, пока не дойдёт до конца УП.

Аватара пользователя
3D-SPrinter
Сообщения: 10515
Зарегистрирован: 19 ноя 2015, 14:23
Имя: Андрей
Откуда: Н.Новгород
Благодарил (а): 76 раз
Поблагодарили: 980 раз
Контактная информация:

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение 3D-SPrinter » 14 июн 2018, 18:19

Изображение

MamVV
Сообщения: 5
Зарегистрирован: 14 июн 2018, 17:34
Имя: Валентина
Благодарил (а): 2 раза

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение MamVV » 14 июн 2018, 18:20

3D-SPrinter, спасибо Вам большое!
Можно еще небольшой вопрос: а как определяется "установленная скорость", с которой контроллер посылает импульсы?
Эта скорость рассчитывается исходя из g-кода? Т.е. контроллер считает что через N минут шаговый двигатель выполнит свою работу и через N минут посылает следующий сигнал?

Аватара пользователя
3D-SPrinter
Сообщения: 10515
Зарегистрирован: 19 ноя 2015, 14:23
Имя: Андрей
Откуда: Н.Новгород
Благодарил (а): 76 раз
Поблагодарили: 980 раз
Контактная информация:

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение 3D-SPrinter » 14 июн 2018, 18:28

MamVV писал(а):
14 июн 2018, 18:20
как определяется "установленная скорость", с которой контроллер посылает импульсы?
Скорость перемещений головы принтера настраивается в слайсере. Фактически это паузы между импульсами step. Контроллер тупо шлёт импульсы с установленной в слайсере скоростью. Вперёд по коду он не смотрит и ничего не планирует на минуту вперёд. Просто последовательно делает то, что написано в G-коде, сгенерированном слайсером. Так же можно увеличить общую скорость выполнения УП с помощью энкодера (крутилки) контроллера. Накручиваем 200% и получаем скорость в 2 раза больше.

Аватара пользователя
Alex Post
Сообщения: 6993
Зарегистрирован: 11 янв 2017, 17:22
Имя: Александр
Откуда: Брест, РБ
Благодарил (а): 330 раз
Поблагодарили: 817 раз
Контактная информация:

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение Alex Post » 14 июн 2018, 18:46

Ну это в первом приближении. На самом деле есть понятия "ускорение" и "рывок", исходя из которых программа в МК (ее называют прошивкой обычно) и рассчитывает мгновенную скорость. Т.е. анализ Г-кода ведется, но не слишком глубоко :), на один-два шага, чтоб понимать: нужно тормозить или разгоняться или двигаться с постоянной скоростью.
Prusa i3 rework - трудится с 2015 года
Черно-оранжевый 3D-SPrinter 232 - https://3deshnik.ru/forum/viewtopic.php?f=21&t=393

Аватара пользователя
3D-SPrinter
Сообщения: 10515
Зарегистрирован: 19 ноя 2015, 14:23
Имя: Андрей
Откуда: Н.Новгород
Благодарил (а): 76 раз
Поблагодарили: 980 раз
Контактная информация:

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение 3D-SPrinter » 14 июн 2018, 18:50

Alex Post писал(а):
14 июн 2018, 18:46
Ну это в первом приближении. На самом деле есть понятия "ускорение" и "рывок", исходя из которых программа в МК (ее называют прошивкой обычно) и рассчитывает мгновенную скорость.
Я это не упоминаю, чтобы не усложнять и не запутать.

MamVV
Сообщения: 5
Зарегистрирован: 14 июн 2018, 17:34
Имя: Валентина
Благодарил (а): 2 раза

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение MamVV » 14 июн 2018, 19:03

3D-SPrinter, и снова спасибо Вам огромное, чтобы я без Вас делала!

Однако у меня возник еще один вопрос :D простите... Вот кусочек реального G-кода, сгенерированного в Cura (скопировала).

...
G1 F1800 X15.15 Y149.85 E33.30545
...
G0 F3600 X114.7 Y149.85
...

F - скорость движения печатающей головки (мм в минуту).
X88.085 Y51.174 - соответственно перемещение печатающей головки. (мм) (Это, чтобы понятней обрисовать свой вопрос)

Соответственно, получается, что в УП все-таки не указана какая-то конкретная скорость или какой-то конкретный интервал, с которым контроллер посылает команды на драйвера ш.д.... Получается, он все таки должен посчитать исходя из известной формулы t=s/v время, спустя которое он пошлет следующий сигнал, правильно? Или я заблуждаюсь? Ведь в слайсере указывается именно скорость для печатающей головки для прохождения определенного расстояния, а не скорость, с которой контроллер посылает импульсы.

P.S. Вы даже не представляете, как поможете)

MamVV
Сообщения: 5
Зарегистрирован: 14 июн 2018, 17:34
Имя: Валентина
Благодарил (а): 2 раза

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение MamVV » 14 июн 2018, 19:03

Alex Post, Вам тоже спасибо большое, учту!

Аватара пользователя
Alex Post
Сообщения: 6993
Зарегистрирован: 11 янв 2017, 17:22
Имя: Александр
Откуда: Брест, РБ
Благодарил (а): 330 раз
Поблагодарили: 817 раз
Контактная информация:

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение Alex Post » 14 июн 2018, 22:00

Да, именно так: программа, зашитая в микроконтроллере (прошивка) расшифровывает г-код, и в зависимости от того, куда и как быстро нужно двинуть голову, выдает на шаговые двигатели импульсы с нужной частотой. При этом математика рассчитывает разгон с установленным ускорением, равномерное движение с указанной слайсером скоростью и торможение опять с установленным ускорением. Опять же, если следом за движением следует движение в примерно том же направлении - торможение не происходит. В общем, довольно непростая математика :)
Но в первом приближении - да, скорость указанная слайсером пересчитывается в импульсы шаговиков по определенным правилам.
Prusa i3 rework - трудится с 2015 года
Черно-оранжевый 3D-SPrinter 232 - https://3deshnik.ru/forum/viewtopic.php?f=21&t=393

Аватара пользователя
3D-SPrinter
Сообщения: 10515
Зарегистрирован: 19 ноя 2015, 14:23
Имя: Андрей
Откуда: Н.Новгород
Благодарил (а): 76 раз
Поблагодарили: 980 раз
Контактная информация:

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение 3D-SPrinter » 14 июн 2018, 23:31

Александр всё правильно написал - математика в прошивке довольно сложная. И тут надо понимать, что в прошивке заданы максимальные скорости и ускорения, быстрее которых контроллер не будет печатать. И на коротких перемещениях скорость может не достичь заданной в слайсере, так как она ограничена максимальными ускорениями - голова принтера не успела разогнаться до указанной скорости, а ей уже тормозить надо. Накрутив энкодером 200% мы не получим в 2 раза меньшее время печати, потому что ускорения (разгон и торможение на перемещениях) остаются прежними (ограничены в прошивке). Максимальная скорость достигается только на длинных прямых прогонах.

MamVV
Сообщения: 5
Зарегистрирован: 14 июн 2018, 17:34
Имя: Валентина
Благодарил (а): 2 раза

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение MamVV » 15 июн 2018, 07:51

Alex Post, 3D-SPrinter, спасибо! Вы очень выручили!

AlexDadNNov
Сообщения: 60
Зарегистрирован: 02 сен 2016, 23:22
Имя: Александр
Благодарил (а): 39 раз
Поблагодарили: 7 раз

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение AlexDadNNov » 27 июн 2018, 22:56

3D-SPrinter писал(а):
14 июн 2018, 18:19
Изображение
Предлагаю добавить схему в Wiki
Reprap аля SmartCore a.k.a 3ДСТО
SKR1.1 + TMS2208(XYEZ) + OrangePi PC Plus
Klipper

Shaman
Сообщения: 1229
Зарегистрирован: 23 ноя 2016, 22:50
Имя: Денис
Откуда: Дубна
Благодарил (а): 44 раза
Поблагодарили: 124 раза

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение Shaman » 29 июн 2018, 10:39

Тока ошибку исправить =)
Когда на форуме переходят на "Вы", в реальной жизни уже давно бьют морду!

Аватара пользователя
Alex Post
Сообщения: 6993
Зарегистрирован: 11 янв 2017, 17:22
Имя: Александр
Откуда: Брест, РБ
Благодарил (а): 330 раз
Поблагодарили: 817 раз
Контактная информация:

Re: Вопрос о работе контроллера 3D принтера

Непрочитанное сообщение Alex Post » 29 июн 2018, 12:39

С ошибкой даже прикольно. Авторский знак типа. Если кто картинку стырит - можно авторские права предъявлять. ;(
Prusa i3 rework - трудится с 2015 года
Черно-оранжевый 3D-SPrinter 232 - https://3deshnik.ru/forum/viewtopic.php?f=21&t=393

Ответить

Вернуться в «3D принтеры и 3D печать»

Яндекс.Метрика