Dynamixel XL330 horns: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 1: | Line 1: | ||
$fn=32; | $fn=32; | ||
| Line 9: | Line 4: | ||
outer = 8.25; // 8.25mm outer radius of XL330 servo hornet | outer = 8.25; // 8.25mm outer radius of XL330 servo hornet | ||
r = 0. | r = 0.7; // d=1.6mm pins on the XL330 servo hornet (inlet) | ||
l = 2.5; // l=2.5mm, how deep the inlet travel in the hornet -- 2.5mm | l = 2.5; // l=2.5mm, how deep the inlet travel in the hornet -- 2.5mm | ||
t = 2; // t=2mm, global thickness | t = 2; // t=2mm, global thickness | ||
d = | d = 17; // d=16mm, front/back hand distance | ||
h = | h = 29; // h=30mm, upper hand distance | ||
fac = 1.5; | |||
module pins(r, l, t){ | module pins(r, l, t){ | ||
| Line 47: | Line 43: | ||
union(){ | union(){ | ||
translate([-outer/2, -(2*t), h]) cube([outer, d+(2*t), t]); | translate([-outer/2, -(2*t), h]) cube([outer, d+(2*t), t]); | ||
translate([0, 0, h-t]) cylinder(t, inner/2, inner/2); | translate([0, 0, h-(fac*t)]) cylinder(fac*t, inner/2, inner/2); | ||
} | } | ||
} | } | ||
| Line 65: | Line 61: | ||
backArm(d, h, t); | backArm(d, h, t); | ||
} | } | ||
Revision as of 12:56, 5 May 2026
$fn=32;
inner = 6; // 6mm inner empty space for front hornet screw outer = 8.25; // 8.25mm outer radius of XL330 servo hornet
r = 0.7; // d=1.6mm pins on the XL330 servo hornet (inlet) l = 2.5; // l=2.5mm, how deep the inlet travel in the hornet -- 2.5mm t = 2; // t=2mm, global thickness d = 17; // d=16mm, front/back hand distance h = 29; // h=30mm, upper hand distance fac = 1.5;
module pins(r, l, t){
/* r: radius, l: length, t: thickness */ translate([inner,0,t]) cylinder(l, r, r); translate([-inner,0,t]) cylinder(l, r, r); translate([0,inner,t]) cylinder(l, r, r); translate([0,-inner,t]) cylinder(l, r, r); }
module disc(thichness=t){
difference(){
union(){
cylinder(t, outer, outer);
cylinder(t, t, t);
}
cylinder(t, inner/2, inner/2);
}
}
module frontArm(d, t){
difference(){
translate([-outer/2, 0, 0]) cube([outer, d, t]);
cube([2*inner,2*inner,2*t],true);
}
}
module upperArm(d, h, t){
rotate([90,0,0]) translate([-outer/2, 0, -d]) cube([outer, h, t]); }
module backArm(d, h, t){
union(){
translate([-outer/2, -(2*t), h]) cube([outer, d+(2*t), t]);
translate([0, 0, h-(fac*t)]) cylinder(fac*t, inner/2, inner/2);
}
}
// union(){
union(){
union(){
union(){
pins(r, l, t);
disc(t);
}
frontArm(d, t);
}
upperArm(d, h, t);
}
backArm(d, h, t);
}