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-rev.png|thumb]] | ||
<pre> | <pre> | ||
Revision as of 11:31, 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);
}
// string hanging point
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);
}