Контроллер оптических линеек / энкодеров (Step/Dir)
- N1X
- Мастер
- Сообщения: 3653
- Зарегистрирован: 16 фев 2015, 21:19
- Репутация: 1645
- Настоящее имя: Владимир
- Откуда: Беларусь, Гомель
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
У вас в ЧПУ для этой оси должны быть верно заданы скорость и ускорение. Тогда ЧПУ не будет гнать бесконтрольно остальные. Эти параметры учитываются при интерполяции траектории.
А по поводу "качается туда-сюда" - это перерегулирование. Не правильно настроен ПИД. Верно выше написали - решать проблему нужно, костыли это тупиковый путь.
А по поводу "качается туда-сюда" - это перерегулирование. Не правильно настроен ПИД. Верно выше написали - решать проблему нужно, костыли это тупиковый путь.
- индеецпетя
- Мастер
- Сообщения: 263
- Зарегистрирован: 12 янв 2018, 07:07
- Репутация: 56
- Настоящее имя: Стас
- Откуда: Красноярск
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
почему все серьезные чпу системы имеют мировую ось времени?N1X писал(а):костыли это тупиковый путь.
- N1X
- Мастер
- Сообщения: 3653
- Зарегистрирован: 16 фев 2015, 21:19
- Репутация: 1645
- Настоящее имя: Владимир
- Откуда: Беларусь, Гомель
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
В чем вопрос?
- индеецпетя
- Мастер
- Сообщения: 263
- Зарегистрирован: 12 янв 2018, 07:07
- Репутация: 56
- Настоящее имя: Стас
- Откуда: Красноярск
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
я спросил у разработчика есть ли аппаратная возможность у контроллера поддерживать синхронность перемещения общаясь между собой через шину данных. Только в этом. То что кинематика должна быть в порядке даже обсуждать не стоитN1X писал(а):В чем вопрос?
- N1X
- Мастер
- Сообщения: 3653
- Зарегистрирован: 16 фев 2015, 21:19
- Репутация: 1645
- Настоящее имя: Владимир
- Откуда: Беларусь, Гомель
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
Я не к тому, с кинематикой как раз понятно все. Смысл в том, что ЧПУ остается без полноценной ОС в любом случае. Но если в систему правильно введены параметры осей, то такой ситуации, что ось отстала быть не должно. Михаил я думаю на вопрос еще ответит...
Просто без этого контроллера ускорения всегда ставятся с умом, при превышении - явный срыв привода. А с ним - ось начинает догонять и появляется желание поднять ускорение, т.к. срыва все равно не случится. Так вот это желание стоит подавлять. Если ось не отрабатывает фактически заданные шаги без отставания - то привод не тянет. Замедляя другие оси проблема то не решится. Да даже подача уже ниже требуемой получается...
Просто без этого контроллера ускорения всегда ставятся с умом, при превышении - явный срыв привода. А с ним - ось начинает догонять и появляется желание поднять ускорение, т.к. срыва все равно не случится. Так вот это желание стоит подавлять. Если ось не отрабатывает фактически заданные шаги без отставания - то привод не тянет. Замедляя другие оси проблема то не решится. Да даже подача уже ниже требуемой получается...
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
Ну, если хочешь добавить физически эту шину данных, и написать свое ПО, то, возможность, как бы есть. Я такое делать, конечно же, не стану, да и не смогу.индеецпетя писал(а):Михаил, есть ли на контроллере возможность выделить шину для связи между несколькими контроллерами? Если возможно, то можно было-бы дописать прошивку, в которой все контроллеры имели общую временную ось и при отставании выполнения серворегулирования одной из оси, остальные бы пропорционально замедлялись.
Может это и глупость, и объем такой работы сопоставим с разработкой полноценного контроллера...
Даже если не смотреть, что сложность и объем работы намного выше, чем разработка ЧПУ контроллера с таким функционалом.
На самом деле задача поставлена неправильно. На самом деле тебе нужно всего лишь правильно настроить PID контроллер, но об этом чуть позже.
Ну, вот предположим, что такой функционал существует. Предположим, что получив данные от контроллера все платы сообща сохраняют полученные данные с высокой точностью, не глядя на затраты памяти, и восстанавливают полученную траекторию движения в многомерном пространстве...
Полагаю, что все оси ты настроишь примерно одинаково, и при движении одновременно по нескольким осям все они будут отставать примерно одинаково, например, на 0,1 сек... Какие из осей нужно будет еще сильнее притормозить, чтобы устранить это отставание, и на сколько? Те, которые по неизвестным причинам убежали вперед вектора движения? Но ведь такого не произойдет... А если мы начнем замедлять движение по всем осям для какой-то непонятной цели, у нас отставание от исходного сигнала управления по всем осям еще больше увеличится, а мы, вроде как, добивались обратного...
В ПИД регуляторе нет никакого буфера.индеецпетя писал(а):ну а какая разница? буфер одной оси справляется ведь со своим потоком
Она и так, скорее всего пропорциональна при однотипных настройках осей.индеецпетя писал(а):просто задержка будет пропорциональна по всем осям,
С чего бы это вдруг?индеецпетя писал(а):потом так же синхронно все оси догонят мировую ось времени.
Вот это верно! Для того и дана возможность настройки, чтобы настроить электронику в соответствии с возможностями механики.mikehv писал(а):Ну как бы принято такую ситуацию считать критической и привод должен просто сваливаться в ошибку.
Нет никаких причин, чтобы нормально настроенная, исправно работающая ось, отставала. В противном случае это проблема и ее надо решать, а не подтормаживать остальные оси.
Если бы ЧПУ умели сами себя полностью настраивать под любое оборудование — было бы круто! И такое, даже, возможно, но это уже не ко мне, это к дяде Виктору...
Движимая масса это никак не причина для работы ЧПУ с существенным отставанием.индеецпетя писал(а):причина есть и весомая (в буквальном смысле) это масса которую необходимо двигать, у меня не получилось настроить лучше чем 15-20 импульсов отставания а это 0,1 ммmikehv писал(а):Нет никаких причин, чтобы нормально настроенная, исправно работающая ось, отставала
Получается, что приводы на 99,99% ось разогнали и нужное расстояние проехали, а последние 0,1 мм не осилили? Ну не может такого быть! Дело точно не в возможностях приводов.
Чтобы поддерживать синхронность перемещения не нужно общаться между осями. Достаточно всем осям точно и своевременно выполнять поставленную задачу.индеецпетя писал(а):я спросил у разработчика есть ли аппаратная возможность у контроллера поддерживать синхронность перемещения общаясь между собой через шину данных. Только в этом. То что кинематика должна быть в порядке даже обсуждать не стоитN1X писал(а):В чем вопрос?
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
А теперь, собственно, ответ на незаданный вопрос:
Скорее всего неправильно настроены, или вообще не настроены параметры 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 коэффициентами.
Интегральный в большинстве случаев, лучше вообще не использовать. Если только не настраиваешь вечно опережающие поручни эскалатора.
В общем и целом я хотел сказать, что контроллер должен быть правильно настроен. Тогда он и работать будет правильно.
Если настроить методом тыка, то и результат будет соответствующий.
Методом тыка есть смысл разбираться в его работе. А вот окончательная настройка уже должна быть осознанной.
Скорее всего неправильно настроены, или вообще не настроены параметры 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 (9.64 КБ) 4072 просмотра
- индеецпетя
- Мастер
- Сообщения: 263
- Зарегистрирован: 12 янв 2018, 07:07
- Репутация: 56
- Настоящее имя: Стас
- Откуда: Красноярск
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
Спасибо, попробую ещё раз отстроить по этим рекомендациям
-
- Кандидат
- Сообщения: 54
- Зарегистрирован: 28 ноя 2019, 21:18
- Репутация: 2
- Настоящее имя: Игорь
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
добрый день господа коллеги. отзовитесь кто пользуется данным устройством. в этом практически не смыслю) поэтому уповаю на вашу отзывчивость. интересуют какие параметры вы применяете ( и почему желательно) . важно просто указать чего и сколько выставить.
- inFamous
- Мастер
- Сообщения: 801
- Зарегистрирован: 04 янв 2018, 15:33
- Репутация: 278
- Контактная информация:
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 коэффициентами.
Интегральный в большинстве случаев, лучше вообще не использовать. Если только не настраиваешь вечно опережающие поручни эскалатора.
В общем и целом я хотел сказать, что контроллер должен быть правильно настроен. Тогда он и работать будет правильно.
Если настроить методом тыка, то и результат будет соответствующий.
Методом тыка есть смысл разбираться в его работе. А вот окончательная настройка уже должна быть осознанной.
Если поставить FF Proportional 3.2 ( меня тоже 640 на мм), ось начинает двигаться будто подклинивает, рывками. Мало того, станок перестает держать размер, т.е. ось шагает явно больше чем надо. Это при нулевых коэффициентах. Если менять коэффициенты PID, то ситуация вообще усугубляется спонтанными рывками, стопорениями и прочими расколбасами.
Если же выставить FF Proportional 0 и крутить ПИДы, то ось четко и плавно ходит, и вполне себе настраивается отзывчивость. Так что непонятки какие то с этим контроллером.
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
Да так оно работает.
И все должно быть в порядке с контроллером.
У меня во всяком случае работает ровно так, как и должно.
То, что ось движется неравномерно — не существенно на данном этапе. Смягчить равномерность вывода можно на выходе (Smooth рядом с Max Output Freq). Но вот проезжать больше чем задумано, не должна. Что-то ты напутал. На сколько больше проезжает, или во сколько раз больше?
Везде все по нолям, кроме начального множителя и FF Proportional? Надо было скриншоты сохранить.
Линейка 200 линий на мм? Шаговый мотор в режиме микрошага 1/16?
И все должно быть в порядке с контроллером.
У меня во всяком случае работает ровно так, как и должно.
То, что ось движется неравномерно — не существенно на данном этапе. Смягчить равномерность вывода можно на выходе (Smooth рядом с Max Output Freq). Но вот проезжать больше чем задумано, не должна. Что-то ты напутал. На сколько больше проезжает, или во сколько раз больше?
Везде все по нолям, кроме начального множителя и FF Proportional? Надо было скриншоты сохранить.
Линейка 200 линий на мм? Шаговый мотор в режиме микрошага 1/16?
- inFamous
- Мастер
- Сообщения: 801
- Зарегистрирован: 04 янв 2018, 15:33
- Репутация: 278
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
Линейка 0,005 ммmichael-yurov писал(а):Да так оно работает.
И все должно быть в порядке с контроллером.
У меня во всяком случае работает ровно так, как и должно.
То, что ось движется неравномерно — не существенно на данном этапе. Смягчить равномерность вывода можно на выходе (Smooth рядом с Max Output Freq). Но вот проезжать больше чем задумано, не должна. Что-то ты напутал. На сколько больше проезжает, или во сколько раз больше?
Везде все по нолям, кроме начального множителя и FF Proportional? Надо было скриншоты сохранить.
Линейка 200 линий на мм? Шаговый мотор в режиме микрошага 1/16?
Шаговый ставил на пробу на все режимы от 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
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
Не страшно. Важно, чтобы расстояние проезжала приблизительно верное. А скрежет, как я и сказал, можно убрать "смягчив" сигнал на выходе. Хотя, вроде бы, при стабильном исходном сигнале — на входе скрежета не должно было бы быть.inFamous писал(а):как только FF Proportional меняешь на любую величину (даже на правильную), то начинается скрежет и дёрганье будто оси ржавые
Это понятно... Но только P D коэффициентами не добиться такой скорости реакции и точности, как вместе с FF коэффициентами.inFamous писал(а):Но если его поставить в ноль и пропорциональный менять с дифференциальным то всё более менее ездит, плавно, красиво, в размер попадает по перемещению.
Ну, какой разделитель задан в системе, такой и будет. В России принята запятая. Я не помню, уже как сделал. Скорее всего просто не сможешь ввести неправильный разделитель. Видно же должно быть, что ввел. Ну и после загрузки параметров из платы должно показывать.inFamous писал(а):Кстати, не может быть косяк что у вас в проге точка не ставится на дробных, а только запятая?
Что это значит? Какая именно? Скрежет, или значительная ошибка в дистанции перемещения?inFamous писал(а):то та же ботва.
Если исходный сигнал нестабильный, то производная от него только хуже сделает (если не сгладить / усреднить).inFamous писал(а):Derrivative только усугубляет ситуацию, пробовал целый спектр значений, от 0.01 до 50, чем больше число, тем больше ось как бы клинит и рассогласование по размерам становится неприличным - до 20-30 мм и т.д.
А вот это уже объяснимо. Возможно, из за скачков частоты сигнала могут пропускаться очень короткие импульсы. Попробуй смягчить на выходе. Должно помочь.inFamous писал(а):Извиняюсь, перепутал, в меньшею сторону брешет - в Мак3 прошагало 40 мм, в реале - 15 мм
Я с LPT не пробовал, как будет работать.
Ну тут уж извини. Я рассказал, как должно быть правильно. Сразу не получилось, видимо, из за очень низкой частоты работы LPT и очень низкой стабильности. Для этого и добавил параметр сглаживания. Иначе тут получается период обратной связи короче, чем длительность одного импульса от mach3. Контроллер успевает поплясать вокруг каждой позиции, пока там LPT новый импульс сгенерирует. Может быть отсюда и скрежещащий звук.inFamous писал(а):Т.е. меня как бы устраивает регулирование по PID чисто, без этих коэффициентов, но сегодня убил вечер пробуя по вашей рекомендации настраивать, и безрезультатно.
Но это не точно.
- индеецпетя
- Мастер
- Сообщения: 263
- Зарегистрирован: 12 янв 2018, 07:07
- Репутация: 56
- Настоящее имя: Стас
- Откуда: Красноярск
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
а какая при этом ошибка позиции? И какая масса двигается?inFamous писал(а):то начинается скрежет и дёрганье
У меня такие настройки и отставание 15-20 импульсов на скорости 800мм, но шаговики крутят через планетарный 1:10, а это явное превышение их возможности, деление шага не выставлено.
- inFamous
- Мастер
- Сообщения: 801
- Зарегистрирован: 04 янв 2018, 15:33
- Репутация: 278
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
причиной может служить хреновый сигнал с LPT?michael-yurov писал(а):Не страшно. Важно, чтобы расстояние проезжала приблизительно верное. А скрежет, как я и сказал, можно убрать "смягчив" сигнал на выходе. Хотя, вроде бы, при стабильном исходном сигнале — на входе скрежета не должно было бы быть.inFamous писал(а):как только FF Proportional меняешь на любую величину (даже на правильную), то начинается скрежет и дёрганье будто оси ржавыеЭто понятно... Но только P D коэффициентами не добиться такой скорости реакции и точности, как вместе с FF коэффициентами.inFamous писал(а):Но если его поставить в ноль и пропорциональный менять с дифференциальным то всё более менее ездит, плавно, красиво, в размер попадает по перемещению.Ну, какой разделитель задан в системе, такой и будет. В России принята запятая. Я не помню, уже как сделал. Скорее всего просто не сможешь ввести неправильный разделитель. Видно же должно быть, что ввел. Ну и после загрузки параметров из платы должно показывать.inFamous писал(а):Кстати, не может быть косяк что у вас в проге точка не ставится на дробных, а только запятая?Что это значит? Какая именно? Скрежет, или значительная ошибка в дистанции перемещения?inFamous писал(а):то та же ботва.Если исходный сигнал нестабильный, то производная от него только хуже сделает (если не сгладить / усреднить).inFamous писал(а):Derrivative только усугубляет ситуацию, пробовал целый спектр значений, от 0.01 до 50, чем больше число, тем больше ось как бы клинит и рассогласование по размерам становится неприличным - до 20-30 мм и т.д.А вот это уже объяснимо. Возможно, из за скачков частоты сигнала могут пропускаться очень короткие импульсы. Попробуй смягчить на выходе. Должно помочь.inFamous писал(а):Извиняюсь, перепутал, в меньшею сторону брешет - в Мак3 прошагало 40 мм, в реале - 15 мм
Я с LPT не пробовал, как будет работать.
Ну тут уж извини. Я рассказал, как должно быть правильно. Сразу не получилось, видимо, из за очень низкой частоты работы LPT и очень низкой стабильности. Для этого и добавил параметр сглаживания. Иначе тут получается период обратной связи короче, чем длительность одного импульса от mach3. Контроллер успевает поплясать вокруг каждой позиции, пока там LPT новый импульс сгенерирует. Может быть отсюда и скрежещащий звук.inFamous писал(а):Т.е. меня как бы устраивает регулирование по PID чисто, без этих коэффициентов, но сегодня убил вечер пробуя по вашей рекомендации настраивать, и безрезультатно.Но это не точно.
попробую подкинуть станку Smoothstepper, это точно исключит вину LPT и его приколы
- inFamous
- Мастер
- Сообщения: 801
- Зарегистрирован: 04 янв 2018, 15:33
- Репутация: 278
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
ошибка позиции гигантская. Вес оси от силы 20 кгиндеецпетя писал(а):а какая при этом ошибка позиции? И какая масса двигается?inFamous писал(а):то начинается скрежет и дёрганье
У меня такие настройки и отставание 15-20 импульсов на скорости 800мм, но шаговики крутят через планетарный 1:10, а это явное превышение их возможности, деление шага не выставлено.
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
Ну, если время свое не жалко, можешь попробовать. Я бы не надеялся, что что-то изменится при тех же частотах сигнала.inFamous писал(а):попробую подкинуть станку Smoothstepper, это точно исключит вину LPT и его приколы
Я написал, что рекомендую включить "smooth" на выходе контроллера (для пробы поставить 10 — 20 периодов). В плане проблемы скрежещащего звука именно это должно помочь.
Можно еще частоту исходного сигнала поднять, например, в 10 раз, и задать множитель на входе = 0,1 (в теории может помочь, но я не пробовал). Ну и микрошаг не 1/2 сделать, а помельче.
- michael-yurov
- Почётный участник
- Сообщения: 11626
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4634
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
Что-то мне сильно не нравится ограничение выходной частоты в 100 Гц. Этот параметр лучше оставить равным нолю.индеецпетя писал(а):У меня такие настройки и отставание 15-20 импульсов на скорости 800мм, но шаговики крутят через планетарный 1:10, а это явное превышение их возможности, деление шага не выставлено.
- индеецпетя
- Мастер
- Сообщения: 263
- Зарегистрирован: 12 янв 2018, 07:07
- Репутация: 56
- Настоящее имя: Стас
- Откуда: Красноярск
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
попробую конечно, но сейчас еще раз перечитал настройку и смысл FF и немного опешил , оказывается я простым перебором цифр подошел к правильной цифре, она должна быть 8, но потом не имея теоретического понимания настройки снизил этот параметр до 6,4.michael-yurov писал(а):Что-то мне сильно не нравится ограничение выходной частоты в 100 Гц. Этот параметр лучше оставить равным нолю.
- inFamous
- Мастер
- Сообщения: 801
- Зарегистрирован: 04 янв 2018, 15:33
- Репутация: 278
- Контактная информация:
Re: Контроллер оптических линеек / энкодеров (Step/Dir)
Так и не смог добиться чего либо вменяемого с ненулевым 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.
Так или иначе, меня работа устраивает и чисто по настройкам PID.