Working on a 45deg truncation for the gears

pull/20/head
Carlos Garcia 2014-08-18 17:18:34 +02:00
parent 4a2065d5b9
commit bf1838cffb
1 changed files with 71 additions and 78 deletions

View File

@ -1,18 +1,18 @@
/* Derived by Carlosgs from: /* Derived by Carlosgs from:
* http://www.thingiverse.com/thing:12789 * http://www.thingiverse.com/thing:12789
* An extruder gear set for the TechZone Huxley, * An extruder gear set for the TechZone Huxley,
* featuring Herringbone teeth. * featuring Herringbone teeth.
* You will have to recalibrate your E_STEPS_PER_MM in * You will have to recalibrate your E_STEPS_PER_MM in
* your firmware (ratio changing from original techzone * your firmware (ratio changing from original techzone
* lasercut gears). * lasercut gears).
* This use 2 modules from the MCAD library that you can * This use 2 modules from the MCAD library that you can
* get from https://github.com/elmom/MCAD. * get from https://github.com/elmom/MCAD.
* *
* Part - the motor gear mount hub with set screw hole - * Part - the motor gear mount hub with set screw hole -
* derived from http://www.thingiverse.com/thing:3104 * derived from http://www.thingiverse.com/thing:3104
* (thanks GilesBathgate) which is under GPL CC license. * (thanks GilesBathgate) which is under GPL CC license.
* *
* Copyright (C) 2011 Guy 'DeuxVis' P. * Copyright (C) 2011 Guy 'DeuxVis' P.
* *
* August 2013 added 2 extra setscrews to ensure centered usage. * August 2013 added 2 extra setscrews to ensure centered usage.
* by Harry Binnema. * by Harry Binnema.
@ -24,14 +24,14 @@
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* -- * --
* DeuxVis - device@ymail.com */ * DeuxVis - device@ymail.com */
include <MCAD/materials.scad> include <MCAD/materials.scad>
include <MCAD/teardrop.scad> include <MCAD/teardrop.scad>
@ -44,92 +44,85 @@ nholes = 9; // 7
holes_diam = 6; holes_diam = 6;
hole_distance_from_center = 13.5-4.5+holes_diam/2; hole_distance_from_center = 13.5-4.5+holes_diam/2;
// Increase the resolution of default shapes
$fa = 5; // Minimum angle for fragments [degrees]
$fs = 0.5; // Minimum fragment size [mm]
/* Herringbone gear module, adapted from MCAD/involute_gears */ /* Herringbone gear module, adapted from MCAD/involute_gears */
module herringbone_gear( teeth=12, circles=0, shaft=5 ) { module herringbone_gear( teeth=12, circles=0, shaft=5 ) {
twist=200; twist=200;
height=10; height=10;
pressure_angle=30; pressure_angle=30;
gear( module myGear() {
number_of_teeth=teeth, difference() {
circular_pitch=320, gear(
pressure_angle=pressure_angle, number_of_teeth=teeth,
clearance = 0.2, circular_pitch=320,
gear_thickness = height/2, pressure_angle=pressure_angle,
rim_thickness = height/2, clearance = 0.2,
rim_width = 1, gear_thickness = height/2,
hub_thickness = height/2, rim_thickness = height/2,
hub_diameter=1, rim_width = 1,
bore_diameter=shaft, hub_thickness = height/2,
circles=circles, hub_diameter=1,
twist=twist/teeth bore_diameter=shaft,
); circles=circles,
twist=twist/teeth,
$fn=15*2
);
translate([0,0,-height/2-0.01]) {
difference() {
cylinder(r=40.5/2, h=height/4);
translate([0,0,-0.01])
cylinder(r1=30/2, r2=40.5/2, h=height/4+0.02);
}
}
}
}
myGear();
mirror( [0,0,1] ) mirror( [0,0,1] )
gear( myGear();
number_of_teeth=teeth,
circular_pitch=320,
pressure_angle=pressure_angle,
clearance = 0.2,
gear_thickness = height/2,
rim_thickness = height/2,
rim_width = 1,
hub_thickness = height/2,
hub_diameter=1,
bore_diameter=shaft,
circles=circles,
twist=twist/teeth
);
} }
module cyclone_motor_gear(with_extra_parts=false, exploded=false) { module cyclone_motor_gear(with_extra_parts=false, exploded=false) {
// Motor gear // Motor gear
union() difference() { union() difference() {
union() { union() {
//gear //gear
herringbone_gear( teeth=BigGear_N_Teeth ); herringbone_gear( teeth=BigGear_N_Teeth );
translate( [0, 0, 12] ) mirror( [0, 0, 1] ) difference() { translate( [0, 0, 12] ) mirror( [0, 0, 1] ) difference() {
//shaft //shaft
cylinder( r=9, h=15, $fn=40 ); cylinder( r=9, h=15, $fn=40 );
//adapted to include 3 captive nuts for symmetrical positioning //adapted to include 3 captive nuts for symmetrical positioning
//adpted bij HJ Binnema on August 26 2013. //adpted bij HJ Binnema on August 26 2013.
for (i= [0:2]){ for (i= [0:2]){
rotate([0,0,i*120]){ rotate([0,0,i*120]){
//captive nut and grub holes //captive nut and grub holes
translate( [0, 20, 3.5] ) rotate( [90, 0, 0] ) union() { translate( [0, 20, 3.5] ) rotate( [90, 0, 0] ) union() {
//enterance //enterance
translate( [0, -3, 14.5] ) cube( [6, 6, 2.6], center=true ); translate( [0, -3, 14.5] ) cube( [6, 6, 2.6], center=true );
//nut //nut
translate( [0, 0, 13.3] ) rotate( [0, 0, 30] ) translate( [0, 0, 13.3] ) rotate( [0, 0, 30] )
cylinder( r=6/2+0.5, h=2.6, $fn=6 ); cylinder( r=6/2+0.5, h=2.6, $fn=6 );
//grub hole //grub hole
translate( [0, 0, 9] ) cylinder( r=3.2/2, h=10, $fn=6 ); translate( [0, 0, 9] ) cylinder( r=3.2/2, h=10, $fn=6 );
}}} }}}
} }
} }
//holes to save plastic //holes to save plastic
for(i=[0:nholes-1]) for(i=[0:nholes-1])
rotate( [0, 0, i*360/(nholes)+45], $fn=20 ) rotate( [0, 0, i*360/(nholes)+45], $fn=20 )
translate( [hole_distance_from_center, 0] ) translate( [hole_distance_from_center, 0] )
cylinder( r=holes_diam/2, h=11, center=true, $fn=30 ); cylinder( r=holes_diam/2, h=11, center=true, $fn=30 );
//shaft hole //shaft hole
translate( [0, 0, -6] ) cylinder( r=motor_shaft_diameter/2, h=20, $fn=30 ); translate( [0, 0, -6] ) cylinder( r=motor_shaft_diameter/2, h=20, $fn=30 );
} }
if(with_extra_parts)
cyclone_motor_gear_extras(exploded_distance=(exploded?20:0));
module cyclone_motor_gear_extras(exploded_distance=0) {
echo("Non-Plastic Parts, 1, Grub Screw M3 x 8 mm to attach gear to motor shaft");
translate([0,2.5+8+exploded_distance,12-3.5])
rotate([90, 0, 0])
color(Steel) cylinder(r=1.5, h=8, $fn=30);
}
} }