2015-11-18 7 views
2

Я реализую ПИД-регулирование для управления скоростью двигателя. В спецификации мне сказали внедрить технологию фильтрации, используя следующее уравнение для части D. Я закончил с внедрением PI-управления, и он отлично работает для меня.D часть расчета PID

enter image description here

Теперь я понял, до сих пор является то, что S представляет "dx/dt", как правило, что соответствует скорости изменения ошибки, но здесь я могу связать его со скоростью изменения сигнала обратной связи. Td/N предназначен для ограничения выходного коэффициента усиления (надеюсь, я понял это правильно). Теперь, чтобы представить это с точки зрения кода C, я попытался следующим образом.

s = (CurrentFeedback()-Old_Feedback)*100/(MaxFeedback()); //to calculate the % change in feedback 
    s = s*1000/sampleTime;  //1000 is multiplied because sampleTime is in milliseconds 
    D = (Td*s)/(1+(s*Td/N)); 
    D = D*KP; //Kp is multiplied as per the standard pid equation. 

    Old_Feedback = CurrentFeedback(); 
    PID = P+I-D; 

Ну, результаты добавления D не являются тем, что я предсказал. Я просто хочу знать, что ... я правильно реализую уравнение части D? Я ошибаюсь в понимании основных математических различий?

ПРИМЕЧАНИЕ: Я не имею права изменять пересчет kp, ti, td, поскольку он поступает непосредственно из VFD. Заранее большое спасибо. Извините за плохой английский.

+0

Не должно ли изменение процента быть '(текущим-старым)/старым?? Почему у вас есть «max» в знаменателе? – thelaws

+0

хорошо, я положил max, потому что максимальное возможное изменение обратной связи - это mx feedback it self .... – SPandya

+0

Я подозревал бы целое деление. Насколько велика 'N' по сравнению с' s * Td'? Если он больше, ваш младший член округляется до 1. и если 'N' меньше, чем' Td', вся формула усекается до 0. – AShelly

ответ

0

Всякий раз, когда время выборки достаточно велико и чувствительность меры высока, D только добавляет шум, потому что любое небольшое изменение будет немедленно атаковано с помощью элемента управления D, создавая ужасную пульсацию в конце. В большинстве систем вам не нужен D, если вы можете жить с более медленным контролем. Если вы все еще хотите использовать D, убедитесь, что он намного меньше, чем P и I.

И, возможно, вы можете изменить свой последний символ.

+0

В основном D будет оставаться только ... но если пользователь активирует его, система должна быть достаточно способна справиться с этим – SPandya

 Смежные вопросы

  • Нет связанных вопросов^_^