Dynamixel XL330 pulley: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
[[File:Xl330-pulley.png|thumb]] | [[File:Xl330-pulley.png|thumb]] | ||
<pre> | <pre> | ||
$fn=32; | $fn=32; | ||
w = 5.3; // | w = 5.3; // pulley thickness | ||
inner = 6; // fixed number (inner radius non-overlapping with the servo's screw) | inner = 6; // fixed number (inner radius non-overlapping with the servo's screw) | ||
outer = 10; // adjust this number to increase the outer radius | outer = 10; // adjust this number to increase the outer radius | ||
| Line 24: | Line 25: | ||
module disc(inner, outer){ | module disc(inner, outer){ | ||
difference(){ | difference(){ | ||
cylinder(w, outer, outer); | cylinder(w, outer, outer); | ||
| Line 41: | Line 41: | ||
circle(r); | circle(r); | ||
} | } | ||
translate([outer+0.5, 0, | translate([outer+0.5, 0, 0]) cylinder(2*w, screw/2, screw/2); | ||
} | } | ||
} | } | ||
Revision as of 11:29, 13 May 2026

$fn=32;
w = 5.3; // pulley thickness
inner = 6; // fixed number (inner radius non-overlapping with the servo's screw)
outer = 10; // adjust this number to increase the outer radius
screw = 1;
module mounts(screw, inner, outer){
// module for screw mounts
union(){
union(){
union(){
translate([inner,0,-2]) cylinder(outer, screw, screw);
translate([-inner,0,-2]) cylinder(outer, screw, screw);
}
translate([0,inner,-2]) cylinder(outer, screw, screw);
}
translate([0,-inner,-2]) cylinder(outer, screw, screw);
}
}
module disc(inner, outer){
difference(){
cylinder(w, outer, outer);
cylinder(w, inner/2, inner/2);
}
}
module pully(inner, outer, r, w){
difference(){
difference(){
rotate_extrude(convexity = 10)
translate([outer + 2, w/2, 0])
circle(r);
rotate_extrude(convexity = 10)
translate([outer + (inner/2), w/2, 0])
circle(r);
}
translate([outer+0.5, 0, 0]) cylinder(2*w, screw/2, screw/2);
}
}
difference(){
union(){
pully(inner, outer, w/2, w);
disc(inner, outer);
}
mounts(screw, inner, outer);
}