exponenta event banner

Проектирование контроллера головки чтения/записи жесткого диска

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

Создание модели головки чтения/записи

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

$$J\frac{{{d^2}\theta }}{{d{t^2}}} + C\frac{{d\theta }}{{dt}} + K\theta = {K_i}i$$

Здесь,

  • $J$ - инерция узла головки.

  • $C$ - коэффициент демпфирования вязкости подшипников.

  • $K$ - постоянная возвратной пружины.

  • $K_i$ - постоянная крутящего момента двигателя.

  • $\theta$ - угловое положение головки.

  • $i$ - входной ток.

Принимая преобразование Лапласа, передаточная функция от$i$ до$\theta$

$$H(s) = \frac{{{K_i}}}{{J{s^2} + Cs + K}}.$$

Укажите физические константы модели, чтобы:

  • $J = 0.01\;kgm^2$

  • $C = 0.004\;Nm/(rad/sec)$

  • $K = 10\;Nm/rad$

  • $K_i = 0.05\;Nm/rad$

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    

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

Добавление коэффициента усиления компенсатора

Простейший компенсатор - коэффициент усиления без полюсов или нулей. Попробуйте выбрать соответствующий коэффициент усиления обратной связи с помощью метода root locus. Локус корня отображает траектории полюсов с замкнутым контуром как функцию коэффициента усиления обратной связи.

rlocus(Hd)

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

Добавление сети потенциальных клиентов

Определите компенсатор выводов с нулем$\alpha = -0.85$ в и полюсом в.$b = 0$

$$D(z) = \frac{{z + \alpha }}{{z + b}}$$

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')

Компенсатор добавляет свинец к системе, которая сдвигает фазовый отклик вверх в частотном диапазоне.$\omega > 10$

Проверьте поведение системных полюсов с замкнутым контуром, используя график корневого локуса. Установите пределы обоих x-axis и y-axis из -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-dB или 40-градусное отставание фазы в системе с разомкнутым контуром без нестабильности. Продолжая этот процесс проектирования, вы можете найти компенсатор, который стабилизирует систему с разомкнутым контуром и еще больше сокращает время поиска.

См. также

| | |