Балтийский государственный технический университет «Военмех» им. Д.Ф. Устинова
Отчет по домашнему заданию
Расчет динамики газового привода
Вариант 6
Выполнил: Подколзин А.С.
Группа А483
Проверил: Синильщиков В.Б.
г. Санкт – Петербург
2012 г
Задание:
Рассчитать динамику разгона объекта массой M=150 кг с использованием пневматического привода. Параметры воздуха в объеме 0 считать постоянными: давление p0=200×105 Па, T0=293 К. Начальный объем полости 1 V10=3×10-4 м3. Площади отверстий, соединяющих камеры: F02=1 см2, F01=0,6 см2, F2v=0,4 см2 Начальное давление и те6мпература воздуха в камерах 1 и 2 равны атмосферным. Движение груза начинается после того, как суммарная сила давления превысит силу тяжести. x1=0,4 м, hп=0,04 м, h12=0,02 м, h2=0,9 м, D=0,05 м, d=0,01 м. Расчет заканчивается после того, как перемещение поршня xп превысит 0,95h2. Трением пренебречь.
Рис.1 Схема установки
Текст программы:
Program catapult;
const M=150;p0=20000000;T0=293;V10=0.0003;g=9.81; Rg=287;mu=0.8;kg=1.4;dtwr=2.0e-4;
F01=0.00006;F02=0.0001;F2n=0.00004; cvg=Rg/(kg-1);cpg=kg*cvg;fi01=1;fi02=1;fi2n=1;
T10=293 ;p10=103300;T20=293;p20=103300; pn=p10;
x1=0.4;h2=0.9;hp=0.04;h12=0.02{?};Dp=0.05;dsh=0.01;xk=0.95*h2 ; b=F02/h12;
var
FDp,Fdsh,dt:real; m1,E1,V1,p1,ro1,T1,G01,Tt01,V2,V20,ro0,m2,ron,E2,p2,ro2,G02,G001,F001,F002,T2,G2n,Tt2v,Tt02,Tt2n,Apor,Upor,Xpor,tau:real;
f:text; it,nwr:integer; start,otdelenie:boolean;
procedure istechenie(p1,p2,ro1,ro2,F12,fi12,mu12:real;var G12,Tt12:real);
var T1,rot12,pkr,p12,u12,ro12:real;
begin
if p1>p2 then
begin
T1:=p1/(ro1*Rg);
Tt12:=T1*fi12+T0*(1-fi12);
rot12:=p1/(Rg*Tt12);
pkr:=power(2/(kg+1),kg/(kg-1))*p1;
if p2<pkr then p12:=pkr else p12:=p2;
u12:=sqrt(2*kg/(kg-1)*p1/rot12*(1-power(p12/p1,(kg-1)/kg)));
ro12:=rot12*power(p12/p1,1/kg);
G12:=ro12*u12*F12*mu12
end else if p1<p2 then begin istechenie(p2,p1,ro2,ro1,F12,fi12,mu12,G12,Tt12); G12:=-G12
end else begin G12:=0; Tt12:=T0 end end;
Begin
F002:=F02;F001:=0; FDp:=(pi*sqr(Dp))/4; Fdsh:=(pi*sqr(dsh))/4;
V20:=h2*(FDp-Fdsh); ro0:=p0/(Rg*T0);
T1:=T10; p1:=p10; ro1:=p1/(Rg*T1);
V1:=V10; m1:=ro1*V1; E1:=m1*cvg*T1;
T2:=T0; p2:=p10; ro2:=p2/(Rg*T2);
V2:=V20; m2:=ro2*V2; E2:=m2*cvg*T2;ron:=pn/(Rg*T0);
Xpor:=0; Upor:=0;
tau:=0; it:=0;
assign(f,'rez3331.txt'); rewrite(f);
dt:=0.4e-5; nwr:=round(dtwr/dt); start:=false;
repeat
T1:=E1/(m1*cvg); ro1:=m1/V1; p1:=ro1*Rg*T1;
T2:=E2/(m2*cvg); ro2:=m2/V2; p2:=ro2*Rg*T2 ;
if Xpor+hp<=x1 then
begin
istechenie(p0,p1,ro0,ro1,F01,fi01,mu,G01,Tt01);
istechenie(p0,p2,ro0,ro2,F02,fi02,mu,G02,Tt02);
istechenie(p2,pn,ro2,ron,F2n,fi2n,mu,G2n,Tt2n);
g001:=0;
end
else if {((Xpor+hp)>x1)and }((Xpor+hp)<=(x1+h12)) then
begin
F002:=F02-b*(Xpor+hp-x1);
istechenie(p0,p1,ro0,ro1,F01,fi01,mu,G01,Tt01);
istechenie(p0,p2,ro0,ro2,F002,fi02,mu,G02,Tt02);
istechenie(p2,pn,ro2,ron,F2n,fi2n,mu,G2n,Tt2n);
end
else if{((Xpor+hp)<=(x1+h12) )and}(Xpor<x1) then
begin
istechenie(p0,p1,ro0,ro1,F01,fi01,mu,G01,Tt01);
istechenie(p2,pn,ro2,ron,F2n,fi2n,mu,G2n,Tt2n);
G02:=0;Tt02:=T0;
end
else if {(Xpor>=x1)and }(Xpor<=(x1+h12)) then
begin
F001:=b*(Xpor-x1);
istechenie(p0,p1,ro0,ro1,F01,fi01,mu,G01,Tt01);
istechenie(p0,p1,ro0,ro1,F001,fi02,mu,G001,Tt02);
istechenie(p2,pn,ro2,ron,F2n,fi2n,mu,G2n,Tt2n);
G02:=0;
end else
{if Xpor>(x1+h12) then }
begin
istechenie(p0,p1,ro0,ro1,F01,fi01,mu,G01,Tt01);
istechenie(p0,p1,ro0,ro1,F02,fi02,mu,G001,Tt02);
istechenie(p2,pn,ro2,ron,F2n,fi2n,mu,G2n,Tt2n);
G02:=0;
end;
if(not start) then
begin
Apor:=0;
start:=p1*FDp-p2*(FDp-Fdsh)>M*g;
if start then writeln(f,'Старт');
if start then writeln('Старт');
end;
if (it mod nwr)=0 then
begin
if (it mod (20*nwr))=0 then
writeln(f,' t,c G01,кг/c G02,кг/c G2n,кг/с p1,ата T1,K p2,ата T2,K
aоб,м/с2 uоб,м/c xoб,м G001,кг/c F001,см^2 F002,см^2');
writeln(f,tau:6:4,' ',G01:7:4,' ',G02:7:4,' ',G2n:7:4,' ',p1/1.0e5:6:2,' ',round(T1):4,
' ',p2/1.0e5:6:2,' ',round(T2):4,' ',Apor:8:3,' ',Upor:7:4,' ',Xpor:8:7,' ',G001:6:4,' ',10000*F001:8:6,' ',10000*F002:8:6);
end;
m1:=m1+(G01+G001)*dt;
E1:=E1+(G01*cpg*Tt01+G001*cpg*Tt02-p1*Upor*FDp)*dt;
V1:=V10+FDp*Xpor;V2:=V20-Xpor*(FDp-Fdsh);
m2:=m2+(G02-G2n)*dt;
E2:=E2+(G02*cpg*Tt02-G2n*cpg*T2+p2*Upor*(FDp-Fdsh))*dt;
if start then
begin
Apor:=(p1*FDp-p2*(FDp-Fdsh)-M*g)/M;
Xpor:=Xpor+Upor*dt; Upor:=Upor+Apor*dt;
end;
it:=it+1; tau:=it*dt ;
until (start and (Xpor>xk)) or (tau>3);
writeln(f,tau:6:4,' ',G01:7:4,' ',G02:7:4,' ',G2n:7:4,' ',p1/1.0e5:6:2,' ',round(T1):4,
' ',p2/1.0e5:6:2,' ',round(T2):4,' ',Apor:8:3,' ',Upor:7:4,' ',Xpor:8:7,' ',G001:6:4,' ',10000*F001:8:6,' ',10000*F002:8:6);
if not start then writeln('запуск не удался');
close(f)
end.
Рис.2 Зависимость расходов от перемещения поршня
Рис.3 Зависимость давлений от перемещения поршня
Рис.4 Зависимость площади отверстия F02 (F01) от перемещения поршня
Рис.5 Зависимость ускорения поршня от времени
Рис.6 Зависимость скорости поршня от времени
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.