mirror of
https://github.com/revarbat/snappy-reprap.git
synced 2025-10-29 22:59:31 -07:00
Increased drive gear size for possibly smoother motion.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1641,20 +1641,20 @@ solid Model
|
||||
outer loop
|
||||
vertex -19.975 -65 5
|
||||
vertex -10 -65 5
|
||||
vertex -19.975 -45 5
|
||||
vertex -14.324 -45 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -10 -65 5
|
||||
vertex -2.966 -64.5 5
|
||||
vertex -8 -45 5
|
||||
vertex -14.324 -45 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -10 -65 5
|
||||
vertex -8 -45 5
|
||||
vertex -19.975 -65 5
|
||||
vertex -14.324 -45 5
|
||||
vertex -19.975 -45 5
|
||||
endloop
|
||||
endfacet
|
||||
@@ -1668,15 +1668,15 @@ solid Model
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -2.966 -64.5 5
|
||||
vertex -8 45 5
|
||||
vertex -8 -45 5
|
||||
vertex -14.324 45 5
|
||||
vertex -14.324 -45 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -2.966 -64.5 5
|
||||
vertex -2.966 64.5 5
|
||||
vertex -8 45 5
|
||||
vertex -14.324 45 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
@@ -1689,20 +1689,20 @@ solid Model
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -19.975 45 5
|
||||
vertex -8 45 5
|
||||
vertex -10 65 5
|
||||
vertex -14.324 45 5
|
||||
vertex -19.975 65 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -8 45 5
|
||||
vertex -14.324 45 5
|
||||
vertex -2.966 64.5 5
|
||||
vertex -10 65 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -19.975 45 5
|
||||
vertex -14.324 45 5
|
||||
vertex -10 65 5
|
||||
vertex -19.975 65 5
|
||||
endloop
|
||||
@@ -1724,22 +1724,22 @@ solid Model
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -19.975 -45 5
|
||||
vertex -8 -45 5
|
||||
vertex -8 -45 16.95
|
||||
vertex -14.324 -45 5
|
||||
vertex -14.324 -45 16.95
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex -8 -45 5
|
||||
vertex -8 45 5
|
||||
vertex -8 -45 16.95
|
||||
vertex -14.324 -45 5
|
||||
vertex -14.324 45 5
|
||||
vertex -14.324 -45 16.95
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -19.975 45 5
|
||||
vertex -20 45 16.95
|
||||
vertex -8 45 5
|
||||
vertex -14.324 45 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
@@ -1794,22 +1794,22 @@ solid Model
|
||||
facet normal 0 -1 0
|
||||
outer loop
|
||||
vertex -19.975 -45 5
|
||||
vertex -8 -45 16.95
|
||||
vertex -14.324 -45 16.95
|
||||
vertex -20 -45 16.95
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex -8 45 5
|
||||
vertex -8 45 16.95
|
||||
vertex -8 -45 16.95
|
||||
vertex -14.324 45 5
|
||||
vertex -14.324 45 16.95
|
||||
vertex -14.324 -45 16.95
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
outer loop
|
||||
vertex -8 45 5
|
||||
vertex -14.324 45 5
|
||||
vertex -20 45 16.95
|
||||
vertex -8 45 16.95
|
||||
vertex -14.324 45 16.95
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 1 0
|
||||
@@ -4027,14 +4027,14 @@ solid Model
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -20 -45 16.95
|
||||
vertex -8 -45 16.95
|
||||
vertex -14.324 -45 16.95
|
||||
vertex -20 45 16.95
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 1
|
||||
outer loop
|
||||
vertex -8 -45 16.95
|
||||
vertex -8 45 16.95
|
||||
vertex -14.324 -45 16.95
|
||||
vertex -14.324 45 16.95
|
||||
vertex -20 45 16.95
|
||||
endloop
|
||||
endfacet
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,6 @@ use <GDMUtils.scad>
|
||||
use <cable_chain.scad>
|
||||
use <wiring.scad>
|
||||
|
||||
pi = 3.1415926535;
|
||||
|
||||
module cable_chain_link()
|
||||
{
|
||||
|
||||
@@ -130,6 +130,7 @@ gear_backlash = printer_slop/2;
|
||||
|
||||
|
||||
// Commonly used derived values. Don't change these.
|
||||
pi = 3.141592653589793236+0.0;
|
||||
extruder_length = motor_rail_length + 2*lifter_screw_pitch;
|
||||
shaft_clear = max(20.0, motor_shaft_length)-20.0;
|
||||
rail_offset = shaft_clear+12.0;
|
||||
@@ -144,6 +145,7 @@ lifter_tooth_depth = lifter_screw_pitch / 3.2;
|
||||
z_joiner_spacing = lifter_screw_diam + 2*lifter_tooth_depth + joiner_width;
|
||||
z_base_height = rail_height + groove_height + 2*platform_thick;
|
||||
adjust_thread_depth = adjust_screw_pitch/3.2;
|
||||
drive_gear_diam = (gear_teeth+2)*rack_tooth_size/pi;
|
||||
|
||||
wall_styles = ["thinwall", "corrugated", "crossbeams"];
|
||||
wall_style = wall_styles[wall_styling];
|
||||
|
||||
@@ -7,7 +7,6 @@ $fa = 2;
|
||||
$fs = 2;
|
||||
|
||||
module drive_gear() {
|
||||
pi = 3.1415926535;
|
||||
shaft = motor_shaft_size + printer_slop;
|
||||
rack_module = rack_tooth_size / pi;
|
||||
gear_pcd = gear_teeth * rack_module;
|
||||
|
||||
@@ -55,6 +55,9 @@
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
pi = 3.141592653589793236;
|
||||
|
||||
|
||||
//An involute spur gear, with reasonable defaults for all the parameters.
|
||||
//Normally, you should just choose the first 4 parameters, and let the rest be default values.
|
||||
//Meshing gears must match in mm_per_tooth, pressure_angle, and twist,
|
||||
@@ -70,7 +73,6 @@ module gear (
|
||||
clearance = 0.0, //gap between top of a tooth on one gear and bottom of valley on a meshing gear (in millimeters)
|
||||
backlash = 0.0 //gap between two meshing teeth, in the direction along the circumference of the pitch circle
|
||||
) {
|
||||
pi = 3.141592653589793236;
|
||||
p = mm_per_tooth * number_of_teeth / pi / 2; //radius of pitch circle
|
||||
c = p + mm_per_tooth / pi - clearance; //radius of outer circle
|
||||
b = p*cos(pressure_angle); //radius of base circle
|
||||
@@ -99,7 +101,7 @@ module gear (
|
||||
};
|
||||
//these 4 functions are used by gear
|
||||
function polar(r,theta) = r*[sin(theta), cos(theta)]; //convert polar to cartesian coordinates
|
||||
function iang(r1,r2) = sqrt((r2/r1)*(r2/r1) - 1)/3.1415926*180 - acos(r1/r2); //unwind a string this many degrees to go from radius r1 to radius r2
|
||||
function iang(r1,r2) = sqrt((r2/r1)*(r2/r1) - 1)/pi*180 - acos(r1/r2); //unwind a string this many degrees to go from radius r1 to radius r2
|
||||
function q7(f,r,b,r2,t,s) = q6(b,s,t,(1-f)*max(b,r)+f*r2); //radius a fraction f up the curved side of the tooth
|
||||
function q6(b,s,t,d) = polar(d,s*(iang(b,d)+t)); //point at radius d on the involute curve
|
||||
|
||||
@@ -139,13 +141,13 @@ module rack (
|
||||
//A gear fits within a circle of radius outer_radius, and two gears should have
|
||||
//their centers separated by the sum of their pictch_radius.
|
||||
function circular_pitch (mm_per_tooth=3) = mm_per_tooth; //tooth density expressed as "circular pitch" in millimeters
|
||||
function diametral_pitch (mm_per_tooth=3) = 3.141592653589793236 / mm_per_tooth; //tooth density expressed as "diametral pitch" in teeth per millimeter
|
||||
function diametral_pitch (mm_per_tooth=3) = pi / mm_per_tooth; //tooth density expressed as "diametral pitch" in teeth per millimeter
|
||||
function adendum (mm_per_tooth=3) = module_value(mm_per_tooth);
|
||||
function dedendum (mm_per_tooth=3) = 1.25 * module_value(mm_per_tooth);
|
||||
function module_value (mm_per_tooth=3) = mm_per_tooth / 3.141592653589793236; //tooth density expressed as "module" or "modulus" in millimeters
|
||||
function pitch_radius (mm_per_tooth=3,number_of_teeth=11) = mm_per_tooth * number_of_teeth / 3.1415926 / 2;
|
||||
function module_value (mm_per_tooth=3) = mm_per_tooth / pi; //tooth density expressed as "module" or "modulus" in millimeters
|
||||
function pitch_radius (mm_per_tooth=3,number_of_teeth=11) = mm_per_tooth * number_of_teeth / pi / 2;
|
||||
function outer_radius (mm_per_tooth=3,number_of_teeth=11,clearance=0.1) //The gear fits entirely within a cylinder of this radius.
|
||||
= mm_per_tooth*(1+number_of_teeth/2)/3.1415926 - clearance;
|
||||
= mm_per_tooth*(1+number_of_teeth/2)/pi - clearance;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//example gear train.
|
||||
|
||||
@@ -92,7 +92,7 @@ module rail_xy_motor_segment(explode=0, connectby="")
|
||||
|
||||
// Endstop clip
|
||||
zrot_copies([0, 180]) {
|
||||
fwd((endstop_depth+2)/2-8) {
|
||||
fwd((endstop_depth+2)/2-drive_gear_diam/2) {
|
||||
right((motor_width+endstop_thick+3+2*7)/2) {
|
||||
up(rail_height+groove_height-2-(endstop_length+2*2)/2) {
|
||||
difference() {
|
||||
|
||||
@@ -6,7 +6,7 @@ use <joiners.scad>
|
||||
module sled_endcap()
|
||||
{
|
||||
joiner_length = 20;
|
||||
hardstop_offset=8;
|
||||
hardstop_offset = drive_gear_diam/2;
|
||||
|
||||
color("DodgerBlue")
|
||||
prerender(convexity=10)
|
||||
@@ -16,8 +16,10 @@ module sled_endcap()
|
||||
union() {
|
||||
difference() {
|
||||
// Bottom
|
||||
translate([0, -joiner_length/2, -platform_thick/2]) {
|
||||
cube(size=[platform_width-joiner_width*2+0.1, joiner_length-0.05, platform_thick], center=true);
|
||||
fwd(joiner_length/2) {
|
||||
down(platform_thick/2) {
|
||||
cube(size=[platform_width-joiner_width*2+0.1, joiner_length-0.05, platform_thick], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
// Clear for joiners.
|
||||
@@ -29,7 +31,7 @@ module sled_endcap()
|
||||
}
|
||||
|
||||
// Snap-tab joiners.
|
||||
translate([0,0,-platform_height/2]) {
|
||||
down(platform_height/2) {
|
||||
difference() {
|
||||
joiner_pair(spacing=platform_width-joiner_width, h=platform_height, w=joiner_width, l=joiner_length-joiner_width/2, a=joiner_angle);
|
||||
down(platform_height/2) {
|
||||
@@ -44,35 +46,41 @@ module sled_endcap()
|
||||
}
|
||||
|
||||
// Clear for Side joiners
|
||||
translate([0, -(joiner_length-joiner_width/2), -platform_height/2]) {
|
||||
xspread(platform_width+0.1) {
|
||||
zrot(-90) joiner_clear(h=platform_height, w=joiner_width, clearance=5, l=joiner_width, a=joiner_angle);
|
||||
down(platform_height/2) {
|
||||
fwd(joiner_length-joiner_width/2) {
|
||||
xspread(platform_width+0.1) {
|
||||
zrot(-90) joiner_clear(h=platform_height, w=joiner_width, clearance=5, l=joiner_width, a=joiner_angle);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Side joiners
|
||||
translate([0, -(joiner_length-joiner_width/2), -platform_height/2]) {
|
||||
difference() {
|
||||
yrot_copies([0,180]) {
|
||||
translate([platform_width/2, 0, 0]) {
|
||||
zrot(-90) joiner(h=platform_height, w=joiner_width, l=joiner_width, a=joiner_angle);
|
||||
down(platform_height/2) {
|
||||
fwd(joiner_length-joiner_width/2) {
|
||||
difference() {
|
||||
yrot_copies([0,180]) {
|
||||
translate([platform_width/2, 0, 0]) {
|
||||
zrot(-90) joiner(h=platform_height, w=joiner_width, l=joiner_width, a=joiner_angle);
|
||||
}
|
||||
}
|
||||
}
|
||||
down(platform_height/2) {
|
||||
yspread(joiner_width) {
|
||||
yrot(90) chamfer_mask(r=3, h=2*joiner_length+platform_width);
|
||||
}
|
||||
xspread(platform_width-2*joiner_width) {
|
||||
xrot(90) chamfer_mask(r=3, h=2*joiner_length+platform_width);
|
||||
down(platform_height/2) {
|
||||
yspread(joiner_width) {
|
||||
yrot(90) chamfer_mask(r=3, h=2*joiner_length+platform_width);
|
||||
}
|
||||
xspread(platform_width-2*joiner_width) {
|
||||
xrot(90) chamfer_mask(r=3, h=2*joiner_length+platform_width);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Rack and pinion hard stop.
|
||||
translate([0, -joiner_length+(joiner_length-hardstop_offset)/2, -platform_thick-rail_offset/2+0.05]) {
|
||||
cube(size=[rail_spacing-joiner_width, joiner_length-hardstop_offset, rail_offset], center=true);
|
||||
down(platform_thick+rail_offset/2-0.05) {
|
||||
fwd(joiner_length-(joiner_length-hardstop_offset)/2) {
|
||||
cube(size=[rail_spacing-joiner_width, joiner_length-hardstop_offset, rail_offset], center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2
wiki
2
wiki
Submodule wiki updated: f819b04e94...b663c72053
@@ -4,7 +4,6 @@ use <GDMUtils.scad>
|
||||
$fa=2;
|
||||
$fs=1.5;
|
||||
|
||||
pi = 3.141592653589793236;
|
||||
|
||||
module wire_clip(
|
||||
d = 8,
|
||||
|
||||
@@ -3,8 +3,8 @@ use <GDMUtils.scad>
|
||||
use <joiners.scad>
|
||||
|
||||
|
||||
joiner_length=15;
|
||||
hardstop_offset=8;
|
||||
joiner_length = 20;
|
||||
hardstop_offset = drive_gear_diam/2;
|
||||
|
||||
|
||||
module xy_joiner()
|
||||
@@ -63,11 +63,11 @@ module xy_joiner()
|
||||
|
||||
// braces
|
||||
up(rail_height/2-platform_thick/2) {
|
||||
fwd(10/2+0.1) {
|
||||
fwd(joiner_length-platform_thick*2+0.01) {
|
||||
xflip_copy() {
|
||||
left(side_mount_spacing/2) {
|
||||
right_half() {
|
||||
xrot(-90) trapezoid([hoff*1.2, platform_thick], [joiner_width/3, platform_thick], h=hoff, center=false);
|
||||
right_half(200) {
|
||||
xrot(-90) trapezoid([hoff*1.2, platform_thick], [joiner_width/3, platform_thick], h=hoff+joiner_length-platform_thick*2-6, center=false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,9 @@ module xy_sled()
|
||||
slider_count = 2;
|
||||
l = platform_length - 2*printer_slop;
|
||||
slider_spacing = (l-slider_len-15)/(slider_count-1);
|
||||
rack_module = rack_tooth_size / pi;
|
||||
rack_pcd = gear_teeth * rack_module;
|
||||
addendum = rack_module;
|
||||
|
||||
color("MediumSlateBlue")
|
||||
prerender(convexity=10)
|
||||
@@ -67,8 +70,6 @@ module xy_sled()
|
||||
}
|
||||
|
||||
// Drive rack
|
||||
rack_module = rack_tooth_size / 3.1415926535;
|
||||
rack_pcd = gear_teeth * rack_module;
|
||||
left(rack_pcd/2) {
|
||||
up(platform_thick+rack_base+shaft_clear+rack_height/2) {
|
||||
difference() {
|
||||
@@ -84,10 +85,9 @@ module xy_sled()
|
||||
}
|
||||
|
||||
// rack base
|
||||
addendum = rack_module;
|
||||
up((platform_thick+shaft_clear+rack_base)/2) {
|
||||
left(10/2-addendum) {
|
||||
cube(size=[10,l,platform_thick+rack_base+shaft_clear], center=true);
|
||||
cube(size=[10, l, platform_thick+rack_base+shaft_clear], center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user