Контроллер оптических линеек / энкодеров (Step/Dir)

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1645
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение N1X »

У вас в ЧПУ для этой оси должны быть верно заданы скорость и ускорение. Тогда ЧПУ не будет гнать бесконтрольно остальные. Эти параметры учитываются при интерполяции траектории.
А по поводу "качается туда-сюда" - это перерегулирование. Не правильно настроен ПИД. Верно выше написали - решать проблему нужно, костыли это тупиковый путь.
Аватара пользователя
индеецпетя
Мастер
Сообщения: 260
Зарегистрирован: 12 янв 2018, 07:07
Репутация: 55
Настоящее имя: Стас
Откуда: Красноярск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение индеецпетя »

N1X писал(а):костыли это тупиковый путь.
почему все серьезные чпу системы имеют мировую ось времени?
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1645
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение N1X »

В чем вопрос?
Аватара пользователя
индеецпетя
Мастер
Сообщения: 260
Зарегистрирован: 12 янв 2018, 07:07
Репутация: 55
Настоящее имя: Стас
Откуда: Красноярск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение индеецпетя »

N1X писал(а):В чем вопрос?
я спросил у разработчика есть ли аппаратная возможность у контроллера поддерживать синхронность перемещения общаясь между собой через шину данных. Только в этом. То что кинематика должна быть в порядке даже обсуждать не стоит
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1645
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение N1X »

Я не к тому, с кинематикой как раз понятно все. Смысл в том, что ЧПУ остается без полноценной ОС в любом случае. Но если в систему правильно введены параметры осей, то такой ситуации, что ось отстала быть не должно. Михаил я думаю на вопрос еще ответит...
Просто без этого контроллера ускорения всегда ставятся с умом, при превышении - явный срыв привода. А с ним - ось начинает догонять и появляется желание поднять ускорение, т.к. срыва все равно не случится. Так вот это желание стоит подавлять. Если ось не отрабатывает фактически заданные шаги без отставания - то привод не тянет. Замедляя другие оси проблема то не решится. Да даже подача уже ниже требуемой получается...
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение michael-yurov »

индеецпетя писал(а):Михаил, есть ли на контроллере возможность выделить шину для связи между несколькими контроллерами? Если возможно, то можно было-бы дописать прошивку, в которой все контроллеры имели общую временную ось и при отставании выполнения серворегулирования одной из оси, остальные бы пропорционально замедлялись.
Может это и глупость, и объем такой работы сопоставим с разработкой полноценного контроллера...
Ну, если хочешь добавить физически эту шину данных, и написать свое ПО, то, возможность, как бы есть. Я такое делать, конечно же, не стану, да и не смогу.
Даже если не смотреть, что сложность и объем работы намного выше, чем разработка ЧПУ контроллера с таким функционалом.

На самом деле задача поставлена неправильно. На самом деле тебе нужно всего лишь правильно настроить PID контроллер, но об этом чуть позже.

Ну, вот предположим, что такой функционал существует. Предположим, что получив данные от контроллера все платы сообща сохраняют полученные данные с высокой точностью, не глядя на затраты памяти, и восстанавливают полученную траекторию движения в многомерном пространстве...
Полагаю, что все оси ты настроишь примерно одинаково, и при движении одновременно по нескольким осям все они будут отставать примерно одинаково, например, на 0,1 сек... Какие из осей нужно будет еще сильнее притормозить, чтобы устранить это отставание, и на сколько? Те, которые по неизвестным причинам убежали вперед вектора движения? Но ведь такого не произойдет... А если мы начнем замедлять движение по всем осям для какой-то непонятной цели, у нас отставание от исходного сигнала управления по всем осям еще больше увеличится, а мы, вроде как, добивались обратного...
индеецпетя писал(а):ну а какая разница? буфер одной оси справляется ведь со своим потоком
В ПИД регуляторе нет никакого буфера.
индеецпетя писал(а):просто задержка будет пропорциональна по всем осям,
Она и так, скорее всего пропорциональна при однотипных настройках осей.
индеецпетя писал(а):потом так же синхронно все оси догонят мировую ось времени.
С чего бы это вдруг?
mikehv писал(а):Ну как бы принято такую ситуацию считать критической и привод должен просто сваливаться в ошибку.
Нет никаких причин, чтобы нормально настроенная, исправно работающая ось, отставала. В противном случае это проблема и ее надо решать, а не подтормаживать остальные оси.
Вот это верно! Для того и дана возможность настройки, чтобы настроить электронику в соответствии с возможностями механики.
Если бы ЧПУ умели сами себя полностью настраивать под любое оборудование — было бы круто! И такое, даже, возможно, но это уже не ко мне, это к дяде Виктору...
индеецпетя писал(а):
mikehv писал(а):Нет никаких причин, чтобы нормально настроенная, исправно работающая ось, отставала
причина есть и весомая (в буквальном смысле) это масса которую необходимо двигать, у меня не получилось настроить лучше чем 15-20 импульсов отставания а это 0,1 мм
Движимая масса это никак не причина для работы ЧПУ с существенным отставанием.
Получается, что приводы на 99,99% ось разогнали и нужное расстояние проехали, а последние 0,1 мм не осилили? Ну не может такого быть! Дело точно не в возможностях приводов.
индеецпетя писал(а):
N1X писал(а):В чем вопрос?
я спросил у разработчика есть ли аппаратная возможность у контроллера поддерживать синхронность перемещения общаясь между собой через шину данных. Только в этом. То что кинематика должна быть в порядке даже обсуждать не стоит
Чтобы поддерживать синхронность перемещения не нужно общаться между осями. Достаточно всем осям точно и своевременно выполнять поставленную задачу.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение michael-yurov »

А теперь, собственно, ответ на незаданный вопрос:
Скорее всего неправильно настроены, или вообще не настроены параметры Feed Forward (пропорциональный и его производная).
Пропорциональный параметр позволяет передать частоту входящего сигнала на выход. Если все остальные коэффициенты равны нолю (ну, кроме самого первого Source Signal Multiplier), а FF Proportional равен единице, то на выходе будет такая же частота сигнала, как на входе.
Тут нужно посчитать, какое количество импульсов ЧПУ контроллер выдает для перемещения на 1 мм (скорее всего настроено значение равное количеству отсчетов линейки на 1 мм, если Source Signal Multiplier = 1.0), и какое количество импульсов нужно передать приводу для перемещения на 1 мм.
Ну и разделить одно на другое. Например, для перемещения на 1 мм ЧПУ выдает 200 импульсов, а на драйвер мотора нужно передать 640 импульсов для перемещения на 1 мм, соответственно, FF Proportional должен быть равен 3,200. При такой настройке и нолевых коэффициентах P I D ось будет двигаться так, как работала бы напрямую от контроллера (ну, если бы тот был настроен на 640 имп/мм, а не на 200).
Feed Forward Derivative позволяет повысить отзывчивость оси на исходный сигнал ("поддать газа" при ускорении оси, и более активно "тормозить" при замедлении), чтобы побороть деформативность механики инертность приводов.
Но если исходный сигнал не очень стабильный, возможно, придется немного смягчить эту составляющую фильтром (справа маленький параметр).
При таких настройках FF нужно добиться приблизительного совпадения целевого графика позиции, результирующего. Идеального совпадения, конечно, не будет, и, может быть незначительное итоговое расхождение позиции (т.к. обратная связь никак не используется).

А вот уже после этого остаточное расхождение позиции нужно будет устранить / нивелировать основными PID коэффициентами.
Интегральный в большинстве случаев, лучше вообще не использовать. Если только не настраиваешь вечно опережающие поручни эскалатора.

В общем и целом я хотел сказать, что контроллер должен быть правильно настроен. Тогда он и работать будет правильно.
Если настроить методом тыка, то и результат будет соответствующий.
Методом тыка есть смысл разбираться в его работе. А вот окончательная настройка уже должна быть осознанной.
Вложения
Безымянный (2).png
Безымянный (2).png (9.64 КБ) 3958 просмотров
Аватара пользователя
индеецпетя
Мастер
Сообщения: 260
Зарегистрирован: 12 янв 2018, 07:07
Репутация: 55
Настоящее имя: Стас
Откуда: Красноярск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение индеецпетя »

Спасибо, попробую ещё раз отстроить по этим рекомендациям
igor1352
Кандидат
Сообщения: 54
Зарегистрирован: 28 ноя 2019, 21:18
Репутация: 2
Настоящее имя: Игорь
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение igor1352 »

добрый день господа коллеги. отзовитесь кто пользуется данным устройством. в этом практически не смыслю) поэтому уповаю на вашу отзывчивость. интересуют какие параметры вы применяете ( и почему желательно) . важно просто указать чего и сколько выставить.
Аватара пользователя
inFamous
Мастер
Сообщения: 801
Зарегистрирован: 04 янв 2018, 15:33
Репутация: 278
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение inFamous »

michael-yurov писал(а):А теперь, собственно, ответ на незаданный вопрос:
Скорее всего неправильно настроены, или вообще не настроены параметры Feed Forward (пропорциональный и его производная).
Пропорциональный параметр позволяет передать частоту входящего сигнала на выход. Если все остальные коэффициенты равны нолю (ну, кроме самого первого Source Signal Multiplier), а FF Proportional равен единице, то на выходе будет такая же частота сигнала, как на входе.
Тут нужно посчитать, какое количество импульсов ЧПУ контроллер выдает для перемещения на 1 мм (скорее всего настроено значение равное количеству отсчетов линейки на 1 мм, если Source Signal Multiplier = 1.0), и какое количество импульсов нужно передать приводу для перемещения на 1 мм.
Ну и разделить одно на другое. Например, для перемещения на 1 мм ЧПУ выдает 200 импульсов, а на драйвер мотора нужно передать 640 импульсов для перемещения на 1 мм, соответственно, FF Proportional должен быть равен 3,200. При такой настройке и нолевых коэффициентах P I D ось будет двигаться так, как работала бы напрямую от контроллера (ну, если бы тот был настроен на 640 имп/мм, а не на 200).
Feed Forward Derivative позволяет повысить отзывчивость оси на исходный сигнал ("поддать газа" при ускорении оси, и более активно "тормозить" при замедлении), чтобы побороть деформативность механики инертность приводов.
Но если исходный сигнал не очень стабильный, возможно, придется немного смягчить эту составляющую фильтром (справа маленький параметр).
При таких настройках FF нужно добиться приблизительного совпадения целевого графика позиции, результирующего. Идеального совпадения, конечно, не будет, и, может быть незначительное итоговое расхождение позиции (т.к. обратная связь никак не используется).

А вот уже после этого остаточное расхождение позиции нужно будет устранить / нивелировать основными PID коэффициентами.
Интегральный в большинстве случаев, лучше вообще не использовать. Если только не настраиваешь вечно опережающие поручни эскалатора.

В общем и целом я хотел сказать, что контроллер должен быть правильно настроен. Тогда он и работать будет правильно.
Если настроить методом тыка, то и результат будет соответствующий.
Методом тыка есть смысл разбираться в его работе. А вот окончательная настройка уже должна быть осознанной.
Что то не так оно работает, как вы написали.
Если поставить FF Proportional 3.2 ( меня тоже 640 на мм), ось начинает двигаться будто подклинивает, рывками. Мало того, станок перестает держать размер, т.е. ось шагает явно больше чем надо. Это при нулевых коэффициентах. Если менять коэффициенты PID, то ситуация вообще усугубляется спонтанными рывками, стопорениями и прочими расколбасами.
Если же выставить FF Proportional 0 и крутить ПИДы, то ось четко и плавно ходит, и вполне себе настраивается отзывчивость. Так что непонятки какие то с этим контроллером.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение michael-yurov »

Да так оно работает.
И все должно быть в порядке с контроллером.
У меня во всяком случае работает ровно так, как и должно.
То, что ось движется неравномерно — не существенно на данном этапе. Смягчить равномерность вывода можно на выходе (Smooth рядом с Max Output Freq). Но вот проезжать больше чем задумано, не должна. Что-то ты напутал. На сколько больше проезжает, или во сколько раз больше?
Везде все по нолям, кроме начального множителя и FF Proportional? Надо было скриншоты сохранить.
Линейка 200 линий на мм? Шаговый мотор в режиме микрошага 1/16?
Аватара пользователя
inFamous
Мастер
Сообщения: 801
Зарегистрирован: 04 янв 2018, 15:33
Репутация: 278
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение inFamous »

michael-yurov писал(а):Да так оно работает.
И все должно быть в порядке с контроллером.
У меня во всяком случае работает ровно так, как и должно.
То, что ось движется неравномерно — не существенно на данном этапе. Смягчить равномерность вывода можно на выходе (Smooth рядом с Max Output Freq). Но вот проезжать больше чем задумано, не должна. Что-то ты напутал. На сколько больше проезжает, или во сколько раз больше?
Везде все по нолям, кроме начального множителя и FF Proportional? Надо было скриншоты сохранить.
Линейка 200 линий на мм? Шаговый мотор в режиме микрошага 1/16?
Линейка 0,005 мм
Шаговый ставил на пробу на все режимы от 1/2 до 1/32, всё по нолям кроме Source Multiplier, который стандартно был 1, ШВП на поперечке 1204 с шаговиком, на продольной 1605 с сервоприводом JMC, поведение на двух осях одинаковое - как только FF Proportional меняешь на любую величину (даже на правильную), то начинается скрежет и дёрганье будто оси ржавые, вот очень похоже. Но если его поставить в ноль и пропорциональный менять с дифференциальным то всё более менее ездит, плавно, красиво, в размер попадает по перемещению.
Кстати, не может быть косяк что у вас в проге точка не ставится на дробных, а только запятая? Всегда вроде в мат.прогах точка. Хотя если целое значение ставить при микрошаге 1/2 (получается значение 2 в FF Proportional) то та же ботва.
Когда буду у станка, могу заснять видео со звуками, что происходит, картина не из приятных =)
Derrivative только усугубляет ситуацию, пробовал целый спектр значений, от 0.01 до 50, чем больше число, тем больше ось как бы клинит и рассогласование по размерам становится неприличным - до 20-30 мм и т.д. ( Извиняюсь, перепутал, в меньшею сторону брешет - в Мак3 прошагало 40 мм, в реале - 15 мм)
Т.е. меня как бы устраивает регулирование по PID чисто, без этих коэффициентов, но сегодня убил вечер пробуя по вашей рекомендации настраивать, и безрезультатно.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение michael-yurov »

inFamous писал(а):как только FF Proportional меняешь на любую величину (даже на правильную), то начинается скрежет и дёрганье будто оси ржавые
Не страшно. Важно, чтобы расстояние проезжала приблизительно верное. А скрежет, как я и сказал, можно убрать "смягчив" сигнал на выходе. Хотя, вроде бы, при стабильном исходном сигнале — на входе скрежета не должно было бы быть.
inFamous писал(а):Но если его поставить в ноль и пропорциональный менять с дифференциальным то всё более менее ездит, плавно, красиво, в размер попадает по перемещению.
Это понятно... Но только P D коэффициентами не добиться такой скорости реакции и точности, как вместе с FF коэффициентами.
inFamous писал(а):Кстати, не может быть косяк что у вас в проге точка не ставится на дробных, а только запятая?
Ну, какой разделитель задан в системе, такой и будет. В России принята запятая. Я не помню, уже как сделал. Скорее всего просто не сможешь ввести неправильный разделитель. Видно же должно быть, что ввел. Ну и после загрузки параметров из платы должно показывать.
inFamous писал(а):то та же ботва.
Что это значит? Какая именно? Скрежет, или значительная ошибка в дистанции перемещения?
inFamous писал(а):Derrivative только усугубляет ситуацию, пробовал целый спектр значений, от 0.01 до 50, чем больше число, тем больше ось как бы клинит и рассогласование по размерам становится неприличным - до 20-30 мм и т.д.
Если исходный сигнал нестабильный, то производная от него только хуже сделает (если не сгладить / усреднить).
inFamous писал(а):Извиняюсь, перепутал, в меньшею сторону брешет - в Мак3 прошагало 40 мм, в реале - 15 мм
А вот это уже объяснимо. Возможно, из за скачков частоты сигнала могут пропускаться очень короткие импульсы. Попробуй смягчить на выходе. Должно помочь.
Я с LPT не пробовал, как будет работать.
inFamous писал(а):Т.е. меня как бы устраивает регулирование по PID чисто, без этих коэффициентов, но сегодня убил вечер пробуя по вашей рекомендации настраивать, и безрезультатно.
Ну тут уж извини. Я рассказал, как должно быть правильно. Сразу не получилось, видимо, из за очень низкой частоты работы LPT и очень низкой стабильности. Для этого и добавил параметр сглаживания. Иначе тут получается период обратной связи короче, чем длительность одного импульса от mach3. Контроллер успевает поплясать вокруг каждой позиции, пока там LPT новый импульс сгенерирует. Может быть отсюда и скрежещащий звук.
Но это не точно.
Аватара пользователя
индеецпетя
Мастер
Сообщения: 260
Зарегистрирован: 12 янв 2018, 07:07
Репутация: 55
Настоящее имя: Стас
Откуда: Красноярск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение индеецпетя »

inFamous писал(а):то начинается скрежет и дёрганье
а какая при этом ошибка позиции? И какая масса двигается?
У меня такие настройки и отставание 15-20 импульсов на скорости 800мм, но шаговики крутят через планетарный 1:10, а это явное превышение их возможности, деление шага не выставлено.
Вложения
IMG_20190802_110407.jpg (3770 просмотров) <a class='original' href='./download/file.php?id=173164&sid=40b1503af7101d36aeb34b615394d2bd&mode=view' target=_blank>Загрузить оригинал (3.84 МБ)</a>
Аватара пользователя
inFamous
Мастер
Сообщения: 801
Зарегистрирован: 04 янв 2018, 15:33
Репутация: 278
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение inFamous »

michael-yurov писал(а):
inFamous писал(а):как только FF Proportional меняешь на любую величину (даже на правильную), то начинается скрежет и дёрганье будто оси ржавые
Не страшно. Важно, чтобы расстояние проезжала приблизительно верное. А скрежет, как я и сказал, можно убрать "смягчив" сигнал на выходе. Хотя, вроде бы, при стабильном исходном сигнале — на входе скрежета не должно было бы быть.
inFamous писал(а):Но если его поставить в ноль и пропорциональный менять с дифференциальным то всё более менее ездит, плавно, красиво, в размер попадает по перемещению.
Это понятно... Но только P D коэффициентами не добиться такой скорости реакции и точности, как вместе с FF коэффициентами.
inFamous писал(а):Кстати, не может быть косяк что у вас в проге точка не ставится на дробных, а только запятая?
Ну, какой разделитель задан в системе, такой и будет. В России принята запятая. Я не помню, уже как сделал. Скорее всего просто не сможешь ввести неправильный разделитель. Видно же должно быть, что ввел. Ну и после загрузки параметров из платы должно показывать.
inFamous писал(а):то та же ботва.
Что это значит? Какая именно? Скрежет, или значительная ошибка в дистанции перемещения?
inFamous писал(а):Derrivative только усугубляет ситуацию, пробовал целый спектр значений, от 0.01 до 50, чем больше число, тем больше ось как бы клинит и рассогласование по размерам становится неприличным - до 20-30 мм и т.д.
Если исходный сигнал нестабильный, то производная от него только хуже сделает (если не сгладить / усреднить).
inFamous писал(а):Извиняюсь, перепутал, в меньшею сторону брешет - в Мак3 прошагало 40 мм, в реале - 15 мм
А вот это уже объяснимо. Возможно, из за скачков частоты сигнала могут пропускаться очень короткие импульсы. Попробуй смягчить на выходе. Должно помочь.
Я с LPT не пробовал, как будет работать.
inFamous писал(а):Т.е. меня как бы устраивает регулирование по PID чисто, без этих коэффициентов, но сегодня убил вечер пробуя по вашей рекомендации настраивать, и безрезультатно.
Ну тут уж извини. Я рассказал, как должно быть правильно. Сразу не получилось, видимо, из за очень низкой частоты работы LPT и очень низкой стабильности. Для этого и добавил параметр сглаживания. Иначе тут получается период обратной связи короче, чем длительность одного импульса от mach3. Контроллер успевает поплясать вокруг каждой позиции, пока там LPT новый импульс сгенерирует. Может быть отсюда и скрежещащий звук.
Но это не точно.
причиной может служить хреновый сигнал с LPT?
попробую подкинуть станку Smoothstepper, это точно исключит вину LPT и его приколы
Аватара пользователя
inFamous
Мастер
Сообщения: 801
Зарегистрирован: 04 янв 2018, 15:33
Репутация: 278
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение inFamous »

индеецпетя писал(а):
inFamous писал(а):то начинается скрежет и дёрганье
а какая при этом ошибка позиции? И какая масса двигается?
У меня такие настройки и отставание 15-20 импульсов на скорости 800мм, но шаговики крутят через планетарный 1:10, а это явное превышение их возможности, деление шага не выставлено.
ошибка позиции гигантская. Вес оси от силы 20 кг
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение michael-yurov »

inFamous писал(а):попробую подкинуть станку Smoothstepper, это точно исключит вину LPT и его приколы
Ну, если время свое не жалко, можешь попробовать. Я бы не надеялся, что что-то изменится при тех же частотах сигнала.
Я написал, что рекомендую включить "smooth" на выходе контроллера (для пробы поставить 10 — 20 периодов). В плане проблемы скрежещащего звука именно это должно помочь.
Можно еще частоту исходного сигнала поднять, например, в 10 раз, и задать множитель на входе = 0,1 (в теории может помочь, но я не пробовал). Ну и микрошаг не 1/2 сделать, а помельче.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11624
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение michael-yurov »

индеецпетя писал(а):У меня такие настройки и отставание 15-20 импульсов на скорости 800мм, но шаговики крутят через планетарный 1:10, а это явное превышение их возможности, деление шага не выставлено.
Что-то мне сильно не нравится ограничение выходной частоты в 100 Гц. Этот параметр лучше оставить равным нолю.
Аватара пользователя
индеецпетя
Мастер
Сообщения: 260
Зарегистрирован: 12 янв 2018, 07:07
Репутация: 55
Настоящее имя: Стас
Откуда: Красноярск
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение индеецпетя »

michael-yurov писал(а):Что-то мне сильно не нравится ограничение выходной частоты в 100 Гц. Этот параметр лучше оставить равным нолю.
попробую конечно, но сейчас еще раз перечитал настройку и смысл FF и немного опешил :shock: , оказывается я простым перебором цифр подошел к правильной цифре, она должна быть 8, но потом не имея теоретического понимания настройки снизил этот параметр до 6,4.
Аватара пользователя
inFamous
Мастер
Сообщения: 801
Зарегистрирован: 04 янв 2018, 15:33
Репутация: 278
Контактная информация:

Re: Контроллер оптических линеек / энкодеров (Step/Dir)

Сообщение inFamous »

Так и не смог добиться чего либо вменяемого с ненулевым FF Proportional. Мгновенно начинаются подлагивания оси, которые сказываются сразу на чистоте поверхности. Добился вменяемого результата с P и D коэффициентами, с I неадекватно себя начинает вести. Со Smoothstepper'ом ситуация 1 в 1. Даже малейший коэффициент FF Proportional (0.02 вместо необходимых 3.2, так то!) вносит возмущения в равномерность движения, что никакой настройкой PID после, и подстройкой Derrivative они не убирается. По графикам, по настройке чисто Pid, ходит конечно с небольшим рассогласованием, но для токарного это терпимо. Делаю вывод что FF Proportional работает не так, как заявлено (что ось при нулевых PID с правильно настроенным значением FF Proportional должна ходить так, будто ось работает без линейки), и явно не работает как описано, например, здесь https://www.motioncontroltips.com/faq-w ... ard-gains/ У меня на сервоприводе настройка FeedForward примерно дает эффект, описанный по ссылке, даже совершенно неправильными настройками FF я сегодня не смог заставить серву на фрезере вести себя хотя бы отдалённо так же, как серва на токарном с этим контроллером и включенным FF Proportional.
Так или иначе, меня работа устраивает и чисто по настройкам PID.
Ответить

Вернуться в «Электроника»