Skip to content

Commit

Permalink
Pressure rollers added.
Browse files Browse the repository at this point in the history
  • Loading branch information
clothbot committed Mar 18, 2012
1 parent 202f389 commit f30becd
Showing 1 changed file with 102 additions and 12 deletions.
114 changes: 102 additions & 12 deletions pump_v2/gear_pump.scad
Expand Up @@ -4,6 +4,7 @@ include <MCAD/involute_gears.scad>

// render_part=1; // drive_gears
render_part=2; // alignment_gears
render_part=3; // pressure_rollers

module spider_coupler(
thickness=5.0
Expand Down Expand Up @@ -73,17 +74,12 @@ if(render_part==1) {
drive_gears(gear_spacing=2.0);
}

module alignment_gears(
module alignment_gear_middle(
gear_d=20.0, gear_num_teeth=17, gear_thickness=12.0, gear_spacing=1.0
, gear_hub_thickness=15.0, gear_hub_d=12.0
, roller_axle_d=3.0, middle_axle_d=5.0
, roller_gear_count=3
, gear_clearance=0.4
, twist_ratio=0.5
, bevel_dr=0.5
, gear_hub_thickness=15.0, gear_hub_d=12.0, middle_axle_d=5.0
, gear_clearance=0.4, twist_ratio=0.5, bevel_dr=0.5
) {
$fs=0.1;
// Motor gear at center
gear_circular_pitch=gear_d * 180 / gear_num_teeth;
union() {
gear(number_of_teeth=gear_num_teeth
Expand Down Expand Up @@ -113,8 +109,19 @@ module alignment_gears(
spider_coupler( thickness=(gear_hub_thickness-gear_thickness)/2
, outer_d=gear_hub_d, axle_d=middle_axle_d, bevel_dr=bevel_dr,shrink=0.2 );
}
for(i=[0:roller_gear_count-1]) assign( rotAngle=360*i/roller_gear_count ) {
rotate([0,0,rotAngle]) translate([gear_d+gear_clearance+gear_spacing,0,0]) rotate([0,0,-2*rotAngle]) union() {
}

module alignment_gear_roller(
gear_d=20.0, gear_num_teeth=17, gear_thickness=12.0, gear_spacing=1.0
, gear_hub_thickness=15.0, gear_hub_d=12.0
, roller_axle_d=3.0
, roller_gear_count=3
, gear_clearance=0.4
, twist_ratio=0.5
, bevel_dr=0.5
) {
$fs=0.1;
gear_circular_pitch=gear_d * 180 / gear_num_teeth;
gear(number_of_teeth=gear_num_teeth
, circular_pitch=gear_circular_pitch
, gear_thickness=gear_thickness/2, rim_thickness=gear_thickness/2
Expand All @@ -139,13 +146,96 @@ module alignment_gears(
, outer_d=gear_hub_d+2*bevel_dr, axle_d=roller_axle_d-2*bevel_dr, bevel_dr=bevel_dr/2,shrink=-0.2 );
}
translate([0,0,gear_thickness])
spider_coupler( thickness=gear_hub_thickness-gear_thickness
spider_coupler( thickness=(gear_hub_thickness-gear_thickness)/2
, outer_d=gear_hub_d, axle_d=roller_axle_d, bevel_dr=bevel_dr );
}
}

module alignment_gears(
gear_d=20.0, gear_num_teeth=17, gear_thickness=12.0, gear_spacing=1.0
, gear_hub_thickness=15.0, gear_hub_d=12.0
, roller_axle_d=3.0, middle_axle_d=5.0
, roller_gear_count=3
, gear_clearance=0.4
, twist_ratio=0.5
, bevel_dr=0.5
) {
$fs=0.1;
gear_circular_pitch=gear_d * 180 / gear_num_teeth;
// Motor gear at center
alignment_gear_middle(
gear_d=gear_d, gear_num_teeth=gear_num_teeth, gear_thickness=gear_thickness, gear_spacing=gear_spacing
, gear_hub_thickness=gear_hub_thickness, gear_hub_d=gear_hub_d, middle_axle_d=middle_axle_d
, gear_clearance=gear_clearance, twist_ratio=twist_ratio, bevel_dr=bevel_dr
);
for(i=[0:roller_gear_count-1]) assign( rotAngle=360*i/roller_gear_count ) {
rotate([0,0,rotAngle]) translate([gear_d+gear_clearance+gear_spacing,0,0]) rotate([0,0,-2*rotAngle])
alignment_gear_roller(
gear_d=gear_d, gear_num_teeth=gear_num_teeth, gear_thickness=gear_thickness, gear_spacing=gear_spacing
, gear_hub_thickness=gear_hub_thickness, gear_hub_d=gear_hub_d, roller_axle_d=roller_axle_d
, gear_clearance=gear_clearance, twist_ratio=twist_ratio, bevel_dr=bevel_dr
);
}
}

if(render_part==2) {
echo("Rendering alignment_gears()...");
alignment_gears(gear_spacing=2.0);
}

module pressure_roller(
roller_axle_d=3.0, roller_thickness=15.0
, roller_coupler_thickness=3.0, roller_coupler_d=12.0
, roller_shield_d=20.0, roller_shield_thickness=3.0
, roller_min_d=15.0, roller_max_d=18.0
, bevel_dr=0.5
) {
$fs=0.1;
difference() {
union() {
cylinder(r=roller_shield_d/2,h=roller_shield_thickness,center=false);
translate([0,0,roller_shield_thickness])
cylinder(r1=roller_max_d/2,r2=roller_min_d/2,h=roller_thickness,center=false);
translate([0,0,roller_shield_thickness+roller_thickness])
cylinder(r1=roller_min_d/2,r2=roller_shield_d/2,h=(roller_shield_d/2-roller_min_d/2),center=false);
translate([0,0,roller_shield_thickness+roller_thickness+(roller_shield_d/2-roller_min_d/2)])
cylinder(r=roller_shield_d/2,h=roller_shield_thickness-(roller_shield_d/2-roller_min_d/2),center=false);
translate([0,0,2*roller_shield_thickness+roller_thickness])
spider_coupler( thickness=roller_coupler_thickness
, outer_d=roller_coupler_d, axle_d=roller_axle_d, bevel_dr=bevel_dr,shrink=0.2 );
}
translate([0,0,-bevel_dr]) cylinder(r=roller_axle_d/2
,h=2*bevel_dr+2*roller_shield_thickness+roller_thickness,center=false);
translate([0,0,-bevel_dr]) spider_coupler( thickness=roller_coupler_thickness+2*bevel_dr
, outer_d=roller_coupler_d+2*bevel_dr, axle_d=roller_axle_d-2*bevel_dr, bevel_dr=bevel_dr/2,shrink=-0.2 );
translate([0,0,2*roller_shield_thickness+roller_thickness+bevel_dr]) rotate([180,0,0])
spider_coupler( thickness=roller_coupler_thickness+2*bevel_dr
, outer_d=roller_coupler_d+2*bevel_dr, axle_d=roller_axle_d-2*bevel_dr, bevel_dr=bevel_dr/2,shrink=-0.2 );
}
}

module pump_pressure_rollers(
roller_axle_d=3.0, roller_thickness=15.0
, roller_coupler_thickness=3.0, roller_coupler_d=12.0
, roller_shield_d=20.0, roller_shield_thickness=3.0
, roller_min_d=15.0, roller_max_d=18.0
, pressure_roller_count=3
, bevel_dr=0.5
, gear_d=20.0, gear_clearance=0.4, gear_spacing=1.0
) {
$fs=0.1;
for(i=[0:pressure_roller_count-1]) assign( rotAngle=360*i/pressure_roller_count ) {
rotate([0,0,rotAngle]) translate([gear_d+gear_clearance+gear_spacing,0,0]) rotate([0,0,-2*rotAngle])
pressure_roller(
roller_axle_d=roller_axle_d, roller_thickness=roller_thickness
, roller_coupler_thickness=roller_coupler_thickness, roller_coupler_d=roller_coupler_d
, roller_shield_d=roller_shield_d, roller_shield_thickness=roller_shield_thickness
, roller_min_d=roller_min_d, roller_max_d=roller_max_d
, bevel_dr=bevel_dr
);
}
}

if(render_part==3) {
echo("Rendering pump_pressure_rollers()...");
pump_pressure_rollers(gear_spacing=2.0);
}

0 comments on commit f30becd

Please sign in to comment.