Der Vorlauf des Schiebers ist, in Grenzen, in beiden Fahrtrichtungen beabsichtigt und wird durch den Winkel der Gegenkurbel (2.Exenter am Rad) bestimmt.
Dein neues Beispiel ist mir eine große Hilfe!
Ich bin zwar noch nicht richtig fit aber ein wenig habe ich doch geschafft. Alles was zur Schwinge gehört funktioniert nun in einer eigenen procedure:
Code: Alles auswählen
procedure TSteuerung.Schwingenwinkel(trw,rg,sx,sy,ex,sa,bs,bsw,nw,st,ssm,gk1,gk2,Hub:single);
//trw=Winkel Treibrad,rg=Radius Gegenkurbel,sx=Schwingenlager x,sy=Schwingenlager y,
//ex=Exenterstange,sa=Anlenkung,bs=Backset,bsw=Backsetwinkel,nw=Neigungswinkel,
//st=Schwingenstange,ssm=Schwingenstein max.,gk1/gk2=Gegenkubel,Hub
var c,w,zx,zy,a,GKW1,GKW2 :single;
begin
a:= -sqrt(sqr(bs)+sqr(sa));
zx := cos(gkw) *(rg);
zy := sin(gkw) *(rg);
// Abstand zwischen Gegenkurbelzapfen und Schwingenlager
c := sqrt(sqr(zy - sy) + sqr(sx - zx));
// Winkel c
w:=arcsin((-zy+sy)/c)/ pi * 180;
// Winkel Exenterstange (Pleuel_W)
SWEX:=(arccos((-sqr(a)+sqr(ex)+sqr(c))/(2*ex*c)))/Pi*180-w;
// Winkel Schwinge (Schwinge_W)
SW:=180.0-(arccos((-sqr(ex)+sqr(a)+sqr(c))/(2*a*c)))/ pi * 180+w+90;
SW:=SW+bsw;// Addition Backsetwinkel
SW:=SW+nw; // Addition Neigungswinkel
// Schwingenbogen Länge
SWWB:=RadToDeg(2*(arcsin(sa*sin(90)/st)));
// Winkel Auslenkung Schwingenstein max.
SWWS:=RadToDeg((arcsin(ssm*sin(90)/st))*2);
// Winkel Auslenkung Schwingenstein
SWSPW:=RadToDeg((arcsin(SWSP*sin(90)/st))*2);
// Winkel Gegenkurbelexenter
GKW1:=Arccos((sqr(gk1)-sqr(rg)-sqr(Hub/2))/(-2*Hub*(Hub/2)));
GKW2:=Arccos((sqr(gk2)-sqr(rg)-sqr(Hub/2))/(-2*Hub*(Hub/2)));
// Position Schwingenstein
SWSP:= TrackBar1.Position/100;
// Steuerungsart
if ChBSteuerunsart.checked then begin
GKW:=(trw+GKW2);
GKL:= gk2;
end else begin
GKW:=(trw-GKW1);
GKL:= gk1;
end;
end;
Habe nicht mit Kommentaren gespart damit man auch nachvollziehen kann was ich da verbrochen habe.
Wahrscheinlich könnte man die Formeln noch kürzen aber ich bin, als Mathe-Null, sehr zufrieden, dass der Kram so funktioniert.
Gruß und Dank
Hannes