From 2f73217fc41d9d8e1cf42be27b3adfebe5c401f9 Mon Sep 17 00:00:00 2001 From: "Michael D. M. Dryden" Date: Wed, 20 May 2015 20:22:49 -0400 Subject: [PATCH] gears meshed --- magnet holder.scad | 129 ++++++++++++++++++++++++++------------------- 1 file changed, 76 insertions(+), 53 deletions(-) diff --git a/magnet holder.scad b/magnet holder.scad index daae451..9076af0 100644 --- a/magnet holder.scad +++ b/magnet holder.scad @@ -4,11 +4,10 @@ include ; include ; // gear parameters -innerRadius=3.1;//shaft radius, in mm -borders=2.5;//how thick should the borders around the central "shaft" be, in mm -diametralPitch=12; -numberOfTeeth=14; -pressureAngle=20*pi/180; +circular_pitch=350; +//diametralPitch=12; +//numberOfTeeth=10; +pressureAngle=25; centerAngle=25;//angle at center of teeth // magnet @@ -21,29 +20,29 @@ rodRad=3; linearBearingOD=12; linearBearingHeight=19; -//rack(innerRadius,borders,diametralPitch,numberOfTeeth,pressureAngle,centerAngle); + union(){ translate([-80,0,0]){ - color("blue") magnetPlate(); +// color("blue") magnetPlate(); color("red") pillar(30); translate([40,0,-15]) motorSide(); color("orange") - translate([40,0, 5]) - rotate([0,180,0]) - pinion(7); + translate([40,0,2]) + rotate([0,180,360/10*.5]) + pinion(10); -// color("green") -// translate([40,0,1]) -// for (y = [-1,1]){ -// translate([0, y*(magnetLength+5+2*(rodRad+3))/2, 0]) -// bearingClamp(); -// } + color("green") + translate([40,0,0]) + for (y = [-1,1]){ + translate([0, y*(magnetLength+5+2*(rodRad+3))/2, 0]) + bearingClamp(); + } } -// color("Purple") endPlate(30); + color("Purple") endPlate(30); } // Magnet plate @@ -83,6 +82,10 @@ module pillar(spacing = 30){ cavitySideThickness = 10; cavityEndThickness = 10; // shouldn't be smaller than 10 or nut hole is too far in + // Rack parameters + innerRadius=0;//shaft radius, in mm + borders=5;//how thick should the borders around the central "shaft" be, in mm + translate([0, -width/2, -thickness/2]) difference(){ cube([length,width,thickness]); @@ -100,6 +103,10 @@ module pillar(spacing = 30){ translate([cavityEndThickness, cavitySideThickness, -1]) cube([length-cavityEndThickness*2, width-cavitySideThickness*2, thickness+2]); } + + translate([length/2, -width/2+7.2, -thickness/2+2]) + rotate([0,0,180]) + rack(innerRadius, borders, 180/circular_pitch*20, 10, pressureAngle*pi/180, centerAngle); } @@ -137,7 +144,7 @@ module endPlate(spacing = 30){ module motorSide(){ $fn=50; - thickness = 5; + thickness = 4; length = 50; width = (magnetLength+5)+(2*(rodRad+3))+(linearBearingOD+3); @@ -206,49 +213,65 @@ module bearingClamp(){ } module pinion(teeth){ - //double helical gear - { - $fn=50; - twist=200; - height=15; - pressure_angle=30; + //double helical gear + $fn=50; + twist=centerAngle; + height=12; + pressure_angle=pressureAngle; + trap_width = 6; //nut trap width across flats + hardware_bore = 3.4; //set screw clearence hole + bore_diameter = innerRadius; + + //sets nut trap boss dimensions + boss_length = 15/2 + 2; + boss_width = trap_width + 3; + trap_length = trap_width/2; + + mirror([0,0,1]) + gear (number_of_teeth=teeth, + circular_pitch=circular_pitch, + pressure_angle=pressure_angle, + clearance = 0.2, + gear_thickness = height/2, + rim_thickness = height/2, + rim_width = 10, + hub_thickness = height/2, + hub_diameter=15, + bore_diameter=bore_diameter, + circles=4, + twist=twist); + + difference() + { + union() //gear with boss for hardware on it + { gear (number_of_teeth=teeth, - circular_pitch=400, - pressure_angle=pressure_angle, - clearance = 0.2, - gear_thickness = height/4, - rim_thickness = height/2, - rim_width = 10, - hub_thickness = height, - hub_diameter=15, - bore_diameter=5, - circles=4, - twist=twist/teeth); - mirror([0,0,1]) - gear (number_of_teeth=teeth, - circular_pitch=400, + circular_pitch=circular_pitch, pressure_angle=pressure_angle, clearance = 0.2, gear_thickness = height/2, rim_thickness = height/2, rim_width = 10, - hub_thickness = height/2, - hub_diameter=15, - bore_diameter=5, + hub_thickness = height, + hub_diameter=18, + bore_diameter=bore_diameter, circles=4, - twist=twist/teeth); + twist=twist); + + translate([bore_diameter/2, -boss_width/2, height/2]) //center the cube + cube([boss_length-bore_diameter/2, boss_width, height/2]); //boss the set screw lives in + } + + union() //set screw hardware removed parts + { + translate([bore_diameter/2+1.3, -trap_width/2, height-trap_width*1.2]) + cube([trap_length,trap_width,trap_width*1.3]); //nut trap box + + translate([0, 0, height-0.6*trap_width]) //shift up + rotate([0,90,0]) //lay flat + cylinder(h=boss_length+1, r = hardware_bore/2); //hardware hole + } } -// gear_with_setscrew( -// module_number = 2, //standard metric way of specing a gear -// shaft_diameter = 5, -// trap_width = 6, -// hardware_bore = 3.4, -// number_of_teeth = teeth, -// hub_thickness = 13.5, -// rim_thickness = 8, -// no_bore = false, -// twist=twist/teeth); - } \ No newline at end of file -- GitLab