D-90 Ross Yoke-drive Engine

Andy Ross of Columbus, Ohio has been designing and building small air engines since the 1970's, including extremely innovative Alpha designs. Refer to Andy Ross' delightful book: Making Stirling Engines (Ross Experimental, 1993). The D-90 Yoke-drive Alpha Stirling engine described in his book is used as the primary case study of this web resource. Matt Keveney has done an animation showing clearly the principles of operation of the Ross yoke linkage mechanism. This ingenious mechanism for transferring dual piston motion into rotational motion minimizes the piston side forces normally encountered on a regular crankshaft mechanism.




The D-90 Ross Yoke-drive engine at Ohio University


In order to do a simulation of the performance of the Ross Yoke-drive engine we need to evaluate the compression and expansion volume variations Vc and Ve as well as the volume derivatives dVc and dVe as functions of the crankangle θ. The equations shown here were derived in the section on Ross Yoke-drive volume variations and the main purpose of the function below is to fill in the values of the global variables required in order to enable evaluation of these equations.





function yokedrive
% Ross yoke drive engine configuration
% Israel Urieli 4/14/02

global vclc vcle % compression, expansion clearance vols [m^3]
global vswc vswe % compression, expansion swept volumes [m^3]
global alpha % phase angle advance of expansion space [radians]
global b1 % Ross yoke length (1/2 yoke base) [m]
global b2 % Ross yoke height [m]
global crank % crank radius [m]
global dcomp dexp % diameter of compression/expansion pistons [m]
global acomp aexp % area of compression/expansion pistons [m^2]
global ymin % minimum yoke vertical displacement [m]
global new fid % new data file

fprintf('Ross yoke drive engine configuration\n');
if(strncmp(new,'y',1))
     vclc = input('enter compression space clearance volume [m^3]: ');
     vcle = input('enter expansion space clearance volume [m^3]: ');
     b1 = input('enter Ross yoke height b1 [m]: ');
     b2 = input('enter Ross yoke length b2 (1/2 yoke base) [m]: ');
     crank = input('enter crank radius [m]: ');
     dcomp = input('enter compression piston diameter [m]: ');
     dexp = input('enter expansion piston diameter [m]: ');
     fprintf(fid, '%.3e\n', vclc);
     fprintf(fid, '%.3e\n', vcle);
     fprintf(fid, '%.3e\n', b1);
     fprintf(fid, '%.3e\n', b2);
     fprintf(fid, '%.3e\n', crank);
     fprintf(fid, '%.3e\n', dcomp);
     fprintf(fid, '%.3e\n', dexp);
else
     vclc = fscanf(fid, '%e', 1);
     vcle = fscanf(fid, '%e', 1);
     b1 = fscanf(fid, '%e', 1);
     b2 = fscanf(fid, '%e', 1);
     crank = fscanf(fid, '%e', 1);
     dcomp = fscanf(fid, '%e', 1);
     dexp = fscanf(fid, '%e', 1);
end

acomp = pi*dcomp^2/4.0;
aexp = pi*dexp^2/4.0;
yoke = sqrt(b1^2 + b2^2);
ymax = sqrt((yoke + crank)^2 - b2^2);
ymin = sqrt((yoke - crank)^2 - b2^2);
vswc = acomp*(ymax - ymin);
vswe = aexp*(ymax - ymin);
thmaxe = asin(ymax/(yoke + crank));
thmaxc = pi - thmaxe;
thmine = pi + asin(ymin/(yoke - crank));
thminc = 3*pi - thmine;
alpha = 0.5*(thmaxc - thmaxe) + 0.5*(thminc - thmine);
phase = alpha*180/pi;

fprintf('\nRoss yoke drive engine data summary:\n');
fprintf('yoke height b1 %.1f [mm]\n', b1*1e3);
fprintf('yoke length b2 (1/2 yoke base) %.1f [mm]\n', b2*1e3);
fprintf('crank radius %.1f [mm]\n', crank*1e3);
fprintf('compression piston diameter %.1f [mm]\n', dcomp*1e3);
fprintf('expansion piston diameter %.1f [mm]\n', dexp*1e3);
fprintf('comp clearance, swept vols %.1f, %.1f [cm^3]\n', vclc*1e6, vswc*1e6);
fprintf('exp clearance, swept vols %.1f, %.1f [cm^3]\n', vcle*1e6, vswe*1e6);
fprintf('ymin = %.1f(cm), ymax = %.1f(cm)\n', ymin*1e2, ymax*1e2);
fprintf('alpha = %.1f(degrees)\n', phase);
%==============================================================

The rest of the define function modules include the heat exchangers, regenerator, operating parameters, working gas parameters and Schmidt analysis, and all are independent of the engine type. The complete data file that defines the Ross D-90 Yoke drive engine is ross90.dat.

______________________________________________________________________________________


Stirling Cycle Machine Analysis by Israel Urieli is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License