Mobius automaton

classic Classic list List threaded Threaded
34 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

codifies
Just a thought, (this is somewhat different) but if the loop were to be
laid flat and its cross section was rotating (so something flexible!)
then that would make a much more practical auromaton, yet it would still
look quite confounding I would think...

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

Greg Frost
In reply to this post by codifies
Well, I think using electronics and steppers is cheating for an automaton.
Ideally it should be hand cranked, so I cracked out an excel spreadsheet to
attempt to work out if there was a gearing arrangement that would allow the
rollers to be synchronously turned.

In doing so, I needed to make a bevel gear with 123 teeth. My OpenSCAD bevel
gear script proved woefully inadequate for this. The way it works is to
create a tooth from a union of polyhedron slivers and then union all of the
teeth together. This becomes very CGAL computationally expensive when the
number of teeth gets high, so I refactored the bevel gear script to use list
comprehension and concat to construct the gear base from a single polyhedron
call (this took all day yesterday bending my mind around how my old gear
script worked and how to use list comprehensions).

The new script is **much** faster.

The result is the assembly in the attached mp4 (the gif was too big). I
haven't shown any of the axes that the gears would mount to, but you can get
the idea. The whole assembly would be mounted on a stand that holds the
green gear still with a crank handle that turns the red gear resulting in
the mobius rotating and unfolding in place.

I still need to work out how to make the rollers engage the mobius to keep
the rotation in sync. Any help/ideas there would be great. mobius.mp4
<http://forum.openscad.org/file/t622/mobius.mp4>  

The key to the mechanism is that a 7 tooth bevel gear with a pitch angle of
30 degrees mates with a 9 tooth bevel gear with a pitch angle of 40 degrees.
This allows the bevel gears for the rollers to all mate together (the 30
degree requirement) and for 2 other 9 tooth gears to mate with the roller to
make a total axis angle of 30+40+40+40=150 degrees making its axis pass
through the centre of rotation allowing it to mate properly with the ring
gear. Then its was just a matter of working out appropriate gear ratio for
the ring gear to make everything rotate at the right speed.

If anyone has any suggestions about the best way to mount gears, that would
be good too (filament as axels, screws etc?).

mp4 on imgur <https://imgur.com/gallery/0fE0d>  



--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

codifies
whats supporting the connecting gears ?


On 29/12/17 02:49, Greg Frost wrote:

> Well, I think using electronics and steppers is cheating for an automaton.
> Ideally it should be hand cranked, so I cracked out an excel spreadsheet to
> attempt to work out if there was a gearing arrangement that would allow the
> rollers to be synchronously turned.
>
> In doing so, I needed to make a bevel gear with 123 teeth. My OpenSCAD bevel
> gear script proved woefully inadequate for this. The way it works is to
> create a tooth from a union of polyhedron slivers and then union all of the
> teeth together. This becomes very CGAL computationally expensive when the
> number of teeth gets high, so I refactored the bevel gear script to use list
> comprehension and concat to construct the gear base from a single polyhedron
> call (this took all day yesterday bending my mind around how my old gear
> script worked and how to use list comprehensions).
>
> The new script is **much** faster.
>
> The result is the assembly in the attached mp4 (the gif was too big). I
> haven't shown any of the axes that the gears would mount to, but you can get
> the idea. The whole assembly would be mounted on a stand that holds the
> green gear still with a crank handle that turns the red gear resulting in
> the mobius rotating and unfolding in place.
>
> I still need to work out how to make the rollers engage the mobius to keep
> the rotation in sync. Any help/ideas there would be great. mobius.mp4
> <http://forum.openscad.org/file/t622/mobius.mp4>
>
> The key to the mechanism is that a 7 tooth bevel gear with a pitch angle of
> 30 degrees mates with a 9 tooth bevel gear with a pitch angle of 40 degrees.
> This allows the bevel gears for the rollers to all mate together (the 30
> degree requirement) and for 2 other 9 tooth gears to mate with the roller to
> make a total axis angle of 30+40+40+40=150 degrees making its axis pass
> through the centre of rotation allowing it to mate properly with the ring
> gear. Then its was just a matter of working out appropriate gear ratio for
> the ring gear to make everything rotate at the right speed.
>
> If anyone has any suggestions about the best way to mount gears, that would
> be good too (filament as axels, screws etc?).
>
> mp4 on imgur <https://imgur.com/gallery/0fE0d>
>
>
>
> --
> Sent from: http://forum.openscad.org/
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

Michael Marx
In reply to this post by Greg Frost
Using a flat strip would reduce the complexity by one degree.

Either way, your rollers could be flanged, thus reducing the roller count.

For a flat strip, ][ like a bobbin; the opposite roller could then be a gear engaging sprocket
holes in the surface.
For the 'triangular' strip you could use two rollers, one flanged ][ & one V grooved at the
opposite apex. You can buy V groove & flanged bearings.

Or expanding that, one V shaped to localise the strip, with a toothed gear on the flat (with holes)
surface opposite.

?

> -----Original Message-----
> From: Discuss [mailto:[hidden email]] On Behalf Of Greg Frost
> Sent: Fri, 29 Dec 2017 13:49
> To: [hidden email]
> Subject: Re: [OpenSCAD] Mobius automaton
>
> Well, I think using electronics and steppers is cheating for an automaton.
> Ideally it should be hand cranked, so I cracked out an excel spreadsheet to
> attempt to work out if there was a gearing arrangement that would allow the
> rollers to be synchronously turned.
>
> In doing so, I needed to make a bevel gear with 123 teeth. My OpenSCAD bevel
> gear script proved woefully inadequate for this. The way it works is to
> create a tooth from a union of polyhedron slivers and then union all of the
> teeth together. This becomes very CGAL computationally expensive when the
> number of teeth gets high, so I refactored the bevel gear script to use list
> comprehension and concat to construct the gear base from a single polyhedron
> call (this took all day yesterday bending my mind around how my old gear
> script worked and how to use list comprehensions).
>
> The new script is **much** faster.
>
> The result is the assembly in the attached mp4 (the gif was too big). I
> haven't shown any of the axes that the gears would mount to, but you can get
> the idea. The whole assembly would be mounted on a stand that holds the
> green gear still with a crank handle that turns the red gear resulting in
> the mobius rotating and unfolding in place.
>
> I still need to work out how to make the rollers engage the mobius to keep
> the rotation in sync. Any help/ideas there would be great. mobius.mp4
> <http://forum.openscad.org/file/t622/mobius.mp4>
>
> The key to the mechanism is that a 7 tooth bevel gear with a pitch angle of
> 30 degrees mates with a 9 tooth bevel gear with a pitch angle of 40 degrees.
> This allows the bevel gears for the rollers to all mate together (the 30
> degree requirement) and for 2 other 9 tooth gears to mate with the roller to
> make a total axis angle of 30+40+40+40=150 degrees making its axis pass
> through the centre of rotation allowing it to mate properly with the ring
> gear. Then its was just a matter of working out appropriate gear ratio for
> the ring gear to make everything rotate at the right speed.
>
> If anyone has any suggestions about the best way to mount gears, that would
> be good too (filament as axels, screws etc?).
>
> mp4 on imgur <https://imgur.com/gallery/0fE0d>
>
>
>
> --
> Sent from: http://forum.openscad.org/
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

Greg Frost
In reply to this post by codifies
Nothing in the animation. That's just showing how the mechanism would work.

For this to be complete, it would need a hub where the three bevel gear clusters meet and they would need to be connected to one another through the axles of the rollers.

The green ring would probably need a lip to stop the blue gears from slipping out of place and it would need at least three arms that reached around and held the red ring gear close.

All those things are trivial extensions that would perhaps have just got in the way of demonstrating the mechanism.

> On 29 Dec 2017, at 1:29 pm, Chris Camacho <[hidden email]> wrote:
>
> whats supporting the connecting gears ?
>
>
>> On 29/12/17 02:49, Greg Frost wrote:
>> Well, I think using electronics and steppers is cheating for an automaton.
>> Ideally it should be hand cranked, so I cracked out an excel spreadsheet to
>> attempt to work out if there was a gearing arrangement that would allow the
>> rollers to be synchronously turned.
>>
>> In doing so, I needed to make a bevel gear with 123 teeth. My OpenSCAD bevel
>> gear script proved woefully inadequate for this. The way it works is to
>> create a tooth from a union of polyhedron slivers and then union all of the
>> teeth together. This becomes very CGAL computationally expensive when the
>> number of teeth gets high, so I refactored the bevel gear script to use list
>> comprehension and concat to construct the gear base from a single polyhedron
>> call (this took all day yesterday bending my mind around how my old gear
>> script worked and how to use list comprehensions).
>>
>> The new script is **much** faster.
>>
>> The result is the assembly in the attached mp4 (the gif was too big). I
>> haven't shown any of the axes that the gears would mount to, but you can get
>> the idea. The whole assembly would be mounted on a stand that holds the
>> green gear still with a crank handle that turns the red gear resulting in
>> the mobius rotating and unfolding in place.
>>
>> I still need to work out how to make the rollers engage the mobius to keep
>> the rotation in sync. Any help/ideas there would be great. mobius.mp4
>> <http://forum.openscad.org/file/t622/mobius.mp4>
>>
>> The key to the mechanism is that a 7 tooth bevel gear with a pitch angle of
>> 30 degrees mates with a 9 tooth bevel gear with a pitch angle of 40 degrees.
>> This allows the bevel gears for the rollers to all mate together (the 30
>> degree requirement) and for 2 other 9 tooth gears to mate with the roller to
>> make a total axis angle of 30+40+40+40=150 degrees making its axis pass
>> through the centre of rotation allowing it to mate properly with the ring
>> gear. Then its was just a matter of working out appropriate gear ratio for
>> the ring gear to make everything rotate at the right speed.
>>
>> If anyone has any suggestions about the best way to mount gears, that would
>> be good too (filament as axels, screws etc?).
>>
>> mp4 on imgur <https://imgur.com/gallery/0fE0d>
>>
>>
>>
>> --
>> Sent from: http://forum.openscad.org/
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> [hidden email]
>> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

Parkinbot
In reply to this post by Greg Frost
well done. Very nice animation.
Didn't know that you want a purely mechanical solution. The more gears is
has, the more mystical it is. As for the tricky part: You'll need to connect
the rollers by some springring to keep up friction. Without having it
figured out for your case, there might be a more direct solution on the
basis of hypoid bevel gears. In this case you could try to directly drive
the rollers by the outer spline.
And a last note: To account for inner and outer radii of the Moebius the
rollers to the right and left will have to be conical.

Good success. Nice project. I wished we discussed more of this sort in the
forum.





--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

jon_bondy
I fully agree with this.  It is nice to see such creative people in action


On 12/29/2017 7:15 AM, Parkinbot wrote:
> Nice project. I wished we discussed more of this sort in the forum.


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

Ronaldo
In reply to this post by Parkinbot
Suppose the Moebius "strip" turns at a fixed angular speed and follow the contact point between 
a specif roller and the midpoint of the (only) face of the strip.

The instantaneous speed of the strip at that point varies as the strip turns. It reaches its maximum 
when the contact point is in its lower position and its minimum when it is in the higher position. 
So, each roller should have its own spin speed almost always different from the others.
I don't see how to manage that.


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

Parkinbot
Ronaldo,

I see. As the rollers spin around they must be equally shaped. My lapsus!
Your analysis is right. But what about your conclusion?

Lets look at one of the rollers. It will have to carry a regular spur
gearing that engages with the moebius gearing. To ensure that the angular
speed of the moebius and of the roller is constant, the gearing carved into
the moebius will have to vary its modulus as a function of the pitch that
oszillates between the inner and the outer radius. Instead of altering the
modulus, which is usually not a good idea, (mainly because it enlarges
clearance), one can use the usual trick:
 
*equal spacing + profile shift = angular spacing*

Introducing a profile shift lets you continously vary the pitch radius while
keeping axis distance constant (within some limits) and vice versa. See my
video: https://youtu.be/RqIEy56xKJY

Say the gearing is described by a 2D polygon that winds along the moebius in
3D. To satisfy constant angular speed AND equal spacing we can calculate an
appropriate profile shift for every tooth and put the equivalent shape. As
the moebius adopts its gearing, all three rollers can be identical and will
have *the same speed*.
To get a better guidance, I'd arrange the system like this:

<http://forum.openscad.org/file/t887/moebiusgear.png>






--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

Ronaldo
Well, I am happy to know that you could find a solution although my very basic knowledge of gear design stuffs can not grasp it.
In regards to your new arrangement I would suggest that two rollers would be enough if the strip section was a square and
then things seem to be a bit easier.

2017-12-29 15:11 GMT-02:00 Parkinbot <[hidden email]>:
Ronaldo,

I see. As the rollers spin around they must be equally shaped. My lapsus!
Your analysis is right. But what about your conclusion?

Lets look at one of the rollers. It will have to carry a regular spur
gearing that engages with the moebius gearing. To ensure that the angular
speed of the moebius and of the roller is constant, the gearing carved into
the moebius will have to vary its modulus as a function of the pitch that
oszillates between the inner and the outer radius. Instead of altering the
modulus, which is usually not a good idea, (mainly because it enlarges
clearance), one can use the usual trick:

*equal spacing + profile shift = angular spacing*

Introducing a profile shift lets you continously vary the pitch radius while
keeping axis distance constant (within some limits) and vice versa. See my
video: https://youtu.be/RqIEy56xKJY

Say the gearing is described by a 2D polygon that winds along the moebius in
3D. To satisfy constant angular speed AND equal spacing we can calculate an
appropriate profile shift for every tooth and put the equivalent shape. As
the moebius adopts its gearing, all three rollers can be identical and will
have *the same speed*.
To get a better guidance, I'd arrange the system like this:

<http://forum.openscad.org/file/t887/moebiusgear.png>






--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

Parkinbot
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
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

Greg Frost
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/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

Ronaldo
In reply to this post by Parkinbot
​Enlightening! Thank you. So that is the principle behind the elliptical gears?


2017-12-29 19:41 GMT-02:00 Parkinbot <[hidden email]>:
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
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Mobius automaton

Parkinbot

​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/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
12