УДК 004.02; 372 ББК 3 0.1
Р. В. Майер
О компьютерном моделировании технических систем в среде Jree Pascal
Рассматривается проблема использования компьютерных моделей при изучении различных технических устройств и овладении основами компьютерного моделирования. Особое внимание уделено построению математической модели и переходу от системы дифференциальных уравнений к компьютерной программе. Проанализированы модель автоматического регулятора скорости вращения и модель движения мотоцикла с мотоциклистом. Изучены различные режимы функционирования систем, приведены графики и рисунки. Представлена компьютерная программа в среде Jr.ee Pascal.
Ключевые слова: компьютерное моделирование, технические системы, обучение, система автоматического регулирования скорости.
R. V. Maier
About computer modeling of technical systems in the environment of Jree Pascal
The problem of use of computer models when studying various technical devices and learning of bases of computer simulation is considered. The special attention is paid to creation of mathematical model and transition from system of the differential equations to the computer program. The model of the automatic regulator of speed of rotation and model of movement of the motorcycle with the motorcyclist are analysed. Various modes of functioning of systems are studied,schedules and drawings are provided. The computer program in the environment of Jree Pascal is submitted.
Keywords: computer modeling, technical systems, training, system of automatic control of speed.
Введение
одготовка инженеров различных /'Р') // специальностей предполагает из-(у учение методов математического и компьютерного моделирования технических систем [2, 3]. При этом важно, чтобы студенты умели не только использовать различные специализированные пакеты программ, но и сами могли создать математическую модель того или иного устройства, разработать алгоритм и написать компьютерную программу и выполнить серию вычислительных экспериментов. Развитие методики изучения основ компьютерного моделирования требует подбора учебных задач, которые предполагают написание сравнительно несложных компьютерных программ, моделирующих поведение технических систем.
1. Модель системы автоматического регулирования скорости Рассмотрим систему автоматического регулирования скорости (рис. 1), состоящую из
двигателя постоянного тока 2, вал которого соединен с тахометром 3, подключенным к электронному устройству управления 1, регулирующему напряжение на обмотке якоря u(t). Вал двигателя соединен с управляемым объектом 4. Ток возбуждения, текущий через обмотку статора, остается неизменным; он создает магнитный поток Ф = const. Малоинерционный тахометр 3 выдает напряжение, пропорциональное скорости вращения ротора ю, которое поступает на вход устройства управления 1. Оно работает так: при отклонении скорости вращения вала от заданной величины происходит изменение напряжения питания на якоре двигателя u(t) на величину Ли в соответствии с определенным законом регулирования. В результате скорость вращение снова возвращается к заданному значению. Используя метод компьютерного моделирования, можно изучить работу этой системы автоматического управления при изменении механической нагрузки на валу.
Рис. 1. Система автоматического регулирования скорости вращения
Построим математическую модель. Запишем второй закон Кирхгофа для цепи якоря двигателя:
L—- + R + Ед = u(t) dt
где ЕЯ = крФ = Кр - противо-ЭДС, возникающая в обмотке якоря вследствие его вращения, Ф — поток возбуждения, L и R — индуктивность и сопротивление обмотки якоря, u(t)
— напряжение питания якоря. По основному закону динамики вращательного движения Ie = M
- MTP - MH, где I — момент инерции ротора двигателя, M = k-їФ = Kj — вращающий момент, действующий на ротор со стороны магнитного поля статора, Mrp = kp — тормозящий момент, действующий на ротор со стороны подшипников, MH(m) - механическая нагрузка на валу, e = dm/dt и a>=dty/dt — угловые ускорение и скорость вала. Получаем уравнения:
di u(t) — Ri — КтЮ dt L
—a_ K2i — K3a — MH dt
I
Чтобы учесть влияние цепи обратной связи, состоящей из тахометра и устройства управления, зададим закон регулирования. Он может выражаться зависимостью вида du/dt = a(A - т), где A — заданное значение угловой скорости. Если т < A, то du/dt > 0, то управляющее напряжение u и скорость ротора т растут, а если т > A, то du/dt < 0, u и т уменьшаются. В записанных дифференциальных уравнениях заменим производные их конечно-разностными аппроксимациями [2]:
•i+i -t U — Ri — КУ .
iM = it +-------------1— At
L
K2it — K3at — MH .
2 3 —H At
<at+l =at +
I
Закон регулирования du/dt = а(А - т) дает и‘+ = и‘ + а(А - т)Д1. Используемая программа, включает в себя цикл по времени t, в котором пересчитываются скорость т, ток i, механическая нагрузка на валу MH, а результаты выводятся в текстовом или графическом виде.
2. Результаты моделирования системы регулирования скорости
Сначала промоделируем работу машины постоянного тока в режиме двигателя и изучим, как изменяется угловая скорость ротора и ток якоря при включении и резком увеличении нагрузки. Результаты представлены на рис. 2.1. Видно, что при включении ток якоря резко возрастает, скорость т(t) начинает расти. Когда наступает равенство M = МТ + Мн (М = 0), скорость ротора т и ток якоря i достигают установившихся (предельных) значений. В момент t1 резко возрастает момент нагрузки Мн, скорость вращения ротора т уменьшается, потребляемый ток i растет, стремясь к новому предельному значению.
Теперь рассмотрим замкнутую САУ, состоящую из двигателя (МПТ), тахометра, цепи управления. Пусть закон регулирования напряжения питания двигателя задан так:
t+1 | и — Ь1, о > А + ДА,
Ы — л
\и + Ь^, о < А — ДА.
Для моделирования этой системы используется программа из [1]; результаты — на рис. 2.2. Так как при включении системы т = 0 < А - ДА, то сначала напряжение питания и растет, ток якоря i и его скорость т увеличиваются. Когда т > А + ДА, управляющее напряжение начинает уменьшаться, уходя в область отрицательных значений. Скорость ротора падает, снова проскакивая заданное значение А. После двух-трех затухающих колебаний скорость системы стабилизируется в интервале А ± ДА. В момент t2 скачком увеличивается момент нагрузки на валу, угловая скорость т резко уменьшается. Напряжение питания и и ток i якоря растут, затем уменьшаются, совершая затухающие колебания относительно нового положения динамического равновесия. Скорость ротора т после нескольких колебаний опять стабилизируется в интервале А ± ДА.
Программа представленная в [1] позволяет исследовать функционирование анализируемой САУ в случае, когда закон регулирования имеет вид: du/dt = Ь(А - т), то есть напряжения питания двигателя изменяется пропорционально отклонению т от заданного значения А. Получа-
ш
т
®(г) мн(і)
со(і),і(і),Мн(і)
Рис. 3. К задаче о моделировании движения мотоцикла
Рис. 2. Результаты компьютерного моделирования работы двигателя и автоматического регулятора скорости
ющиеся графики представлены на рис. 2.3. Видно, что при резком изменении момента нагрузки Мн скорость ротора, совершив несколько колебаний, возвращается к заданному значению А. Модель позволяет изучить поведение системы при равномерном увеличении механической нагрузки на валу Мн. Допустим, что коэффициент Ь в законе регулирования для случаев т < А и т > А имеет различные значения. Получающиеся результаты приведены на рис.2.4; видно что, когда коэффициент Ь при т < А и т > А неодинаков, кривые колебаний i(t) и т ф относительно установившихся значений несимметричные.
3. Моделирование движения мотоциклиста
Рассмотрим модель движения мотоцикла с мотоциклистом по неровной дороге. Подобная модель движения автомобиля рассмотрена в [3, с. 71—73]. Будем считать, что мотоциклист и мотоцикл образуют единое тело, — мотоцикл, упрощенная модель которого состоит из 6 материальных точек, связанных между собой вязкоупругими связями. Массы частиц 5 и 6 равны массам колес, а массы частиц 1, 2, 3 и 4 подбираются так, чтобы их общая масса была бы равна массе мотоцикла, а центр масс распола-
гался где-то посередине вблизи точки O (рис. 3.1). Частицы соединены между собой связями, каждая из которых состоит из упругого элемента жесткостью k и диссипативного элемента с коэффициентом вязкости г.
В начале программы задаются координаты частиц и рассчитываются расстояния s. между ними, когда мотоцикл находится в недефор-мированном состоянии. Она содержит цикл по времени, в котором пересчитываются ускорения, координаты и скорости всех частиц системы по формулам:
а(г + Аг) = (F (т) + N (т) + mg + Fm (т) + Fmp (т)) / m
и(т + Ат) = и(т) + а (т + Ат)Ат r (т + Ат) = r (т) + и(т + Ат)Ат
Здесь F вязкоупругая сила между частицами системы, N — сила реакции дороги, mg — сила тяжести, F — сила тяги, F — сила трения.
7 m 7 mp г
{$N+}uses crt, graph;
const N=6; rs=0.1; dt=0.001; x0=0; y0=25; var kk.nn,i,il,i2,j,DV,MV: integer; xc ,yc ,yy , ax,ay,mni,FT,FN,F,r ,rl ,k,t ,l,al: single ; m,x,y,vx,vy,Fx,Fy: array[0. .6] of single; s,sl: array[0.,6,0.,6] of single;
Procedure Sila; begin
For i:=l to N do begin Fx[i] : =0; Fy[i] :=0; end;
For i:=l to N do For j:=i to N do begin If (jOi) then begin k:=5E+5; r:=4E-3;
If (i>4)or(j>4) then begin k:=8000; r:=2E-3; end;
1: =sqrt ( sqr (x [i] -x [ j ] ) +sqr ( у [i] -y [ j ] ) ) ;
F: =k*(s[i, j]-1); Fx[i] :=Fx[i] + (Fr* (1-s 1 [i, j]) /dt) * (x [i] -x [j]) /(1+1E-3);
Fy [i] : =Fy [i] + (F-r* (1-s 1 [i , j] ) /dt) *(y [i] -y [j] )/
(l+lE-3)-m[i]*9.8; end; end; end; BEGIN DV:=Detect; InitGraph(DV,MV,’c:\bp\bgi’); x[l] :=-40+x0; y[l]:=y0; x[2] :=40+x0; y[2]:=y0; x[3]:=x0; y[3]: = 15+y0; x[4] :=x0; y[4] :=y0-15; x [5] : =-40+x0; у [5] : =y0-30; x [6] : =40+x0; y[6]:=y0-30; For i:=l to 4 do m[i] : = 180; m[3]:=50; m[2] :=150; m[5] : =15; m[6] :=15;
For i:=l to 6 do begin vx[i] :=40; mm: =ram+m[i] ; end;
For i:=l to 6 do For j:=l to 6 do
s[i. j] :=sqrt(sqr(x[i]-x[j] )+sqr(y [i]-y [j] )) ;
Repeat t:=t+dt; For i:=l to 6 do For j:=1 to 6 do sl[i,j] :-sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j])); Sila;
Сила тяги приложена к заднему колесу мотоцикла.
Сила взаимодействия между частицами и ее проекции рассчитываются так:
Руп,1 = к (¿и - 1а )
lij
F = V
IX /
j=1
At
X - xj
J lu
F =V
iy
j=1
где d.. -
^ (^ r Ни - dij) 1 y - у,
F . —
У», j
At
mig
расстояние между i-ой и j-ой частицами на предыдущем шаге. Следует учесть, что сила реакции возникает во время касания колесами дороги, и ее модуль N зависит от b = Aycosa, где Ay = y. - y(x) (i = 5 или 6), y(x) — функция, определяющая профиль дороги (рис.
inc(fek); For i:=l to 6 do begin If (x[i]>100)and (x[i]<300) then al:=0.1 else al:=0; yy:=sin(al)*(x[i]-100)/cos(al); If y[i]<yy then begin FN:=abs(iE+4*(y[i]-yy)*cos(al)); rl:=2500; end else begin FN:=0; rl:=0; end; If (y[5]<0) and(i=5)and(t<2) then FT:=4E+4 else FT:=0; ax:=(Fx[i]-FN*sin(al)+FT*cos(al)-rs*vx[i]*cos(al)) /m[i] ; ay: = (Fy [i]+FN*cos(al)+FT*sin(al)-rs*vy[i]* cos(al)-rl*vy[i]*cos(al))/m[i] ; vx[i] : =vx[i] +ax*dt; vy [i] : =vy [i] +ay*dt; x [i] : =x [i] +vx [i] *dt; у [i] :=y [i]+vy [i] *dt; end; delay(80);
If kk mod 100=0 then begin kk:=0; cleardevice; line(0,420,640,420); line(100,420,300,420-round (sin(0.1)*200/cos(0.1)));
line(round(x[1]),400-round(y[1]),round(x[2]), 400-round(y[2])); line (round (x [1] ) ,400-round(y [1]), round(x[5]) ,400-round(y [5] )); line (round (x [2]) ,400 -round(y[2]),round(x[6]),400-round(y[6])); line (round(x[5] ) ,400-round(y [5]) ,round(x[6l) ,400-round(y[6])); For i:=l to 6 do begin xc :=xc+m[i] *x [i] ; yc :=yc+m[i] *y [i] ; end; xc:=xc/mm; yc:=yc/mm; circle(round(xc),round(400-yc),1);
For i:=l to 6 do begin circle(round(x[i]),round(400 —у [i] ) , 2) ; end; circle (round (x [5] ), round (400-y [5] ) , 20); circle(round(x[6]),round(400-y[6]),20); end; until KeyPressed; ReadKey; CloseGraph;
END. ' ’
Рис. 4. Компьютерная программа и результаты моделирования движения мотоциклиста
2
3.3). Проекции N: Nx = —Nsina, Ny = Ncosa (рис. 3.2). Сила тяги приложена к точке т5 и действует во время касания заднего колеса и поверхности; ее проекции Fx = Fcosa, Fy = Fsina. Модуль силы тяги зависит от b = Aycosa.
4. Программа и результаты моделирования
Ниже представлена компьютерная программа, написанная в среде Free Pascal, которая позволяет промоделировать движение мотоцикла по неровной поверхности в случае, когда сила тяги изменяется заданным образом. Если начальная скорость мотоцикла мала, а мотоциклист дает газ, то при определенном соотношении силы тяги, времени ее действия и распределения массы мотоцикл может встать “на дыбы” (рис 4.1), а затем вернуться в нормальное положение. Если увеличить силу тяги или время ее действия, то мотоцикл перевернется назад. При небольшой силе тяги мотоцикл ускоряется вправо, его корпус совершает крутильные колебания вокруг оси проходящей через центр масс
С перпендикулярно рисунку. На рис 4.2 показан результат моделирования при разгоне мотоцикла и прыжке с небольшого трамплина; на рис. 4.3 — при движении по волнистой поверхности. Компьютерное моделирование позволяет изучить вопрос об оптимальном расположении центра масс мотоцикла, при котором он после отрыва от трамплина движется практически поступательно, не заваливаясь вперед или назад. Программа после небольших изменений позволяет получить график крутильных колебаний корпуса мотоцикла.
Заключение. Использование рассмотренных выше компьютерных моделей способствует развитию умения анализировать технический объект, осуществлять переход от качественной к математической, а затем и компьютерной модели, приводит к повышению интереса к программированию и применению ИТ при исследовании технических систем. Все это необходимо сочетать с освоением современных программных пакетов, предназначенных для компьютерных симуляций.
ЛИТЕРАТУРА
1. Майер Р.В. Задачи, алгоритмы, программы [Электронный ресурс]. Режим доступа: http://maier-rv.glazov.net (http://mayer. hop.ru). (дата обращения: 12.01.2014)
2. Самарский А.А., Михайлов А.П. Математическое моделирование: Идеи. Методы. Примеры. - М: Физматлит, 2001. - 320 с.
3. Тарасик В.П. Математическое моделирование технических систем: Учебник для вузов. - Мн.: ДизайнПРО, 2004. - 640 с.
REFERENCES
1. Maier R.V. Zadachi, algoritmy, programmy [Tasks, algorithms, programs]. Available at: http://maier-rv.glazov.net; mayer.hop.ru (accessed 12 February 2014).
2. Samarskii A.A., Mikhailov A.P Matematicheskoe modelirovanie: Idei. Metody. Primery [Mathematical modeling: Ideas. Methods. Examples.]. Moscow, Fizmatlit, 2001. 320 p.
3. Tarasik VP Matematicheskoe modelirovanie tekhnicheskikh sistem: Uchebnik dlia vuzov [Mathematical modeling of technical systems: Textbook for Universities]. Minsk, DizainPRO, 2004. 640 p.
Информация об авторе
Майер Роберт Валерьевич
(Россия, Глазов)
Доцент, доктор педагогических наук, профессор кафедры физики и дидактики физики. Глазовский государственный педагогический институт им. В.Г.Короленко.
E-mail: [email protected]
Information about the author
Mayer Robert Valerievich
(Russia, Glazov)
Associate Professor, Doctor of Pedagogical Sciences, Professor of the Department of Pphysics and Didactic of Physics. The Glazov Korolenko State Pedagogical Institute.
E-mail: [email protected]