View Full Version : CAD for Spiral Cam
chmorroni
22-01-2014, 00:44
So one of the parts for our "shooter/launcher/thing" this year is a spiral cam. We have done the calculations as far as what the maximum and minimum radii need to be, but I have no idea how to design or CAD that. I would assume (from a blurb that I saw of a previous thread) that there is some kind of equation to make this. There will be no load on the cam while it is being adjusted, as it is going to be used as a fancy mechanical stop, so I would like the radius to change evenly over the entire circle.
Any tips on designing and CADing this?
EDIT: I (as the only person on our team that knows CAD) just got SolidWorks, but I am still in a transition state between that and Inventor, so either would work. However, I would prefer SolidWorks.
So one of the parts for our "shooter/launcher/thing" this year is a spiral cam. We have done the calculations as far as what the maximum and minimum radii need to be, but I have no idea how to design or CAD that. I would assume (from a blurb that I saw of a previous thread) that there is some kind of equation to make this. There will be no load on the cam while it is being adjusted, as it is going to be used as a fancy mechanical stop, so I would like the radius to change evenly over the entire circle.
Any tips on designing and CADing this?
EDIT: I (as the only person on our team that knows CAD) just got SolidWorks, but I am still in a transition state between that and Inventor, so either would work. However, I would prefer SolidWorks.
In Solidworks, go to Insert->Curve->Helix/Spiral.
You need a sketch with a circle on it to start. Play around with it for a bit and it should get you the shape you need.
I would assume (from a blurb that I saw of a previous thread) that there is some kind of equation to make this.
...I would like the radius to change evenly over the entire circle.
Spirals are easy to draw if you use polar coordinates. Just make the radius "r" be a function of the angle "t".
You can make r change linearly with t (if that is what you meant by "change evenly"), or any other function of t, like polynomials or exponents etc.
mplanchard
22-01-2014, 10:41
A SolidWorks 2013 you can define the spiral equation in terms of r, theta.
The biggest issue when you are new to entering equations is "Syntax". Make certain you have the right number of (). Order of operations is important. Marie
To add an equation in the Equations View:
Do one of the following:
Click Equations (Tools toolbar).
Click Tools > Equations.
Right-click the Equations folder in the FeatureManager design tree, and select Manage Equations.
Select the Equations View.
In the Equations section, click an empty cell in the Name column.
Click a dimension in the graphics area.
The SolidWorks software does the following:
Propagates the dimension name to an empty cell in the Name column and encloses it in quotation marks.
Moves the cursor to the Value/Equations column and inserts = (equal sign).
Displays a flyout menu with options for starting the equation.
After = (equal sign), add a term to the equation by doing one of the following:
Type a number or a conditional statement.
Select a Global Variable, Function or File Property from the flyout menu.
Select Measure ... from the flyout menu and use the Measure Tool to create the term.
A appears in the cell to indicate that the syntax is valid.
Type + (plus), - (minus) or another mathematical symbol.
Add another term to the equation.
When the equation is complete, click OK.
chmorroni
22-01-2014, 18:29
Ok. Thanks to all the replies. From what I am seeing, I should be able to use a polar coordinate system to define the curve, but I can't find a way to do that.
In playing around with the equation line tool a little bit, I have created an Archimedean spiral using the following data: x(t)=t*cos(t); y(t)=t*sin(t). I can't figure out how to modify those equations to fit my radii. Any suggestions?
Ok. Thanks to all the replies. From what I am seeing, I should be able to use a polar coordinate system to define the curve, but I can't find a way to do that.
In playing around with the equation line tool a little bit, I have created an Archimedean spiral using the following data: x(t)=t*cos(t); y(t)=t*sin(t). I can't figure out how to modify those equations to fit my radii. Any suggestions?
For the parametric equations you gave, "t" is the radius of your spiral. so if you want the starting radius to be r1 and the ending radius to be r2, then vary "t" in your equations from t=r1 to t=r2.
For example, if your starting radius is r1=1.57 and your ending radius is r2=6.283 then your spiral would look like the attachment.
Why did you choose these particular equations, instead of, say, varying the radius of the spiral linearly with angle, like this (http://www.chiefdelphi.com/forums/attachment.php?attachmentid=15913&d=1390398556)?
Why did you choose these particular equations, instead of, say, varying the radius of the spiral linearly with angle, like this (http://www.chiefdelphi.com/forums/attachment.php?attachmentid=15913&d=1390398556)?
If you want a spiral whose radius starts at r=r1 at angle=0 and varies linearly with angle until r=r2 at angle=alpha, the polar equation for that would be:
r = r1 + (r2-r1)*(theta/alpha)
For example, if r1=1, r2=1.5, and alpha=2pi, your equation would be:
r = 1 + (1.5-1)*(theta/(2pi)) = 1 + 0.5*(theta/(2pi))
See attachment.
If you want a spiral whose tangent always make the same angle with the perpendicular to the radius (i.e. the spiral has a constant "climb slope"), then you could use this equation:
r = r1*e^(k*theta),
where r1 is the starting radius (at theta=0), r2 is the ending radius (at theta=alpha), and the constant k=log(r2/r1)/alpha.
For example, for r1=1, r2=1.5, and alpha=2pi, the equation would be:
r = 1*e^((log(1.5/1)/(2pi))*theta) = e^((0.2027*theta)/pi)
(see attachment)
edit: the second attachment shows the spiral tangent lines at theta=0 and theta=2pi
inventor_phild
23-01-2014, 21:32
Great discussion on cam design.
For Inventor users I have started a new thread on the Inventor page with tips, help links, and a tutorial on generating cams.
http://www.chiefdelphi.com/forums/showthread.php?p=1331489#post1331489
chmorroni
24-01-2014, 19:54
If you want a spiral whose radius starts at r=r1 at angle=0 and varies linearly with angle until r=r2 at angle=alpha, the polar equation for that would be:
r = r1 + (r2-r1)*(theta/alpha)
For example, if r1=1, r2=1.5, and alpha=2pi, your equation would be:
r = 1 + (1.5-1)*(theta/(2pi)) = 1 + 0.5*(theta/(2pi))
See attachment.
This is perfect! Thank you! Now, I can't figure out how to do that in SolidWorks. Any tips?
This is perfect! Thank you! Now, I can't figure out how to do that in SolidWorks. Any tips?
Marie explained how in an earlier post in this thread.
http://www.chiefdelphi.com/forums/showpost.php?p=1330743&postcount=4
araporta
13-06-2015, 18:33
I hope its OK to resurrect this thread and ask for a bit more help. I'm trying to make a snail cam which will give a drop of 20cm, with the bottom 5cm from the centre of rotation. From the thread, I guess I need Ether's equation in Post 8.
I'm trying to model in in Solidworks, and I can't figure out how to enter the equation. Sadly, the explanation given in the thread was too sparse for a Solidworks novice like myself, and I've spent a very frustrating 4 hours searching the web without enlightenment. Could some kind soul give me some pointers? Ideally, a screen shot of the Solidworks Equation box?
chmorroni
13-06-2015, 19:17
I hope its OK to resurrect this thread and ask for a bit more help. I'm trying to make a snail cam which will give a drop of 20cm, with the bottom 5cm from the centre of rotation. From the thread, I guess I need Ether's equation in Post 8.
I'm trying to model in in Solidworks, and I can't figure out how to enter the equation. Sadly, the explanation given in the thread was too sparse for a Solidworks novice like myself, and I've spent a very frustrating 4 hours searching the web without enlightenment. Could some kind soul give me some pointers? Ideally, a screen shot of the Solidworks Equation box?
I don't have Solidworks on this computer, but this (http://help.solidworks.com/2014/English/SolidWorks/sldworks/t_creating_equation_driven_curve.htm) may help you.
araporta
13-06-2015, 19:55
Thats the first place I looked, and it doesn't really help. I can see how to enter a parametric equation, such as that in post #5 above, but I don't get how to enter Ether's equation in post #8, which is not parametric? Its probably trivial, but I just can't see how to do it.
chmorroni
14-06-2015, 15:25
Thats the first place I looked, and it doesn't really help. I can see how to enter a parametric equation, such as that in post #5 above, but I don't get how to enter Ether's equation in post #8, which is not parametric? Its probably trivial, but I just can't see how to do it.
Okay, I have downloaded Solidworks, and I have something that may get you to where you want. I have attached screenshot aids, but here is what I did. I created a Spiral with a starting diameter and a pitch of half of the difference in diameters. Then I converted it to a 2D Sketch, connected the endpoints, and extruded it.
Thats the first place I looked, and it doesn't really help. I can see how to enter a parametric equation, such as that in post #5 above, but I don't get how to enter Ether's equation in post #8, which is not parametric? Its probably trivial, but I just can't see how to do it.
r1 = starting radius at theta=0,
r2 = ending radius (at theta=alpha),
k=log(r2/r1)/alpha,
r = r1*exp(k*theta),
x = r*cos(theta),
y = r*sin(theta)
...
So for r1=25, r2=5, and alpha=2*pi, you would get:
x = 25*exp(-0.11124453*t)*cos(t)
and
y = 25*exp(-0.11124453*t)*sin(t)
Are you sure you want a constant-slope spiral, and not a constant-torque one instead?
So for r1=25, r2=5, and alpha=2*pi, you would get:
x = 25*exp(-0.11124453*t)*cos(t)
and
y = 25*exp(-0.11124453*t)*sin(t)
I should have used my CAS.
x = 25*exp(-0.25615*t)*cos(t)
y = 25*exp(-0.25615*t)*sin(t)
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.