From 36ecdb9da787a0052b8de2d7c3225a472b4feae2 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Wed, 18 Nov 2015 15:44:13 +0000 Subject: [PATCH] tune axles and gear size --- torsen.scad | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/torsen.scad b/torsen.scad index 60d9da1..3c34022 100644 --- a/torsen.scad +++ b/torsen.scad @@ -3,6 +3,7 @@ $fn = 100; torsen_diff_36t(); module torsen_diff_36t() { + rotate([90, 0, 0]) union() { difference() { /*union() { @@ -15,7 +16,7 @@ module torsen_diff_36t() { translate([0, 5, 0]) rotate([90, 0, 0]) cylinder(r=30, h=2, center=true, $fn=100); translate([0, -5, 0]) rotate([90, 0, 0]) cylinder(r=30, h=2, center=true, $fn=100); rotate([90, 0, 0]) cylinder(r=2.6, h=10, center=true); - translate([0, 4, 0]) rotate([90, 0, 0]) cylinder(r=4.2, h=8, center=true); + translate([0, 4, 0]) rotate([90, 0, 0]) cylinder(r=4.0, h=8, center=true); } translate([0, 0, 8]) difference() { union() { @@ -25,7 +26,7 @@ module torsen_diff_36t() { translate([-3.6, 8-3.6, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); translate([3.6, 8, 0]) rotate([90, 0, 90]) cylinder(r=3.6, h=0.8, center=true); translate([3.6, 8-3.6, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); - translate([0, 8, 0]) rotate([90, 0, 90]) axle(h=16, axlemesh=1.75); + translate([0, 8, 0]) rotate([90, 0, 90]) axleround(h=16, axlemesh=1.75); } } translate([0, 0, -8]) difference() { @@ -36,12 +37,22 @@ module torsen_diff_36t() { translate([-3.6, 8-3.6, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); translate([3.6, 8, 0]) rotate([90, 0, 90]) cylinder(r=3.6, h=0.8, center=true); translate([3.6, 8-3.6, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); - translate([0, 8, 0]) rotate([90, 0, 90]) axle(h=16, axlemesh=1.75); + translate([0, 8, 0]) rotate([90, 0, 90]) axleround(h=16, axlemesh=1.75); } } } } +module axleround(h = 24, axleradius = 2.4, axlemesh = 1.85) { + translate([0, 0, -h/2]) difference() { + cylinder($fn=16, r=axleradius, h=h); + translate([axlemesh/2, axlemesh/2, -1]) cube([axleradius, axleradius, h+2]); + translate([axlemesh/2, -axlemesh/2-axleradius, -1]) cube([axleradius, axleradius, h+2]); + translate([-axlemesh/2-axleradius, axlemesh/2, -1]) cube([axleradius, axleradius, h+2]); + translate([-axlemesh/2-axleradius, -axlemesh/2-axleradius, -1]) cube([axleradius, axleradius, h+2]); + } +} + module axle(h = 24, axleradius = 2.4, axlemesh = 1.85) { union() { cube([axleradius*2, axlemesh, h], center=true); @@ -49,8 +60,7 @@ module axle(h = 24, axleradius = 2.4, axlemesh = 1.85) { } } -module single_bevel(nteeth = 28) -{ +module single_bevel(nteeth = 28) { union() { intersection() { translate([0, 0, 1.5]) @@ -69,17 +79,17 @@ module single_bevel(nteeth = 28) module double_bevel_36t() { intersection() { union() { - translate([0, 0, 1.5]) + translate([0, 0, 1.1]) linear_extrude(slices=5, height=2.5, scale=(36/2+1-2.5*tan(45))/(36/2+1)) gear_concat_flat(mm_per_tooth=3.4, number_of_teeth=36, backlash=2, clearance=0.8, trim_factor=0.7); - translate([0, 0, -1.5]) + translate([0, 0, -1.1]) rotate([180, 0, 0]) linear_extrude(slices=5, height=2.5, scale=(36/2+1-2.5*tan(45))/(36/2+1)) gear_concat_flat(mm_per_tooth=3.4, number_of_teeth=36, backlash=2, clearance=0.8, trim_factor=0.7); - translate([0, 0, -4]) - cylinder($fn=36*2, h=8, r=2.98*(36/2-1)/3.1415926); - translate([0, 0, -1.5]) - cylinder($fn=36*2, h=3, r=2.98*(36/2+1)/3.1415926+0.5); + translate([0, 0, -3.6]) + cylinder($fn=36*2, h=7.2, r=2.98*(36/2-1)/3.1415926); + translate([0, 0, -1.1]) + cylinder($fn=36*2, h=2.2, r=2.98*(36/2+1)/3.1415926+0.5); } translate([0, 0, -8]) linear_extrude(slices=5, height=16) gear_concat_flat(mm_per_tooth=2.98, number_of_teeth=36, pressure_angle=15, backlash=-0.5, clearance=-0.3);