diff --git a/magnet holder.scad b/magnet holder.scad index 9076af0ba28c779c8ba4376e0e5f9087f4926672..dbee6ef16f479084eb111588ade4f2fa2793e1d5 100644 --- a/magnet holder.scad +++ b/magnet holder.scad @@ -2,6 +2,7 @@ include ; include ; include ; include ; +include ; // gear parameters circular_pitch=350; @@ -20,11 +21,9 @@ rodRad=3; linearBearingOD=12; linearBearingHeight=19; - - union(){ translate([-80,0,0]){ -// color("blue") magnetPlate(); + color("blue") magnetPlate(); color("red") pillar(30); translate([40,0,-15]) @@ -76,7 +75,7 @@ module magnetPlate(){ } } module pillar(spacing = 30){ - thickness = 10; + thickness = 8; width = 50; length = 80; cavitySideThickness = 10; @@ -86,7 +85,7 @@ module pillar(spacing = 30){ 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]) + translate([0, -width/2, -thickness/2+1]) difference(){ cube([length,width,thickness]); for (y = [width/2-spacing/2, width/2+spacing/2]){ // M3 nut/bolt holes @@ -104,7 +103,7 @@ module pillar(spacing = 30){ cube([length-cavityEndThickness*2, width-cavitySideThickness*2, thickness+2]); } - translate([length/2, -width/2+7.2, -thickness/2+2]) + translate([length/2, -width/2+7.2, -thickness/2+1]) rotate([0,0,180]) rack(innerRadius, borders, 180/circular_pitch*20, 10, pressureAngle*pi/180, centerAngle); @@ -184,6 +183,20 @@ module motorSide(){ } } + + rotate([0,0,180]) + translate([length/2-3, 0, 0]){ + difference(){ + translate([0, 0, (thickness+2)/2]) + difference(){ + cube([10.6, 19.8, thickness+2], center = true); + cube([11, 3, thickness+3], center = true); + } + translate([0, 0, thickness+2]) + microswitch(mockup = true, holeDepth = thickness+4, nutSpacing = 3); + } + } + } module bearingClamp(){ @@ -224,7 +237,7 @@ module pinion(teeth){ bore_diameter = innerRadius; //sets nut trap boss dimensions - boss_length = 15/2 + 2; + boss_length = 15/2 + 1; boss_width = trap_width + 3; trap_length = trap_width/2; @@ -254,7 +267,7 @@ module pinion(teeth){ rim_thickness = height/2, rim_width = 10, hub_thickness = height, - hub_diameter=18, + hub_diameter=17, bore_diameter=bore_diameter, circles=4, twist=twist); @@ -274,4 +287,20 @@ module pinion(teeth){ } } +} +module microswitch(mockup = true, holeDepth = 0, nutSpacing = 0){ + $fn = 50; + + translate([-10.6/2, -19.8/2, 0]){ + if (mockup == true){ + %cube([10.6, 19.8, 6.4]); + } + + for (y = [5.1,14.6]){ + translate([2.9, y, -holeDepth]){ + cylinder(h=6.4+holeDepth, r=2.5/2); //M2.5 holes + hexagon_prism(height = holeDepth-nutSpacing, radius = 2.55); + } + } + } } \ No newline at end of file