Added improvements by Harry Binnema: better gears and symmetric Z carriage

pull/9/head
Carlos Garcia Saura 2013-09-26 23:43:30 +02:00
parent fd7486901e
commit 8d8c314707
11 changed files with 28917 additions and 34236 deletions

View File

@ -1,119 +1,113 @@
/* 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. * This program is free software; you can redistribute it and/or
* by Harry Binnema. * modify it under the terms of the GNU General Public License
* * as published by the Free Software Foundation; either version 2
* This program is free software; you can redistribute it and/or * of the License, or (at your option) any later version.
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 * This program is distributed in the hope that it will be useful,
* of the License, or (at your option) any later version. * but WITHOUT ANY WARRANTY; without even the implied warranty of
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* This program is distributed in the hope that it will be useful, * GNU General Public License for more details.
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * You should have received a copy of the GNU General Public License
* GNU General Public License for more details. * along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* You should have received a copy of the GNU General Public License * --
* along with this program; if not, write to the Free Software * DeuxVis - device@ymail.com */
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* -- include <MCAD/teardrop.scad>
* DeuxVis - device@ymail.com */ include <MCAD/involute_gears.scad>
include <MCAD/teardrop.scad> motor_shaft_diameter=5.4;
include <MCAD/involute_gears.scad> BigGear_N_Teeth = 21; // 24
motor_shaft_diameter=5.4; nholes = 9; // 7
BigGear_N_Teeth = 21; // 24 holes_diam = 6;
hole_distance_from_center = 13.5-4.5+holes_diam/2;
nholes = 9; // 7
holes_diam = 6; /* Herringbone gear module, adapted from MCAD/involute_gears */
hole_distance_from_center = 13.5-4.5+holes_diam/2; module herringbone_gear( teeth=12, circles=0, shaft=5 ) {
twist=200;
/* Herringbone gear module, adapted from MCAD/involute_gears */ height=10;
module herringbone_gear( teeth=12, circles=0, shaft=5 ) { pressure_angle=30;
twist=200;
height=10; gear(
pressure_angle=30; number_of_teeth=teeth,
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 mirror( [0,0,1] )
); gear(
number_of_teeth=teeth,
mirror( [0,0,1] ) 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
); // Motor gear
} union() difference() {
union() {
// Motor gear
union() difference() { //gear
union() { herringbone_gear( teeth=BigGear_N_Teeth );
//gear translate( [0, 0, 12] ) mirror( [0, 0, 1] ) difference() {
herringbone_gear( teeth=BigGear_N_Teeth ); //shaft
cylinder( r=9, h=15, $fn=40 );
translate( [0, 0, 12] ) mirror( [0, 0, 1] ) difference() {
//shaft //captive nut and grub holes
cylinder( r=9, h=15, $fn=40 ); translate( [0, 20, 3.5] ) rotate( [90, 0, 0] ) union() {
//adapted to include 3 captive nuts for symmetrical positioning //enterance
//adpted bij HJ Binnema on August 26 2013. translate( [0, -3, 14.5] ) cube( [6, 6, 2.6], center=true );
for (i= [0:2]){ //nut
rotate([0,0,i*120]){ translate( [0, 0, 13.3] ) rotate( [0, 0, 30] )
//captive nut and grub holes cylinder( r=6/2+0.5, h=2.6, $fn=6 );
translate( [0, 20, 3.5] ) rotate( [90, 0, 0] ) union() { //grub hole
//enterance translate( [0, 0, 9] ) cylinder( r=3.2/2, h=10, $fn=6 );
translate( [0, -3, 14.5] ) cube( [6, 6, 2.6], center=true ); }
//nut }
translate( [0, 0, 13.3] ) rotate( [0, 0, 30] ) }
cylinder( r=6/2+0.5, h=2.6, $fn=6 );
//grub hole //holes to save plastic
translate( [0, 0, 9] ) cylinder( r=3.2/2, h=10, $fn=6 ); for(i=[0:nholes-1])
}}} rotate( [0, 0, i*360/(nholes)+45], $fn=20 )
} translate( [hole_distance_from_center, 0] )
} cylinder( r=holes_diam/2, h=11, center=true, $fn=30 );
//holes to save plastic //shaft hole
for(i=[0:nholes-1]) translate( [0, 0, -6] ) cylinder( r=motor_shaft_diameter/2, h=20, $fn=30 );
rotate( [0, 0, i*360/(nholes)+45], $fn=20 ) }
translate( [hole_distance_from_center, 0] )
cylinder( r=holes_diam/2, h=11, center=true, $fn=30 );
//shaft hole
translate( [0, 0, -6] ) cylinder( r=motor_shaft_diameter/2, h=20, $fn=30 );
}

File diff suppressed because it is too large Load Diff

View File

@ -1,20 +1,13 @@
// Cyclone PCB Factory: a 3D printable CNC machine for PCB manufacture // Cyclone PCB Factory: a 3D printable CNC machine for PCB manufacture
// Created by Carlosgs (http://carlosgs.es) // Created by Carlosgs (http://carlosgs.es)
// License: Attribution - Share Alike - Creative Commons (http://creativecommons.org/licenses/by-sa/3.0/) // License: Attribution - Share Alike - Creative Commons (http://creativecommons.org/licenses/by-sa/3.0/)
/*
* August 2013 changes to design top-part mounting screw at same side as bottom-part.
* also started introduced 2nd spindle diameter for a-symmetrical spindles. this is not working yet.
* by Harry Binnema.
*/
use <../libs/obiscad/bcube.scad> use <../libs/obiscad/bcube.scad>
use <../libs/build_plate.scad> use <../libs/build_plate.scad>
use <../libs/Write/Write.scad> use <../libs/Write/Write.scad>
spindle_motor_diam_top = 26*2;
spindle_motor_diam = 26*2; spindle_motor_diam = 26*2;
spindle_holder_thickness = 8; spindle_holder_thickness = 7;
spindle_holder_distance = 46;
bottom_thickness = 4; bottom_thickness = 4;
base_width = 20; base_width = 20;
@ -36,7 +29,7 @@ M8_rod_diameter = 8.2;
axis_distance = 21; axis_distance = 21;
wall_thickness = 9; wall_thickness = 8;
wall_height = motor_width; wall_height = motor_width;
wall_width = 54; wall_width = 54;
@ -65,28 +58,22 @@ module dummySpindle() {
} }
// Derived from Spindle mount for ShapeOko by Misan (http://www.thingiverse.com/thing:26740) // Derived from Spindle mount for ShapeOko by Misan (http://www.thingiverse.com/thing:26740)
module spindle_holder_holes(length,spindiam, basediam,top_part) { module spindle_holder_holes(length=50,showSpindle=true) {
$fn=6; $fn=6;
translate([20,8,-0.05]) cylinder(r=basediam/2,h=length+2,$fn=60); translate([20,8,-0.05]) cylinder(r=base_screw_diameter/2,h=length+2,$fn=60);
translate([-20,8,-0.05]) cylinder(r=basediam/2,h=length+2,$fn=60); translate([-20,8,-0.05]) cylinder(r=base_screw_diameter/2,h=length+2,$fn=60);
if (top_part){
translate([0,38,0]) rotate([0,0,0]) { translate([0,38,0]) rotate([0,0,180]) {
translate([0,0,-0.05]) cylinder(r=spindiam/2,h=length+2,$fn=60);
translate([0,-3,-0.01]) cube([90,3,length+2]); translate([0,0,-0.05]) cylinder(r=spindle_motor_diam/2,h=length+2,$fn=60);
translate ([spindiam/2+15,15,length/2]) rotate([90,0,0]) cylinder(r=2,h=30);
translate ([spindiam/2+15,-10.5,length/2]) rotate([90,0,0]) cylinder(r=3.5,h=4,$fn=6); translate([0,0,-0.01]) cube([90,3,length+2]);
}
} translate ([36,20,length/2]) rotate([90,0,0]) cylinder(r=2,h=30);
else translate ([36,14,length/2]) rotate([90,0,0]) cylinder(r=3.5,h=4,$fn=6);
{
translate([0,38,0]) rotate([0,0,180]) { }
translate([0,0,-0.05]) cylinder(r=spindiam/2,h=length+2,$fn=60);
translate([0,0,-0.01]) cube([90,3,length+2]);
translate ([spindiam/2+15,20,length/2]) rotate([90,0,0]) cylinder(r=2,h=30);
translate ([spindiam/2+15,15,length/2]) rotate([90,0,0]) cylinder(r=3.5,h=4,$fn=6);
}
}
} }
@ -174,35 +161,28 @@ module Z_solid_body(top_part=true) {
cylinder(r=3+LM8UU_dia/2,h=wall_thickness,$fn=50); cylinder(r=3+LM8UU_dia/2,h=wall_thickness,$fn=50);
} }
// For the claw of the spindle holder // For the screw of the spindle holder
if(top_part){
translate([wall_height/2,wall_width-4,0]) translate([wall_height/2,wall_width-4,0])
translate([0,38,0]) { translate([0,38,0]) {
rotate([0,0,0]) { rotate([0,0,180]) {
translate([spindle_motor_diam/2,-12.5,0]) cube([25,20,wall_thickness]); translate([28,-7,0]) cube([15,20,wall_thickness]);
// Write text in the front // Write text in the front
color([0.5,0.5,0.5]) color([0.5,0.5,0.5])
rotate([0,0,180]) scale([-1,1,-textHscale]) if(top_part)
scale([-1,1,-textHscale])
writecylinder("CYCLONE",[0,0,-wall_thickness/(2*textHscale)],spindle_motor_diam/2+spindle_holder_thickness,0,font="orbitron.dxf",space=1.1,h=wall_thickness,t=textThickness,center=true,ccw=true); writecylinder("CYCLONE",[0,0,-wall_thickness/(2*textHscale)],spindle_motor_diam/2+spindle_holder_thickness,0,font="orbitron.dxf",space=1.1,h=wall_thickness,t=textThickness,center=true,ccw=true);
} else
}
}
else
translate([wall_height/2,wall_width-4,0])
translate([0,38,0]) {
rotate([0,0,180]) {
translate([spindle_motor_diam/2,-7,0]) cube([25,20,wall_thickness]);
color([0.2,0.2,0.5])
scale([1,1,textHscale]) scale([1,1,textHscale])
writecylinder("PCB Factory",[0,0,wall_thickness/(2*textHscale)+1],spindle_motor_diam/2+spindle_holder_thickness,0,font="orbitron.dxf",space=1.1,h=wall_thickness-2,t=textThickness,center=true,ccw=true); writecylinder("PCB Factory",[0,0,wall_thickness/(2*textHscale)+1],spindle_motor_diam/2+spindle_holder_thickness,0,font="orbitron.dxf",space=1.1,h=wall_thickness-2,t=textThickness,center=true,ccw=true);
} }
} }
} }
//for display only, doesn't contribute to final object //for display only, doesn't contribute to final object
//build_plate(3,200,200); build_plate(3,200,200);
module Z_carriage(showSpindle=false,top_part=true) { module Z_carriage(showSpindle=false,top_part=true) {
@ -212,7 +192,7 @@ module Z_carriage(showSpindle=false,top_part=true) {
Z_solid_body(top_part); Z_solid_body(top_part);
if(top_part) motor_stand_holes_Z(); if(top_part) motor_stand_holes_Z();
translate([wall_height/2,wall_width-4,0]) translate([wall_height/2,wall_width-4,0])
spindle_holder_holes(wall_thickness,spindle_motor_diam,base_screw_diameter,top_part); spindle_holder_holes(wall_thickness,showSpindle);
translate([wall_height/2-Z_smooth_rods_sep/2,Z_threaded_pos,0]) translate([wall_height/2-Z_smooth_rods_sep/2,Z_threaded_pos,0])
linearBearingHolderZ(wall_thickness); linearBearingHolderZ(wall_thickness);
translate([wall_height/2+Z_smooth_rods_sep/2,Z_threaded_pos,0]) translate([wall_height/2+Z_smooth_rods_sep/2,Z_threaded_pos,0])
@ -238,14 +218,14 @@ module Z_carriage(showSpindle=false,top_part=true) {
module Z_carriage_assembled() { module Z_carriage_assembled() {
Z_carriage(showSpindle=true,top_part=false); Z_carriage(showSpindle=true,top_part=false);
translate([0,0,3+spindle_holder_distance]) rotate([180,0,0]) Z_carriage(showSpindle=false,top_part=true); translate([0,0,3+23*2]) rotate([180,0,0]) Z_carriage(showSpindle=false,top_part=true);
} }
//Z_carriage(top_part=true); //Z_carriage(top_part=true);
//Z_carriage(top_part=false); Z_carriage(top_part=false);
Z_carriage_assembled(); //Z_carriage_assembled();

View File

@ -0,0 +1,143 @@
// Cyclone PCB Factory: a 3D printable CNC machine for PCB manufacture
// Created by Carlosgs (http://carlosgs.es)
// License: Attribution - Share Alike - Creative Commons (http://creativecommons.org/licenses/by-sa/3.0/)
use <../libs/obiscad/bcube.scad>
use <../libs/build_plate.scad>
use <../libs/Write/Write.scad>
include <./lm8uu_holder.scad>
bottom_thickness = 4;
base_width = 20;
base_length = 25;
base_screw_diameter = 5;
motor_width = 43;
motor_length = 49; // not used
motor_screw_distance = 31.3;
motor_center_diameter = 23;
motor_screw_diameter = 3.7;
motor_screw_head_diameter = 8;
bearing_diameter = 22.4;
M8_rod_diameter = 8.2;
axis_distance = 21;
wall_thickness = 5;
wall_height = motor_width;
wall_width = 54;
idler_width = 25;
lbearing_holder_length = 23*2;
Z_threaded_pos = motor_width/2+axis_distance;
Z_smooth_rods_sep = 55;
textHscale = 0.8;
textThickness = 1.5;
// Derived from Spindle mount for ShapeOko by Misan (http://www.thingiverse.com/thing:26740)
module spindle_holder(length=50,showSpindle=true) {
$fn=6;
translate([0,38,0]) rotate([0,0,180]) {
if(showSpindle) scale([1,1,-1]) translate([0,0,-length]) {
translate([0,0,85]) color([0.95,0.95,0.95]) cylinder(r=26,h=30,$fn=60);
translate([0,0,80]) color([0.95,0.95,0.95]) cylinder(r=10/2,h=5,$fn=60);
translate([0,0,-10]) color([0.6,0.6,0.6]) cylinder(r=26,h=90,$fn=60);
translate([0,0,-40]) color([0.9,0.9,0.9]) cylinder(r=15/2,h=40,$fn=60);
translate([0,0,-50]) color([0.4,0.4,0.4]) cylinder(r=20/2,h=10,$fn=60);
translate([0,0,-50-20]) color([0.9,0.9,0.9]) cylinder(r1=1/2,r2=3/2,h=20,$fn=60);
}
difference() {
union() {
cylinder(r=30,h=length,$fn=60);
// Write text in the front
color([0.5,0.5,0.5]) scale([-1,1,-textHscale]) writecylinder("CYCLONE",[0,0,-length/(3*textHscale)],30,0,font="orbitron.dxf",space=1.1,h=12,t=textThickness,center=true,ccw=true);
translate ([-30,0,0]) cube([60,38,length]);
translate([28,-7,0]) cube([20,20,length]);
color([0.5,0.5,0.5]) scale([-1,1,-textHscale]) writecylinder("PCB Factory",[0,0,-length/(1.5*textHscale)],30,0,font="orbitron.dxf",space=1.1,h=14/2,t=textThickness,center=true,ccw=true);
translate ([-30,0,0]) cube([60,38,length]);
translate([28,-7,0]) cube([20,20,length]);
}
translate([0,0,-0.05]) cylinder(r=26,h=length+2,$fn=60);
translate([0,0,-0.01]) cube([90,3,length+2]);
translate ([40,20,3*length/4]) rotate([90,0,0]) cylinder(r=2,h=30);
translate ([40,20,length/4]) rotate([90,0,0]) cylinder(r=2,h=30);
translate ([40,14,3*length/4]) rotate([90,0,0]) cylinder(r=3.5,h=4,$fn=6);
translate ([40,14,length/4]) rotate([90,0,0]) cylinder(r=3.5,h=4,$fn=6);
difference() {
translate ([-30+15,0,-0.1]) cube([30,38.1,30]);
cylinder(r=26+1,h=length,$fn=60);
}
}
}
}
module motor_stand_no_base_Z(with_motor=true) {
difference() {
translate([wall_height/2,wall_width/2,wall_thickness/2])
bcube([wall_height,wall_width,wall_thickness],cr=4,cres=10);
// Position relative to motor shaft
translate([motor_width/2,motor_width/2,wall_thickness/2]) {
if(with_motor) {
// Hole for the motor shaft
translate([0,-wall_width/2,0])
cube([20,wall_width,10*wall_thickness],cr=4,cres=10,center=true);
cylinder(r=motor_center_diameter/2,h=10*wall_thickness,center=true,$fn=40);
// Screws for holding the motor
for(i=[-1,1]) for(j=[-1,1])
translate([i*motor_screw_distance/2,j*motor_screw_distance/2,0]) {
cylinder(r=motor_screw_diameter/2,h=10*wall_thickness,center=true,$fn=40);
cylinder(r=motor_screw_head_diameter/2,h=10*wall_thickness,center=false,$fn=40);
}
} // End if with motor
// Bearing holes
rotate([0,0,0]) translate([0,axis_distance,0]) {
cylinder(r=(M8_rod_diameter*2)/2,h=10*wall_thickness,center=true,$fn=40);
cylinder(r=bearing_diameter/2,h=10*wall_thickness,center=false,$fn=60);
}
} // End of translate relative to motor shaft
} // End of difference
}
module motor_stand_Z(with_motor=true) {
union() {
motor_stand_no_base_Z(with_motor);
}
}
//for display only, doesn't contribute to final object
build_plate(3,200,200);
module Z_carriage(showSpindle=false) {
rotate([0,0,-90]) translate([-wall_height/2,-Z_threaded_pos,0]) {
motor_stand_Z();
translate([wall_height/2,wall_width-4,0]) spindle_holder(lbearing_holder_length,showSpindle);
translate([wall_height/2-Z_smooth_rods_sep/2,Z_threaded_pos,lbearing_holder_length/2]) rotate([-90,0,0]) lm8uu_bearing_holder_XZ(lbearing_holder_length);
translate([wall_height/2+Z_smooth_rods_sep/2,Z_threaded_pos,lbearing_holder_length/2]) rotate([-90,0,0]) lm8uu_bearing_holder_XZ(lbearing_holder_length);
}
}
Z_carriage(showSpindle=false);

View File

@ -1,114 +1,104 @@
/* 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.
* *
* August 2013 added 2 extra setscrews to ensure centered usage. * Copyright (C) 2011 Guy 'DeuxVis' P.
* by Harry Binnema. *
* * This program is free software; you can redistribute it and/or
* Copyright (C) 2011 Guy 'DeuxVis' P. * modify it under the terms of the GNU General Public License
* * as published by the Free Software Foundation; either version 2
* This program is free software; you can redistribute it and/or * of the License, or (at your option) any later version.
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 * This program is distributed in the hope that it will be useful,
* of the License, or (at your option) any later version. * but WITHOUT ANY WARRANTY; without even the implied warranty of
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* This program is distributed in the hope that it will be useful, * GNU General Public License for more details.
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * You should have received a copy of the GNU General Public License
* GNU General Public License for more details. * along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* You should have received a copy of the GNU General Public License * --
* along with this program; if not, write to the Free Software * DeuxVis - device@ymail.com */
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* -- include <MCAD/teardrop.scad>
* DeuxVis - device@ymail.com */ include <MCAD/involute_gears.scad>
include <MCAD/teardrop.scad> motor_shaft_diameter=5.4;
include <MCAD/involute_gears.scad>
nholes = 7;
motor_shaft_diameter=5.4;
pos=15.4; //position hole for grubnut /* Herringbone gear module, adapted from MCAD/involute_gears */
nholes = 7; module herringbone_gear( teeth=12, circles=0, shaft=5 ) {
shaft_diam=10; twist=200;
shaft_height=7; height=10;
pressure_angle=30;
/* Herringbone gear module, adapted from MCAD/involute_gears */
module herringbone_gear( teeth=12, circles=0, shaft=5 ) { gear(
twist=200; number_of_teeth=teeth,
height=10; circular_pitch=320,
pressure_angle=30; pressure_angle=pressure_angle,
clearance = 0.2,
gear( gear_thickness = height/2,
number_of_teeth=teeth, rim_thickness = height/2,
circular_pitch=320, rim_width = 1,
pressure_angle=pressure_angle, hub_thickness = height/2,
clearance = 0.2, hub_diameter=1,
gear_thickness = height/2, bore_diameter=shaft,
rim_thickness = height/2, circles=circles,
rim_width = 1, twist=twist/teeth
hub_thickness = height/2, );
hub_diameter=1,
bore_diameter=shaft, mirror( [0,0,1] )
circles=circles, gear(
twist=twist/teeth number_of_teeth=teeth,
); circular_pitch=320,
pressure_angle=pressure_angle,
mirror( [0,0,1] ) clearance = 0.2,
gear( gear_thickness = height/2,
number_of_teeth=teeth, rim_thickness = height/2,
circular_pitch=320, rim_width = 1,
pressure_angle=pressure_angle, hub_thickness = height/2,
clearance = 0.2, hub_diameter=1,
gear_thickness = height/2, bore_diameter=shaft,
rim_thickness = height/2, circles=circles,
rim_width = 1, twist=twist/teeth
hub_thickness = height/2, );
hub_diameter=1, }
bore_diameter=shaft,
circles=circles, // Motor gear
twist=twist/teeth rotate([180,0,0]) union() difference() {
); union() {
}
//gear
// Motor gear herringbone_gear( teeth=8 );
rotate([180,0,0]) union() difference() {
union() { translate( [0, 0, 12] ) mirror( [0, 0, 1] ) difference() {
//shaft
//gear cylinder( r=9, h=7, $fn=40 );
herringbone_gear( teeth=8 );
//captive nut and grub holes
translate( [0, 0, 12] ) mirror( [0, 0, 1] ) difference() { translate( [0, 20, 3.5] ) rotate( [90, 0, 0] ) union() {
//shaft //enterance
cylinder( r=shaft_diam, h=shaft_height, $fn=40 ); translate( [0, -3, 14.5] ) cube( [6, 6, 2.6], center=true );
//nut
//captive nut and grub holes translate( [0, 0, 13.3] ) rotate( [0, 0, 30] )
for (i=[0:2]){ //3 symmetric grubscrews cylinder( r=6/2+0.5, h=2.6, $fn=6 );
//grub hole
rotate([0,0,i*120]){ translate( [0, 0, 9] ) cylinder( r=1.5, h=10, $fn=20 );
translate( [0, 20, 3.5] ) rotate( [90, 0, 0] ) union() { }
//entrance for nut }
translate( [0, -4.4, pos] ) cube( [5.9, 5.8, 2.45], center=true ); }
//nut hole
translate( [0, 0, pos-1.2] ) rotate( [0, 0, 30] ) //shaft hole
cylinder( r=6/2+0.2, h=2.6, $fn=6 ); translate( [0, 0, -6] ) cylinder( r=motor_shaft_diameter/2, h=20, $fn=30 );
//grub screw hole }
translate( [0, 0, 9] ) cylinder( r=1.5, h=10, $fn=20 );
}
}
}
}
}
//shaft hole
translate( [0, 0, -6] ) cylinder( r=motor_shaft_diameter/2, h=20, $fn=30 );
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -52,14 +52,6 @@ License
Authors Authors
-- --
_Check Hardware, Software and Firmware sections for details regarding authorship_ _Check Hardware, Software and Firmware sections for details regarding authorship_
**_Hardware_**
- **Carlos García Saura (Carlosgs <http://carlosgs.es>)** (original design)
- **Daniel Garrido (yOPERO <http://yopero-tech.blogspot.com.es/>)** (hardware improvements)
**_Software_**
- **Carlos García Saura (Carlosgs <http://carlosgs.es>)** (original python scripts)
- _GUI work in progress by various members of the mail-list_
**_Electronics, firmware_**
- _Work in progress by various members of the mail-list_
Render (v0.9.7) Render (v0.9.7)
-- --