Computer-Aided Analysis of Cam Mechanisms: A Reverse Engineering Approach
Mohammad A. Zahraee
and
Gregory P. Neff
Purdue University Calumet
Hammond, Indiana 46323-2094
Proceedings of the Second International Mechanical Engineering Conference, May 14-17, 1996, Shiraz, Iran, pages 905-912.
Abstract

This paper illustrates how computer software and coordinate measuring apparatus may be used to analyze commercial cams. Furthermore, it is pointed out how the analysis software written may be utilized to analyze cam shapes such as curved arc cams or other shapes drawn on a CAD system such as AutoCAD.
Keywords: Cam Mechanisms, CAD, Kinematics

Introduction

The design and kinematic analysis of flat plate cam mechanisms have application in automotive and other mechanical systems. Textbooks [1] and other references generally treat cam shape generation using a graphical paradigm that is laborious and repetitive. Traditional approaches are also limited to only a few types of follower displacement such as constant velocity or acceleration, harmonic, and cycloidal forms. These are either limiting cases usable only at very low RPM or can be difficult and expensive to manufacture using the cam grinder method.

Reverse Engineering

At Purdue University Calumet in Hammond Indiana USA, we are analyzing real world cam shapes using a hands-on reverse engineering approach [2,3]. Several cams from low horsepower 2-cycle lawnmower engines and an automotive engine were obtained. Their cam shapes were measured using a Mitutoyo coordinate measuring machine (CMM) used in our metrology laboratory. This manually operated CMM has 16"x16"x16" capacity and is interfaced with an IBM PS/2 35SX personal computer. Two pieces of software are needed for our CMM to produce an IGES file, Geopak 2000 and Scanpak to IGES.

To do the measuring, the cam is placed on the CMM table and clamped down. A two millimeter diameter steel probe is then passed around the surface of the cam while the CMM records a data point after every 0.010" (0.25 mm) movement using the scan feature in Geopak 2000. After generating the data, Scanpak to IGES writes the data to an IGES file as a splined curve. The IGESIN command is used to import data into the AutoCAD system. The whole process takes about five minutes per part. The imported computer models from the CMM may be plotted directly in AutoCAD. A plot that shows the shape of one of the cams on the cam shaft of a 3.5 horsepower (2.6 kW), nine cubic inch (0.15 liter) displacement Briggs and Stratton classic engine taken from a lawnmower is shown in Figure 1. Figure 2 shows the shape of a cam used in a GM Chevrolet 4-cylinder 1.8 liter automotive engine.

Engine Cams
Figure 1 2-Cycle lawnmower engine cam
Figure 2 Automotive engine cam
Analysis

A short AutoLISP program given in Figure 3 was written to export the CMM data from AutoCAD to a data file that is used by an analysis program. The AutoLISP program extracts coordinate information from points on the polyline or other curve representing the cam shape. These data are translated to a coordinate system having its origin at the center of rotation. To locate the axis of rotation of the cam we define a 3-Point AutoCAD circle by selecting widely spaced points on the dwell circle. The inquiry menu was then used to locate the center. Another AutoLISP approach [2] is to extract coordinate information from the points defining the nodes of the polyline representing the cam shape produced by the coordinate measuring software.

(defun c:CAMWRT()
(setvar "cmdecho" 1)
(setvar "aperture" 25)
(setq x (open "camwrt.txt" "w"))
;degree to radian conversion
(defun dtr (a)
(* a (/ pi 180.0))
)
;get the Coord. of center of CAM
(setq cen (getpoint "\n Enter the coordinate of center in x,y format: "))
;get the angle increment
(setq inc (getreal "\n Enter Angle Increment: "))
(setq ang 0.0)
(while (<= ang 360)
(setq pend (polar cen (dtr ang) 1))
(command "ray" cen pend "")
(setq p (osnap cen "int"))
(setq l2 0)
(while (= p nil)
(setq l2 (+ l2 0.5))
(setq cen2 (polar cen (dtr ang) l2))
(setq p (osnap cen2 "int"))
)
(command "erase" "l" "")
(setq xw (rtos (car p)))
(setq yw (rtos (cadr p)))
(write-line xw x)
(write-line yw x)
(setq ang (+ ang inc))
)
)

Figure 3 AutoLISP program to extract cam geometry from a CAD drawing

The cam analysis software program [2] shown in Figure 4, is written in PC:Solve [5]. Solve is integrated programming, graphics, and mathematical modeling software which is highly efficient compared to conventional general purpose programming languages such as FORTRAN. It has built-in numerical analysis functionality that is used to automatically generate derivatives of the follower displacement corresponding to follower velocity, acceleration, and jerk. The analysis program consists of a subroutine to read ASCII file data generated by the AutoLISP program, a few statements to change to polar coordinates, and calls to the internal graphing and differentiation functions. Solve can also be easily used to analyze [4] cam shapes which produce harmonic, cycloidal, polynomial or other displacements that can be described mathematically.

camin ; Press enter on these two procedures to run the program
camout(x,y)
procedure('camin')
;DRDR (Dwell, Rise, Dwell, Return) Cam Design Program, Gregory Neff, 2/15/95
;Purdue University Calumet, email: neff@nwi.calumet.purdue.edu
trigmode='degrees'
; Input
input=readdata('CAMWRT.TXT') ;LISP file data
input=shaperow(input,SIZE(input)[1]/2,2) ;cam data from AutoCAD
x_coord=input[,1]
y_coord=input[,2]
y=sqrt(x_coord^2+y_coord^2) ;follower displacement
x=find_angle(x_coord,y_coord) ;cam angle
return

function('find_angle',x_coord,y_coord) ; 360 degree inverse tangent function
x=fill(?,SIZE(input)[1])
for i= 1 to SIZE(input)[1] do if x_coord[i] GT 0 then if y_coord[i] GE 0 then x[i]=atan(y_coord[i]/x_coord[i])
for i= 1 to SIZE(input)[1] do if x_coord[i] GT 0 then if y_coord[i] LT 0 then x[i]=360 +atan(y_coord[i] /x_coord_[i])
for i= 1 to SIZE(input)[1] do if x_coord[i] LT 0 then x[i]=180+atan(y_coord[i]/x_coord[i])
return(x)

procedure('camout',x_,y_) ;analysis & graphing procedure
gdefault
v=derivative(x_,y_) @ v[size(v)[1]]=v[1] ;velocity
a=derivative(x_,v) @ a[size(a)[1]]=a[1] ;acceleration
jerk=derivative(x_,a) @ jerk[size(jerk)[1]]=jerk[1]
xaxislabel= 'Cam Angle in Degrees'
yaxislabel= 'Displacement'
gtitle= 'Follower Radial Position'
gline(x_,y_) ;follower displacement graph
yaxislabel = 'Vel, displ/deg'
gtitle= 'First Derivative- Velocity'
gline(x_,v) ;follower velocity graph
yaxislabel= 'Accl, displ/deg^2'
gtitle='Second Derivative- Acceleration'
gline(x_,a) ;follower acceleration graph
yaxislabel= 'Jerk, displ/deg^3'
gtitle= 'Third Derivative, Jerk'
gline(x_,jerk) ;follower jerk graph
return

Figure 4, PC:Solve analysis and graphing program

Results

Plots of follower displacement, velocity, acceleration, and jerk are shown in Figure 5 for the 2-cycle Briggs & Stratton lawnmower engine cam. One can see from the displacement curve that the cam has a rather rough surface. The acceleration and jerk curves exhibit chatter that obscures their shape.

Figure 5, Measured 2-cycle 3.5 hp lawnmower cam.

The cam from the General Motors 1.8 liter overhead cam engine (1983 to 1986) showed considerable wear. It was obtained from scrap parts replaced during the overhaul of the engine. Approximately 1.25 mm of the original 6.5 mm lift specification had worn away. A close look at the cam profile in Figure 2 shows that the side of the cam corresponding to the rise in the follower sustained greater wear than the return side. The acceleration and jerk curves exhibit some structure that correlates with the displacement and velocity peaks. The signal to noise ratio of the acceleration and jerk data obtained experimentally make these curves difficult to interpret.

Figure 6, Measured 4 cycle automotive engine cam

Two other types of cams were also studied with the same software tools. A tangent disk cam (Figure 7) and a circular arc cam (Figure 8) were drawn in AutoCAD following figures in the textbook by Martin [1].

Figure 7 Tangent Cam
Figure 8 Circular Arc Cam
 

The analysis output plots for the tangent cam in Figure 9 benefit from the lack of surface irregularities in the drawing model that is made up of two circular arcs joined by tangent line segments. The shape of the acceleration and jerk curves are relatively easy to understand.

Figure 9 Tangent Cam

Abrupt slope changes in the velocity curve produce large accelerations at that crank angle. Large changes in the acceleration slope lead to infinite values of jerk at four angular positions of this tangent cam.

The circular arc cam is made up of four arcs. The dwell semi-circle is drawn first. Along the diameter or an extension of the diameter outside the circle, two arc centers equidistant from the dwell circle center are chosen. Since the dwell circle and the arcs drawn will be perpendicular to the diameter, their slopes match. A fillet is then used between the other ends of the arcs to create a lobe or nose radius. The analysis of this cam is shown in Figure 10. The acceleration and jerk curves have characteristics similar to that of the tangent cam discussed above. The "noise" in Figure 11 for the same circular arc cam drawing demonstrates the importance of arithmetic precision in the analysis. In Figure 10 the maximum eight decimal place coordinate display precision was set using the UNITS command. Figure 11 utilized the default four decimal place precision. The coordinate display precision also governs the precision of data exported from AutoCAD. PC:Solve always uses double precision calculations and all numeric variables are double precision.

Figure 10 Circular arc cam. AutoCAD precision set to eight decimal places
Figure 11 Circular arc cam. AutoCAD precision set to four decimal places

Conclusions

The usual method of treating cam velocity, acceleration, or jerk using a computer is to study cam shapes that have displacements that are described in relatively simple mathematical terms. Such displacements can also be differentiated in closed form, giving velocity, acceleration and jerk expressions that are then used in cam analysis programs available with textbooks or as separate packages. Software that allows kinematic analysis of arbitrary cam shapes from CAD models or coordinate measuring machine data is rare or non-existent. Kinematic analysis of cam shapes not easily expressed in closed form is beyond the scope of mechanism kinematics references or textbooks.

In this study, short AutoLISP and PC:Solve programs coupled with coordinate measuring apparatus and software were used to analyze the kinematics of cams from existing engines. The programs may also be used independently of the coordinate measuring hardware and software to analyze cam shapes such as curved arc or tangent cams drawn on a CAD system. The short AutoLISP routine is the key to extracting CAD model data which can be used with any off-the-shelf numeric math software [6] to analyze the kinematic behavior inherent in the shape of a flat plate cam mechanism.

References

[1] Martin, G.H., Kinematics and Dynamics of Machines, 2nd Ed., McGraw-Hill, New York, p 116.

[2] Neff, G.P., M.A. Zahraee and J.B. Higley, "Computer-Aided Analysis of Flat Plate Disk Cams: A Reverse Engineering Approach," Proceedings of the 1995 ASEE Illinois/Indiana Section Conference, also available over the Internet at the address: http://fre.www.ecn.purdue.edu/asee/sect95/1c/1c1.html

[3] Neff, G.P., M.A. Zahraee, and S. Tickoo, "Integrating CAE, CADD, and CAD/CAM into a Multi-Course Project," Proceedings of the 1993 ASEE Illinois/Indiana Section Conference.

[4] Neff, G.P., "Computer-Aided Analysis of Flat Plate Cam Mechanisms," Proceedings of the 1994 ASEE Annual Meeting, June 26-29, 1994,. Volume 2, PP 2441-2445.

[5] PC:Solve, Pacific Crest Software, 875 NW Grant Avenue, Corvallis, OR 97330, (503) 754-1067.

[6] Neff, G.P., and M.D. Myers, "Computer-Aided Design of Cam Mechanisms Using Math Toolkit Software: Solve and MathCAD," Proceedings of the 1996 ASEE Illinois/Indiana Section Conference.