P
Parkinbot
Fri, Dec 29, 2017 9:41 PM
.. although my very
basic knowledge of gear design stuffs can not grasp it.
It is not so difficult. In following picture you will see that the right
gear will travel a longer distance than the left gear. As they pass the same
number of teeth they have equal angular speed. The secret is the profile
shift. (+1 right half, -1 left half)
http://forum.openscad.org/file/t887/moeb.png
With a smooth transition the center gear will look like this
http://forum.openscad.org/file/t887/moeb1.png
How do you gain it? When cycling (and appropriately advancing) a toothed
rack around a blank circle, the distance is modulated by means of sin(i).
Try sin(3*i) instead.
gear2D(z=20);
Rack(z=20);
module gear2D(m = 1, z = 10, x = 0, w = 20, clearance = 0.1)
{
iterations = 180;
r_wk = mz/2 + x;
U = mz*PI;
dy = m;
r_fkc = r_wk + dy (1-clearance/2);
s = 360/iterations;
difference()
{
circle(r_fkc+2, $fn=300); // workpiece
for(i=[0:s:360])
rotate([0, 0, -i])
translate([-i/360U, sin(i), 0])
Rack(m, z, x, w, clearance); // Tool
}
}
module Rack(m = 1, z = 10, x = 0, w = 20, clearance = 0)
{
p = mPI; dy = 2m; dx = dy * tan(w);
ddx = dx/2 * clearance/2; ddy = dy/2 * clearance/2;
r_wk = mz/2 + x;
y0 = r_wk+3dy; y1 = r_wk+dy/2-ddy; y2 = r_wk+dy/2 - ddy; y3 = r_wk-dy/2
-
ddy;
x0 = p/4-dx/2 + ddx; x1 = p/4+dx/2 + ddx; x2 = 3p/4-dx/2 - ddx; x3 =
3p/4+dx/2 - ddx;
polygon(points = tooth(z));
function tooth(z = 10) = concat([[-p, y0],[-p, y1]], [for(i=[-1:z],
j=[0:3]) to(i*p)[j]], [[(z+1)*p, y1], [(z+1)*p, y0]]);
function to(dx) = [[dx+x0, y2], [dx+x1, y3], [dx+x2, y3], [dx+x3, y2]];
}
--
Sent from: http://forum.openscad.org/
Ronaldo wrote
> .. although my very
> basic knowledge of gear design stuffs can not grasp it.
It is not so difficult. In following picture you will see that the right
gear will travel a longer distance than the left gear. As they pass the same
number of teeth they have equal angular speed. The secret is the profile
shift. (+1 right half, -1 left half)
<http://forum.openscad.org/file/t887/moeb.png>
With a smooth transition the center gear will look like this
<http://forum.openscad.org/file/t887/moeb1.png>
How do you gain it? When cycling (and appropriately advancing) a toothed
rack around a blank circle, the distance is modulated by means of sin(i).
Try sin(3*i) instead.
gear2D(z=20);
Rack(z=20);
module gear2D(m = 1, z = 10, x = 0, w = 20, clearance = 0.1)
{
iterations = 180;
r_wk = m*z/2 + x;
U = m*z*PI;
dy = m;
r_fkc = r_wk + dy *(1-clearance/2);
s = 360/iterations;
difference()
{
circle(r_fkc+2, $fn=300); // workpiece
for(i=[0:s:360])
rotate([0, 0, -i])
translate([-i/360*U, sin(i), 0])
Rack(m, z, x, w, clearance); // Tool
}
}
module Rack(m = 1, z = 10, x = 0, w = 20, clearance = 0)
{
p = m*PI; dy = 2*m; dx = dy * tan(w);
ddx = dx/2 * clearance/2; ddy = dy/2 * clearance/2;
r_wk = m*z/2 + x;
y0 = r_wk+3*dy; y1 = r_wk+dy/2-ddy; y2 = r_wk+dy/2 - ddy; y3 = r_wk-dy/2
- ddy;
x0 = p/4-dx/2 + ddx; x1 = p/4+dx/2 + ddx; x2 = 3*p/4-dx/2 - ddx; x3 =
3*p/4+dx/2 - ddx;
polygon(points = tooth(z));
function tooth(z = 10) = concat([[-p, y0],[-p, y1]], [for(i=[-1:z],
j=[0:3]) to(i*p)[j]], [[(z+1)*p, y1], [(z+1)*p, y0]]);
function to(dx) = [[dx+x0, y2], [dx+x1, y3], [dx+x2, y3], [dx+x3, y2]];
}
--
Sent from: http://forum.openscad.org/
GF
Greg Frost
Sat, Dec 30, 2017 3:43 AM
That all seems a bit complicated. I think the scale of teeth required for
this and the limits to printed resolution mean that precise tooth matching
will not be required. I have made a ribbed mobius simply by modulating the
size of the slices used to generate it. This should mesh reasonably well
with gear teeth on the rollers:
mp4 animation on imgur https://imgur.com/gallery/KeBmY
--
Sent from: http://forum.openscad.org/
That all seems a bit complicated. I think the scale of teeth required for
this and the limits to printed resolution mean that precise tooth matching
will not be required. I have made a ribbed mobius simply by modulating the
size of the slices used to generate it. This should mesh reasonably well
with gear teeth on the rollers:
mp4 animation on imgur <https://imgur.com/gallery/KeBmY>
--
Sent from: http://forum.openscad.org/
RP
Ronaldo Persiano
Sat, Dec 30, 2017 4:44 AM
Enlightening! Thank you. So that is the principle behind the elliptical
gears?
2017-12-29 19:41 GMT-02:00 Parkinbot rudolf@parkinbot.com:
.. although my very
basic knowledge of gear design stuffs can not grasp it.
It is not so difficult. In following picture you will see that the right
gear will travel a longer distance than the left gear. As they pass the
same
number of teeth they have equal angular speed. The secret is the profile
shift. (+1 right half, -1 left half)
http://forum.openscad.org/file/t887/moeb.png
With a smooth transition the center gear will look like this
http://forum.openscad.org/file/t887/moeb1.png
How do you gain it? When cycling (and appropriately advancing) a toothed
rack around a blank circle, the distance is modulated by means of sin(i).
Try sin(3*i) instead.
gear2D(z=20);
Rack(z=20);
module gear2D(m = 1, z = 10, x = 0, w = 20, clearance = 0.1)
{
iterations = 180;
r_wk = mz/2 + x;
U = mz*PI;
dy = m;
r_fkc = r_wk + dy (1-clearance/2);
s = 360/iterations;
difference()
{
circle(r_fkc+2, $fn=300); // workpiece
for(i=[0:s:360])
rotate([0, 0, -i])
translate([-i/360U, sin(i), 0])
Rack(m, z, x, w, clearance); // Tool
}
}
module Rack(m = 1, z = 10, x = 0, w = 20, clearance = 0)
{
p = mPI; dy = 2m; dx = dy * tan(w);
ddx = dx/2 * clearance/2; ddy = dy/2 * clearance/2;
r_wk = mz/2 + x;
y0 = r_wk+3dy; y1 = r_wk+dy/2-ddy; y2 = r_wk+dy/2 - ddy; y3 =
r_wk-dy/2
-
ddy;
x0 = p/4-dx/2 + ddx; x1 = p/4+dx/2 + ddx; x2 = 3p/4-dx/2 - ddx; x3 =
3p/4+dx/2 - ddx;
polygon(points = tooth(z));
function tooth(z = 10) = concat([[-p, y0],[-p, y1]], [for(i=[-1:z],
j=[0:3]) to(i*p)[j]], [[(z+1)*p, y1], [(z+1)*p, y0]]);
function to(dx) = [[dx+x0, y2], [dx+x1, y3], [dx+x2, y3], [dx+x3, y2]];
}
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Enlightening! Thank you. So that is the principle behind the elliptical
gears?
2017-12-29 19:41 GMT-02:00 Parkinbot <rudolf@parkinbot.com>:
> Ronaldo wrote
> > .. although my very
> > basic knowledge of gear design stuffs can not grasp it.
>
>
>
> It is not so difficult. In following picture you will see that the right
> gear will travel a longer distance than the left gear. As they pass the
> same
> number of teeth they have equal angular speed. The secret is the profile
> shift. (+1 right half, -1 left half)
> <http://forum.openscad.org/file/t887/moeb.png>
>
> With a smooth transition the center gear will look like this
> <http://forum.openscad.org/file/t887/moeb1.png>
>
> How do you gain it? When cycling (and appropriately advancing) a toothed
> rack around a blank circle, the distance is modulated by means of sin(i).
> Try sin(3*i) instead.
>
> gear2D(z=20);
> Rack(z=20);
>
> module gear2D(m = 1, z = 10, x = 0, w = 20, clearance = 0.1)
> {
> iterations = 180;
> r_wk = m*z/2 + x;
> U = m*z*PI;
> dy = m;
> r_fkc = r_wk + dy *(1-clearance/2);
> s = 360/iterations;
> difference()
> {
> circle(r_fkc+2, $fn=300); // workpiece
> for(i=[0:s:360])
> rotate([0, 0, -i])
> translate([-i/360*U, sin(i), 0])
> Rack(m, z, x, w, clearance); // Tool
> }
> }
>
>
> module Rack(m = 1, z = 10, x = 0, w = 20, clearance = 0)
> {
> p = m*PI; dy = 2*m; dx = dy * tan(w);
> ddx = dx/2 * clearance/2; ddy = dy/2 * clearance/2;
> r_wk = m*z/2 + x;
> y0 = r_wk+3*dy; y1 = r_wk+dy/2-ddy; y2 = r_wk+dy/2 - ddy; y3 =
> r_wk-dy/2
> - ddy;
> x0 = p/4-dx/2 + ddx; x1 = p/4+dx/2 + ddx; x2 = 3*p/4-dx/2 - ddx; x3 =
> 3*p/4+dx/2 - ddx;
> polygon(points = tooth(z));
>
> function tooth(z = 10) = concat([[-p, y0],[-p, y1]], [for(i=[-1:z],
> j=[0:3]) to(i*p)[j]], [[(z+1)*p, y1], [(z+1)*p, y0]]);
> function to(dx) = [[dx+x0, y2], [dx+x1, y3], [dx+x2, y3], [dx+x3, y2]];
> }
>
>
>
>
> --
> Sent from: http://forum.openscad.org/
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
P
Parkinbot
Sat, Dec 30, 2017 11:16 AM
Enlightening! Thank you. So that is the principle behind the elliptical
gears?>
Welcome! Well, that is more or less the principle of elliptical involute
gears with constant angular speed for a rack ;-) You can use any other
involute gear (made by a rack) as tool, to get a better radius adaption and
so on ...
Without the constant angular condition being very restrictive you obviouly
can get much nicer looking solutions. For proper involute gearing (with
instantanious radius limited on the downside) you would use constant speed
and some constant profile shift. In this case you can use the involute
function which is explicit, but lets you describe only the upper part of a
tooth, where the engagement happens, not the foot part.
Because of that most gears found e.g. in Thingiverse are +1-gears (+x-gears)
which have a lot of friction, while 0-gears minimize relative movement and
thus friction.
--
Sent from: http://forum.openscad.org/
Enlightening! Thank you. So that is the principle behind the elliptical
gears?>
Welcome! Well, that is more or less the principle of elliptical involute
gears with *constant angular* speed for a rack ;-) You can use any other
involute gear (made by a rack) as tool, to get a better radius adaption and
so on ...
Without the constant angular condition being very restrictive you obviouly
can get much nicer looking solutions. For proper involute gearing (with
instantanious radius limited on the downside) you would use constant speed
and some constant profile shift. In this case you can use the involute
function which is explicit, but lets you describe only the upper part of a
tooth, where the engagement happens, not the foot part.
Because of that most gears found e.g. in Thingiverse are +1-gears (+x-gears)
which have a lot of friction, while 0-gears minimize relative movement and
thus friction.
--
Sent from: http://forum.openscad.org/