Спроектируйте Контроллер Комбинированной головки Жесткого диска

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

Создайте Модель Комбинированной головки

Используя законы Ньютона, смоделируйте комбинированную головку с помощью следующего дифференциального уравнения:

Здесь,

  • инерция блока головок.

  • вязкий коэффициент затухания подшипников.

  • коэффициент упругости возврата.

  • моторный постоянный крутящий момент.

  • угловое положение головы.

  • текущий вход.

Беря Преобразование Лапласа, передаточная функция от к

Задайте физические константы модели, такой что:

J = 0.01;
C = 0.004;
K = 10;
Ki = 0.05;

Задайте передаточную функцию с помощью этих констант.

num = Ki;
den = [J C K];
H = tf(num,den)
H =
 
           0.05
  -----------------------
  0.01 s^2 + 0.004 s + 10
 
Continuous-time transfer function.

Дискретизируйте модель

Чтобы спроектировать цифровой контроллер, который обеспечивает точное расположение комбинированной головки, сначала дискретизируйте объект непрерывного времени.

Задайте шаг расчета.

Ts = 0.005;

Дискретизируйте модель. Поскольку у контроллера будет цифро-аналоговый преобразователь (с нулевым порядком, содержат), соединенный с его входом, используйте c2d команда с 'zoh' метод дискретизации.

Hd = c2d(H,Ts,'zoh')
Hd =
 
  6.233e-05 z + 6.229e-05
  -----------------------
   z^2 - 1.973 z + 0.998
 
Sample time: 0.005 seconds
Discrete-time transfer function.

Сравните Диаграммы Боде моделей непрерывного и дискретного времени.

bodeplot(H,'-',Hd,'--')
legend('Continuous-time','Discrete-time')

Чтобы анализировать дискретизированную систему, постройте ее переходной процесс.

stepplot(Hd)

Переходной процесс имеет значительное колебание, которое происходит, скорее всего, из-за легкого затухания. Проверяйте затухание на полюса разомкнутого цикла системы.

damp(Hd)
                                                                                    
         Pole             Magnitude     Damping       Frequency      Time Constant  
                                                    (rad/seconds)      (seconds)    
                                                                                    
  9.87e-01 + 1.57e-01i     9.99e-01     6.32e-03       3.16e+01         5.00e+00    
  9.87e-01 - 1.57e-01i     9.99e-01     6.32e-03       3.16e+01         5.00e+00    

Как ожидалось полюса имеют легкое эквивалентное затухание и около модульного круга. Поэтому необходимо спроектировать компенсатор, который увеличивает затухание в системе.

Добавьте усиление компенсатора

Самый простой компенсатор является фактором усиления без полюсов или нулей. Попытайтесь выбрать соответствующее усиление обратной связи с помощью метода корневого годографа. Корневой годограф строит траектории полюса с обратной связью как функцию усиления обратной связи.

rlocus(Hd)

Полюса быстро оставляют модульный круг и идут нестабильные. Поэтому необходимо ввести некоторый вывод системе.

Добавьте ведущую сеть

Задайте ведущий компенсатор с нулем в и полюсом в.

D = zpk(0.85,0,1,Ts);

Соответствующая модель разомкнутого цикла является последовательной связью компенсатора и объекта.

oloop = Hd*D
oloop =
 
  6.2328e-05 (z+0.9993) (z-0.85)
  ------------------------------
     z (z^2 - 1.973z + 0.998)
 
Sample time: 0.005 seconds
Discrete-time zero/pole/gain model.

Чтобы видеть, как ведущий компенсатор влияет на частотную характеристику разомкнутого цикла, сравните Диаграммы Боде Hd и oloop.

bodeplot(Hd,'--',oloop,'-')
legend('Plant','Plant plus lead compensator')

Компенсатор добавляет вывод в систему, которая переключает фазовый отклик вверх в частотном диапазоне.

Исследуйте поведение системных полюсов с обратной связью с помощью графика корневого годографа. Установите пределы обоих x- ось и y- ось от -1 к 1.

rlocus(oloop)
zgrid
xlim([-1 1])
ylim([-1 1])

Полюса с обратной связью теперь остаются в модульном кругу в течение некоторого времени.

Чтобы создать маркер данных для графика, кликните по кривой корневого годографа. Найдите точку на кривой, где затухание является самым большим путем перетаскивания маркера. Максимальное затухание 0,782 соответствует усилению обратной связи 4.07e+03.

Анализируйте проект

Чтобы анализировать этот проект, сначала задайте систему с обратной связью, которая состоит из системы разомкнутого цикла с усилением обратной связи 4.07e+03.

k = 4.07e+03;
cloop = feedback(oloop,k);

Постройте переходной процесс с обратной связью.

stepplot(cloop)

Этот ответ зависит от вашего заданного значения с обратной связью. Один показанный здесь относительно быстр и обосновывается приблизительно за 0,06 секунды. Поэтому система дисковода с обратной связью имеет время поиска 0,06 секунд. В то время как это время поиска является относительно медленным по современным стандартам, вы также запустили со слегка ослабленной системы.

Это - хорошая практика, чтобы исследовать робастность вашего проекта. Для этого вычислите запасы по амплитуде и фазе для своей системы. Во-первых, сформируйте систему разомкнутого цикла обратной связи единицы путем соединения компенсатора, объекта и усиления обратной связи последовательно.

olk = k*oloop;

Затем вычислите поля для этой модели разомкнутого цикла.

[Gm,Pm,Wcg,Wcp] = margin(olk)
Gm =

    3.8360


Pm =

   43.3068


Wcg =

  296.7978


Wcp =

  105.4680

Эта команда возвращает запас по амплитуде, Gm, запас по фазе Pm, и их соответствующие частоты среза, Wcg и Wcp.

Преобразуйте запас по амплитуде в дБ.

20*log10(Gm)
ans =

   11.6775

Можно также отобразить поля графически.

margin(olk)

Этот проект устойчив и может терпеть увеличение с 11 усилениями дБ или задержку фазы с 40 степенями в системе разомкнутого цикла, не идя нестабильный. Путем продолжения этого процесса проектирования можно смочь найти компенсатор, который стабилизирует систему разомкнутого цикла и уменьшает время поиска далее.

Смотрите также

| | |