clc
clear all
%% Vstupní data
r=0.060; %Poloměr kliky [m]
l=0.215; %Délka ojnice[m] 
lambda=r/l; %Ojniční poměr [-]
e=0.016; %Hodnota excentricity [m]
lambdae=e/l; %Excentritiký poměr [-]
c=0.136; %Rozteč ojničních čepů [m]

mpo=0.899; %Hmotnost posuvné části ojnice [kg]
m1=1.364; %Hmotnost pístu [kg]
m2=0.6138; %Hmotnost pístního čepu [kg]
m3=2*0.00483; %Hmotnost pojistných kroužků [kg]
m4=0.0233; %Hmotnost 1 těsnícího kroužku [kg]
m5=0.0320; %Hmotnost 2 těsnícího kroužku [kg]
m6=0.03; %Hmotnost stíracího kroužku [kg]
mp=mpo+m1+m2+m3+m4+m5+m6; %Hmotnost posuvných částí [kg]

mzal=8.0; %Hmotnost zalomení [kg]
rT=0.00606; %Poloha těžiště zalomení vzhledem k ose kliky [m]
mro=1.662; %Hmotnost rotující části ojnice [kg]
mr_zal=mzal*(rT/r); %Redukovaná hmotnost jednoho zalomení [kg] 
mr=mro+mr_zal; %Hmotnost rotujících částí [kg]

n=2000; %Otáčky motoru [min-1]
omega=(2*pi*n)/60; %Úhlová rychlost klikového hřídele[rad/s] 

%% Načtení dat 
%Úhel natočení kliky
angle=1:720; %[°]
alfa=(angle*pi)/180; %[rad]

%% Výpočty setrvačných sil a momentů PRAVIDELNÉHO dvouválce
disp(['PRAVIDELNÉ ROZESTUPY ZÁŽEHŮ '])
%Setrvačná síla rotujících částí [N]
Fs_r1=2*mr*r*omega^2; 
disp(['Setrvačná síla rotujících částí = ',num2str(Fs_r1), ' N'])
%Setrvačná síla posuvných částí I.řádu [N]
for i=1:length(alfa)
Fs_pcos1(i)=2*mp*r*omega^2*cos(alfa(i)); %Kosinová složka setrvačné síly posuvných částí [N]
Fs_psin1(i)=2*mp*r*omega^2*lambdae*sin(alfa(i)); %Sinová složka setrvačné síly posuvných částí [N]
Fs_pI1(i)=Fs_pcos1(i)+Fs_psin1(i); %Setrvačná síla posuvných částí I.řádu [N]
end
disp(['Setrvačná síla posuvných částí I.řádu = ',num2str(Fs_pI1(i)), ' N'])
%Setrvačná síla posuvných částí II.řádu [N]
for i=1:length(alfa)
Fs_pII1(i)=lambda*mp*r*omega^2*cos(2*alfa(i))+lambda*mp*r*omega^2*cos(2*alfa(i));  
end
disp(['Setrvačná síla posuvných částí II.řádu = ',num2str(Fs_pII1(i)), ' N'])

%Momenty setrvačných sil rotujících částí [Nm]
Ms_r1=-mr*r*omega^2*c/2+mr*r*omega^2*c/2; 
disp(['Momenty setrvačných sil rotujících částí = ',num2str(Ms_r1), ' Nm'])
%Momenty setrvačných sil posuvných částí I.řádu [Nm]
for i=1:length(alfa)
Ms_pI1(i)=-mp*r*omega^2*(cos(alfa(i))+lambdae*sin(alfa(i)))*c/2+mp*r*omega^2*(cos(alfa(i))+lambdae*sin(alfa(i)))*c/2; 
end
disp(['Momenty setrvačných sil posuvných částí I.řádu = ',num2str(Ms_pI1(i)), ' Nm'])
%Momenty setrvačných sil posuvných částí II.řádu [Nm]
for i=1:length(alfa)
Ms_pII1(i)=-lambda*mp*r*omega^2*cos(2*alfa(i))*c/2+lambda*mp*r*omega^2*cos(2*alfa(i))*c/2; 
end
disp(['Momenty setrvačných sil posuvných částí II.řádu = ',num2str(Ms_pII1(i)), ' Nm'])

%% Výpočty setrvačných sil a momentů NEPRAVIDELNÉHO dvouválce
disp(['NEPRAVIDELNÉ ROZESTUPY ZÁŽEHŮ '])
%Setrvačná síla rotujících částí [N]
Fs_r2=(mr*r*omega^2)-(mr*r*omega^2);
disp(['Setrvačná síla rotujících částí = ',num2str(Fs_r2), ' N'])
% Setrvačná síla posuvných částí I.řádu [N]
for i=1:length(alfa)
Fs_pcos2(i)=2*mp*r*omega^2*cos(alfa(i)); %Kosinová složka setrvačné síly posuvných částí [N]
Fs_psin2(i)=2*mp*r*omega^2*lambdae*sin(alfa(i)); %Sinusová složka setrvačné síly posuvných částí [N]
Fs_pI2(i)=(mp*r*omega^2*(cos(alfa(i))+lambdae*sin(alfa(i))))-(mp*r*omega^2*(cos(alfa(i))+lambdae*sin(alfa(i)))); 
end
disp(['Setrvačná síla posuvných částí I.řádu = ',num2str(Fs_pI2(i)), ' N'])
% Setrvačná síla posuvných částí II.řádu [N]
for i=1:length(alfa)
Fs_pII2(i)=2*lambda*mp*r*omega^2*cos(2*alfa(i));  
end
disp(['Setrvačná síla posuvných částí II.řádu = ',num2str(Fs_pII2(i)), ' N'])

%Momenty setrvačných sil rotujících částí [Nm]
Ms_r2=-mr*r*omega^2*c; 
disp(['Momenty setrvačných sil rotujících částí = ',num2str(Ms_r2), ' Nm'])
%Momenty setrvačných sil posuvných částí I.řádu [Nm]
for i=1:length(alfa)
Ms_pcos2(i)=2*mp*r*omega^2*cos(alfa(i))*c/2; %Kosinová složka momentu setrvačné síly posuvných částí [Nm]
Ms_psin2(i)=2*mp*r*omega^2*lambdae*sin(alfa(i))*c/2; %Sinusová složka momentu setrvačné síly posuvných částí [Nm] 
Ms_pI2(i)=(mp*r*omega^2*(cos(alfa(i))+lambdae*sin(alfa(i)))*c/2)+(mp*r*omega^2*(cos(alfa(i))+lambdae*sin(alfa(i)))*c/2); 
end
disp(['Momenty setrvačných sil posuvných částí I.řádu = ',num2str(Ms_pI2(i)), ' Nm'])
%Momenty setrvačných sil posuvných částí II.řádu [Nm]
for i=1:length(alfa)
Ms_pII2(i)=-lambda*mp*r*omega^2*cos(2*alfa(i))*c/2+lambda*mp*r*omega^2*cos(2*alfa(i))*c/2; 
end
disp(['Momenty setrvačných sil posuvných částí II.řádu = ',num2str(Ms_pII2(i)), ' Nm'])