Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
Поправьте меня, если что-то принципиально не так по одному из пунктов.
З а м е ч а н и е. В силу а) и б) интегратор, зашитый в движок интегрирует не скорость, а ток, силу которого Вы можете спокойно сделать пропорциональной координате. Выйдя в установившийся режим, двигатель начнет вращаться с угловой скоростью, пропорциональной току. Уже не сам двигатель, а по сути механика, подключенная к нему, выполняет интегральный закон, осуществляя линейное перемещение, скорость которого пропорциональна угловой скорости вращения двигателя. Координата будет являться интегралом от скорости перемещения, а, стало быть, и интегралом от угловой скорости вращения двигателя, а стало быть, и интегралом от силы тока на входе двигателя, а, стало быть, и от координаты, которой сила тока, как уже было сказано, пропорциональна.
Таким образом, в Ваш объект управления уже зашит интегратор который интегрирует координату и выдает координату.
Р е ш е н и е.
1. Итак, наша система будет состоять из следующих элементов:
- дискриминатора (Д), роль которого состоит в выработки сигнала ошибки - e(t) по поступившим на входы сигналам заданного значения координаты головки - g(t) и сигналу измеренного значения координаты головки - y(t). По сути Д выполняет операцию:
e(t)=g(t)-y(t). (1)
- устройства управления (УУ), которое будет реализовывать Ваш алгоритм управления по поданному на вход сигналу ошибки e(t);
- преобразователя сигнала с выхода УУ в ток, подаваемый на обмотки двигателя;
- двигателя, сопряженного с механикой перемещения;
- измерительного устройства, цель которого измерить положение головки и выдать его в виде сигнала y(t).
2. Теперь определимся с моделями устройств
- двигатель + механика пусть будет иметь передаточную функцию:
Wдв(s)=Kдв/[s*(1+Tдв*s)], (2)
где Тдв - постоянная времени двигателя, характеризующая его инертность, Kдв - коэффициент передачи двигателя + механической части линейного перемещения головки.
Примем Кдв = 1 (метры/Амперы)*сек^(-1),
Тдв = 0.1 сек.
3. Будем считать, что преобразователь сигнал ошибки-ток является безынерционным динамическим звеном с коэффициентом передачи равным:
Кпр = 1 Амперы/метры.
Если принятые значения коэффициентов передачи отличаются от реальных, то учтем эти поправки в коэффициенте передачи УУ.
4. Если попытаться сделать УУ в виде безынерционного звена с некоторым коэффициентом передачи Куу, то возникнет проблема перерегулирования, которое в Вашем случае является недопустимым. Поэтому необходимо в УУ внедрить корректирующее звено.
О том, как его синтезировать, можно догадаться, прочитав всего полторы странички книги "Радиоавтоматика" под ред. В.А. Бесекерского (книга у меня есть в электронном виде - если что могу выслать). Стр. 87-88. Ваша задача будет сводиться к тому, чтобы сделать показатель колебательности М равным 1.
Если построить годограф разомкнутого контура системы с безынерционным УУ, то получим
W(s)= К/[s*(1+Tдв*s)], (3)
где К = Kуу*Кдв*Кпр - результирующий коэффициент передачи разомкнутого контура.
Отсюда ясно, что для того, чтобы годограф (или иначе амплитудно-фазовая характеристика - АФХ) разомкнутого контура не заходил левее прямой U=-0.5 слева (эта прямая, как ясно из книги есть граница коэффициента колебательности равного 1, поэтому за нее заходить нельзя).
Я буду считать, что годограф системы (3) Вы в состоянии построить сами. Для самоконтроля лишь скажу, что она имеет вертикальную ассимптоту U=0 при V стремящемся к +беск. (это происходит при частоте w стремящейся к нулю). Поэтому считаю, что для Вас очевидно, что добиться того, чтобы АФХ не заходила за эту прямую, можно и при безынерционном звене. Однако для этого потребуется, чтобы результирующий коэффициент передачи К был бы достаточно малым, что приведет к тому, что система будет работать медленно.
5. Чтобы поправить это введем в УУ корректирующее звено. Я могу предложить такое корректирующее звено, которое искривит АФХ так, что при изменении частоты w от 0 до бесконечности АФХ будет не плавно приближаться из бесконечности вниз, описывая при этом в левой полуплоскости небольшую дугу и после этого упираясь в начало координат, а будет при некоторых значениях частоты временно заходить в правую полуплоскость (чтобы подальше отойти от запретной границы) и потом опять вернется в левую полуплоскость, но уже с достаточно малым значением модуля, что позволит избежать соприкосновение и тем более пересечения с прямой U=-0.5.
Звено, которое выполнит эту операцию, будет иметь вид:
(1+T1*s)/(1+T2*s),
в котором постоянные времени выбраны так, что:
Т1>Tдв>T2 (что будет соответствовать соотношению в частотах среза
(1/T1)<(1/Tдв)<(1/T2))
При указанных ранее значениях констант могу привести примерные значения для них: T1=1,5 сек, T2=0,005 сек. Куу при этом можно взять равным 4.
6. Я промоделировал это дело в симулинке - получил более-менее приемлемый результат - без всякого перерегулирования.
7. Нелинейное звено, которое я упоминал в пред. посте, можно дополнительно поставить сразу же после корректирующего звена. Это позволит немного подкорректировать поведение головки во времени, когда она уже приближается к заданному положению. Но это имеет смысл пытаться делать только в том случае, если Вы хотите не ставить корректирующее звено. Со звеном коррекции дополнительная нелинейность, пожалуй, будет лишней.