4 Haziran 2017 Pazar

Stirling Motoru Tasarımı - 1: Tasarım Sabitleri


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.
Semer noktaları:
Minimum noktaları:
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