Совершенно верно... А величина коэффициента I - это та скорость, с которой ты имеешь право двигать этот триммер. И пока он не на месте - у тебя система работает чёрт знает как, вплоть до того, что она может идти в противоположную сторону.
Да что же ты все время ругаешь все что не как у тебя ? ? ? Нормально система работает при любых внешних воздействиях!!! И на всех графиках это четко видно. И никакими твоими провокационными просьбами ты не смог вывести систему из стабильного состояния. Приводи пожалуйста конкретные аргументы в цифрах.
ак я и говорил - задержка у системы в таком режиме существенно больше.
Нет, это коэффициент при P маловат оказался - надо на пересобрать будет программу с большим коэффициентом.
Нет. Это потому что у тебя разгонная реакция на воздействие. Ну по определению разгонная характеристика не может быть такой же как пропорциональная. Ну вообще никак. В любом случае будет запаздывание на разгон. Либо дикий перелет при торможении. Я же не поленился, в своем контроллере дописал твой вариант и пробовал поиграть с разными коэффициентами. Всегда задержка до выхода на необходимое состояние получается больше.
В реальной жизни сервы работать как у тебя нарисовано - не могут физически. У сервы есть время перекладывания направления движения ( надо выбрат люфты редуктора), т.е. если ты попробуешь серву дергать туда- сюда слишком часто- он просто будет стоять на месте. Плюс резкие переключения вязнут в упругости штанги и т.п.
У меня есть параметр задержка - и она 10ms. - Это ОЧЕНЬ много, реально задержки в серве существенно меньше. А еще у меня учитывается скорость перекладки серво. И она также настраивается.
Больше тебе скажу - в твоем варианте, мы с тобой вынуждены были отключить эмуляцию скорости серво. В твоем варианте сервы волшебные, они мгновенно занимают необходимое положение, тк. что у тебя еще упрощенный вариант.
Кстати родилась еще мысль. В моем варианте подключения мне абсолютно понятно как воткнуть серво в контроллер. Контроллер в любой момент времени говорит серве какое текущее положение должна занять серво.
А вот как ты собираешься командовать серве сдвинуться на +20 едениц? Нет такого в протоколе взаимодействия Контроллер - серва. Серва на входе ждет конкретное значение.
А если ты предположишь поставить еще модуль между серво и контроллером, который будет считать текущее положение сервы и команду на смещение и выдавать все это на серво,то откуда этот самый модуль будет брать фактическое положение серво?
P.S. Что-то устал я спорить на форуме.. какая-то бесконечная затея. Может перенести обсуждение в личку? Боюсь, что кроме нас с тобой это мало кому интересно. А если учесть что твой способ еще и не применяется реально в FBL, то информация может оказаться еще и вредной.