ACB üçgenini ele alıp
kosinüs teoremince şu bağıntıları çıkarıyorum.
r ve l değerlerim sabit
olduğundan dolayı u’nun q’ya bağlı ikinci dereceden eşitlik ile iki u değeri bulabilirim.
Daha genel bir ifade
için l’yi r’ye lineer bağlıyorum. a sayısı artık bir tasarım sabiti.
Bulduğum iki farklı
değerden bir tanesi bu sistemin çözümü olabilir. Başlangıç şartlarım ile bunu
tespit ediyorum.
u’nun açıya bağlı
fonksiyonunu elde ettim:
Pistonun hacmini bu
bağıntı ile hesap edecek olursam, açıya bağlı hacim:
Elbette buradaki
sabitlerimin bazı koşulları var. l, r’den
büyük olmak zorunda ve pistonun dip uzaklığı da bununla ilişkili.
Şimdi ise bununla aynı
A’ya sahip ancak bazı özellikleri farklı olan bir piston daha ekliyorum.
Birbirine hava geçişi serbest olduğundan (ön kabul) toplama işlemi ile tek bir
hacim ifadesi yazabilirim.
Elde ettiğim
fonksiyonda bazı nonlineer kısımları yaklaşık değer ile ifade etmek istiyorum
çünkü fonksiyonun bazı kritik noktalarını kabaca hesap edebilmeliyim. Bu iki
sınırın tam ortasında sabit olduğunu düşünürsem:
Pistonların r
değerlerini de birbirine lineer olarak bağlayarak bir tasarım sabiti daha elde
ediyorum.
Hacim ifademi, periyodu
ve faz açısını daha açık görebileceğim ve kritik noktaları daha iyi
ayarlayabileceğim bir şekilde sunmak istiyorum:
Trigonometrik ifadeyi
daha sade şekle dönüştürebilirim.
Burada delta açım 0 ile
2*pi arasında tanımlı olmasına rağmen arctan ile sadece pi/2 ve –pi/2 aralığındaki
değerlerini bulabilirim. K ve L’nin işaretlerine göre –çünkü Z daima
pozitiftir- açımın bölgesini tespit ederek bir değer bulmalıyım. Bunun için
atan2 algoritmasını kullanıyorum.
Böylece fonksiyonumun
son hali, bir miktar hata payı ile:
Z değeri ile hacmin
alacağı en üst değeri ayarlayabiliyorum. O halde bu fonksiyonun ekstremum
noktalarını bulmalıyım.
Herhangi bir maksimum
noktası yok. Bu, sistem elverdiği sürece küme sınırlarında dolaşabilmemi
sağlayacak. Minimum noktalar hariç –ki bir tanesi tanım kümemin dışında- uygun
olan değerleri seçebilirim. Alfa değerim, 90 dereceden az olacak bir faz açısı
ile arttıkça sıkıştırma oranım da artacak demektir. Faz açısı için aynı şey söz
konusu değil. Sayısal olarak analiz etmem haricinde yaklaşık değer ile
hesaplamam sonucu elde tutulur en güzel bilgi delta açısının değeridir. Bu
açının değerine göre pistonları ne zaman ısıtıp ne zaman soğutacağımı
ayarlayacağım.
Sıkıştırma Oranı
Sıkıştırma oranı her ne
kadar sayısal olarak hesaplayacak olsam da yaklaşık olarak bulabilirim.
Analiz
Temel olarak
belirlediğim değerlerimi gerekmedikçe değiştirmemek üzere: A,r,l,mü gibi
değerlerimi kendim belirliyorum. R ve L nin belirlenmesi sonucu ilk tasarım
sabitim olan a’yı da belirlemiş olurum. Mantıksal açıdan 1’den büyük olması
gerekiyordu. 2.5-3 civarında seçebilirim.
İkinci tasarım sabitim
alfa ve phi faz açıları ise esas analiz etmek istediğim sabitler olduğundan
dolayı hesaplamalar onlara bağlı olacak.
Yaklaşık hesap ile
delta ve z değerlerimi buluyordum. Matlab fonksiyonu olarak:
function [ delta, z ] = deltaCalculator( phi, alpha )
% tan(phi) = - (1+alpha*cos(phi))/(alpha*sin(phi)) := U;
% phi in (pi, 2*pi) => atan(U)
% phi in (0, pi) => atan(U)+pi
delta = atan2(1+alpha*cos(phi), -alpha*sin(phi));
z = sqrt(alpha^2+2*alpha*cos(phi)+1);
end
Analize sabitlerimi
girerek başlıyorum.
%% Temel Özellikler %%
A = 8e-3; %silindir
iç kesit alanı
r = 1.5e-2; %sıcak
piston mil bağlantı yarıçapı
r2 = 2e-2; %soğuk p.
m. b. yarıçapı
n1 = 20e-2; %sıcak
piston mil uzaklığı. n1>l+r
n2 = 10e-2; %soğuk p.
m. uzaklığı n2>l+r2
l = 5e-2; %kol
uzunluğu
%% Tasarım Sabitleri %%
alpha = r2/r;
a = l/r;
a2 = a;
n = n1+n2;
phi = 0.9;
%%
Burada önemli bir
ayrıntı var. İki piston için de ayrı L uzunlukları girilebilir. Ancak ben iki
piston için de sabitimi aynı tutarak gerekirse L1 ve L2 diye ayırıyorum. Aksi
halde yaklaşık hesapta değişiklik yapmam gerekecek.
%%
[delta, z] = deltaCalculator(phi ,alpha);
%v(theta) = A*r*z*sin(theta+delta)+...
%
A*(n-r*(a+sqrt(a^2-1))/2*(1-alpha));
%v(theta) = P*sin(theta+delta)+R;
P = A*r*z;
R =
A*(n-r*(a+sqrt(a^2-1))/2*(1-alpha));
v = @(t) P*sin(t+delta)+R;
Vr1 = @(t) A*(n1+r*(cos(t)-sqrt(cos(t).^2+a^2-1)));
Vr2 = @(t) A*(n2+r2*(cos(t+phi)-sqrt(cos(t+phi).^2+a2^2-1)));
X = linspace(0, 2*pi);
Y = v(X);
Yr1 = Vr1(X);
Yr2 = Vr2(X);
Yr = Yr1+Yr2;
Tanımladığım
fonksiyonu yukarıda kullandım. İki ayrı hesaplama yapıyorum. Yaklaşık hesap ile
ve bu yaklaşımı yapmadan. İki piston için yarı hesap yapıyorum çünkü hacmi
nasıl paylaştıklarını da görebilirim. Bu ısıtma soğutma işlemi için gerekli
olacak. Aslında dışarıdan ısıtmalı olduğundan ısıtmayı ayarlayamıyorum ancak bu
zamanlama ile ilgili bir şey eklersem bunu biliyor olmam gerekecek.
Hesaplama sonucu bazı
değerleri görmeliyim. Kritik noktalar ve sıkıştırma oranı gibi.
%% Grafik %%
Xd = X/pi*180;
plot(Xd,Y,Xd,Yr, Xd,Yr1,'.', Xd,Yr2,'.');
tit = sprintf('Theta ile Hacim
Alpha=%.2f Phi=%.2fd', ...
alpha, phi/pi*180);
title(tit); clear tit;
legend('Yaklaşık Hesap', 'Gerçek Hesap', 'Sıcak Hacim', ...
'Soğuk Hacim');
xlabel('Theta [d]');
ylabel('Hacim [m^3]');
%xlim([0 360]);
%%
%% Sonuç %%
[ Vz, tz ] = max(Y);
[ Vs, ts ] = min(Y);
rps = Vz/Vs;
fprintf('Yaklaşık Hesap\nVmax=%f\tTheta=%.2f\nVmin=%f\tTheta=%.2f\n
rps=%.4f\t\tdelta=%.2f\n\n', ...
Vz, Xd(tz), Vs, Xd(ts),
rps, delta/pi*180);
[ Vz, tz ] = max(Yr);
[ Vs, ts ] = min(Yr);
rps = Vz/Vs;
fprintf('Gerçek Hesap\nVmax=%f\tTheta=%.2f\nVmin=%f\tTheta=%.2f\n
rps=%.4f\n', ...
Vz, Xd(tz), Vs, Xd(ts),
rps);
%%
Sonuç
Yaklaşık Hesap
Vmax=0.002783 Theta=330.91
Vmin=0.002278 Theta=149.09
rps=1.2219 delta=119.73
Gerçek Hesap
Vmax=0.001727 Theta=330.91
Vmin=0.001222 Theta=149.09
rps=1.4137
Hiç yorum yok:
Yorum Gönder