clear all
clc



R_G=15.74;      %Nocken-Grundkreisradius, mm
r=42.5;         %Krümmungsradius der Druckfläche, welche mit dem Nocken zusammenarbeitet, mm
i=1.2;          %Schlepphebelverhältnis
Z=5/8;

%Wählbare Größen
H_0=0.26;       %Vornockenhöhe, mm
H=5.5;          %Hauptnockenhöhe, mm
f_0=26;          %Abschnittlänge vom Vornocken, Grad
f_1=18;          % Grad
f_2=4;           % Grad
f_3=38;          % Grad


F_0=pi*f_0/180   ;  %Abschnittlänge vom Vornocken im Winkelmass, rad bei 26°
F_1=pi*f_1/180    ;%Abschnittlänge im Winkelmass, rad bei 18°
F_2=pi*f_2/180    ;%;Abschnittlänge im Winkelmass, rad bei 4°
F_3=pi*f_3/180    ;%Abschnittlänge im Winkelmass, rad bei 38°


phi_0=0:0.0001:F_0;
phi_1=F_0:0.0001:F_0+F_1;
phi_2=F_0+F_1:0.0001:F_0+F_1+F_2;
phi_3=F_0+F_1+F_2:0.0001:F_0+F_1+F_2+F_3;
phi_4=2*(F_0+F_1+F_2+F_3):0.0001:2*pi;

phi=[phi_0 phi_1 phi_2 phi_3];
phi_gr=phi*180/pi;
%Berechnung der Konstanten:
k_1=0.506606*F_2^2
k_2=0.9375*F_3^2
k_3=1.75*F_3
K_1=k_1+k_2+k_3*F_2
K_2=k_3+0.795775*F_2
ds_OE=H_0*pi/2/F_0                          %, mm
c_11=(K_1*ds_OE+K_2*H)/(K_1*2+K_2*F_1)      %, mm
c_12=(c_11-ds_OE)*F_1/pi                   %, mm
c_32=(2*c_11-ds_OE)/K_2                     %, mm
c_21=c_32*k_3                               %, mm
c_22=c_32*k_1                               %, mm
c_31=c_32/(16*F_3^2)                        %, mm
c_33=c_32*k_2                               %, mm
ds_max=2*c_11-ds_OE                         %, mm

%Abschnittfunktionen (f_s=F_3-(phi_3-F_0-F_1-F_2)):

f_s=F_3-(phi_3-F_0-F_1-F_2);
s_1=c_11*F_1-c_12*sin(pi/F_1*F_1)+H_0;       %, mm
s_2=c_21*F_2+c_22*sin(pi/2/F_2*F_2)+s_1;    %, mm


%Erhebung
s0=H_0*(1-cos(pi/2/F_0*phi_0)) ;              %, mm
s1=c_11*(phi_1-F_0)-c_12*sin(pi/F_1*(phi_1-F_0))+H_0 ;     %, mm
s2=c_21*(phi_2-F_0-F_1)+c_22*sin(pi/2/F_2*(phi_2-F_0-F_1))+s_1;     %, mm
s3=c_31*f_s.^4-c_32*f_s.^2+c_33+s_2    ;      %, mm

y=[s0 s1 s2 s3 ];

figure(1)
plot(phi_gr,y); hold on, grid on

phi1=phi*cos(pi)-y*sin(pi)+2*(F_0+F_1+F_2+F_3);
phi1_gr=phi1*180/pi;
plot(phi1_gr,y);

%Geschwindigkeit
ds0=H_0*pi/2/F_0*sin(pi/2/F_0*phi_0);
ds1=c_11-c_12*pi/F_1*cos(pi/F_1*(phi_1-F_0));
ds2=c_21+c_22*pi/2/F_2*cos(pi/2/F_2*(phi_2-F_0-F_1));
ds3=-4*c_31*(F_3-(phi_3-F_0-F_1-F_2)).^3+2*c_32*(F_3-(phi_3-F_0-F_1-F_2));

dy=[ds0 ds1 ds2 ds3];
figure(2)
plot(phi_gr,dy);hold on, grid on
plot(phi1_gr,dy);

%Beschleunigung
dds0=H_0*(pi/2/F_0).^2*cos(pi/2/F_0*phi_0);
dds1=c_12*(pi/F_1).^2*sin(pi/F_1*(phi_1-F_0));
dds2=-c_22*(pi/2/F_2).^2*sin(pi/2/F_2*(phi_2-F_0-F_1));
dds3=12*c_31*(F_3-(phi_3-F_0-F_1-F_2)).^2-2*c_32;

ddy=[dds0 dds1 dds2 dds3];

figure(3)
plot(phi_gr,ddy);hold on, grid on
plot(phi1_gr,ddy);


figure(4)
subplot(311)
plot(phi_gr,y); hold on, grid on
plot(phi1_gr,y);
subplot(312)
plot(phi_gr,dy);hold on, grid on
plot(phi1_gr,dy);
subplot(313)
plot(phi_gr,ddy);hold on, grid on
plot(phi1_gr,ddy);


%Krümmungsradien am Nocken:

%Mitte Beschl.-Abschnitt: f_1=F_1/2
s=H_0+c_11*F_1/2-c_12                       %, mm
S=R_G+r+s                                   %, mm
ds=c_11                                    %, mm
dds=c_12*(pi/F_1)^2                 %hier dds_max, mm
%gewölbte Gegenfläche
roh=(S^2+ds^2)^1.5/(S^2+2*ds^2-S*dds)-r     %, mm
%ebene Gegenfläche
roh=R_G+s+dds                               %, mm

%Spitze: f_s=0
s=H_0+H                                     %, mm
S=R_G+r+s                                   %, mm
dds=-2*c_32                                 %hier dds_min, mm
%gewölbte Gegenfläche
roh=S^2/(S-dds)-r                           %, mm
%ebene Gegenfläche
roh=R_G+s+dds                               %, mm

figure(5)
y1=y+R_G;
plot(phi_gr,y1); hold on, grid on
plot(phi1_gr,y1);

figure(6)
plot(phi_gr,y1); hold on, grid on
plot(phi1_gr,y1);hold on
phi_4gr=phi_4*180/pi;
plot(phi_4gr,R_G);

figure(7)
phi_gesgr=[phi_gr phi1_gr ];
y_ges=[y1 y1];
plot(phi_gesgr,y_ges );

figure(8)
polar(phi1_gr,y1);

figure(9)
phi_gesgr1=[phi_gr phi1_gr  phi_4gr];
y_ges1=[y1 y1 R_G];
plot(phi_gesgr1,y_ges1 );
