1
0
mirror of https://github.com/nophead/NopSCADlib.git synced 2025-09-04 12:45:30 +02:00

Compare commits

...

12 Commits

Author SHA1 Message Date
Chris Palmer
634deab911 Merge branch 'martinbudden-core_xy_orientation' 2021-04-26 00:01:40 +01:00
Chris Palmer
e2feceb608 Updated readme 2021-04-26 00:00:41 +01:00
Chris Palmer
d1258e0b0c Merge branch 'core_xy_orientation' of https://github.com/martinbudden/NopSCADlib into martinbudden-core_xy_orientation 2021-04-25 23:57:44 +01:00
Chris Palmer
bd61a1dc55 Updated changelog 2021-04-25 23:56:47 +01:00
Chris Palmer
055e83902f Merge branch 'martinbudden-leadnut_typo' 2021-04-25 23:38:27 +01:00
Chris Palmer
feec1e7ae5 Updated readme. 2021-04-25 23:37:48 +01:00
Martin Budden
be76af2fc4 Fixed typo in leadnut.scad. 2021-04-25 18:31:51 +01:00
Martin Budden
9c1a9bf357 Add facility to orient core_xy with left motor being lower or upper motor. 2021-04-25 17:56:24 +01:00
Chris Palmer
9647fb474b Updated changelog 2021-04-25 00:08:57 +01:00
Chris Palmer
49fdfea792 Added 35BYGHJ75 geared stepper. 2021-04-25 00:07:22 +01:00
Chris Palmer
ac0bacfeda Removed echo in rails test. 2021-04-25 00:02:05 +01:00
Chris Palmer
6288059d99 Updated changelog. 2021-04-13 15:07:09 +01:00
11 changed files with 149 additions and 76 deletions

View File

@@ -3,6 +3,22 @@
This changelog is generated by `changelog.py` using manually added semantic version tags to classify commits as breaking changes, additions or fixes. This changelog is generated by `changelog.py` using manually added semantic version tags to classify commits as breaking changes, additions or fixes.
#### [v15.11.1](https://github.com/nophead/NopSCADlib/releases/tag/v15.11.1 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v15.11.0...v15.11.1 "diff with v15.11.0")
* 2021-04-25 [`feec1e7`](https://github.com/nophead/NopSCADlib/commit/feec1e7ae5a5217586e0ab9e7b002e8af8f7c749 "show commit") [C.P.](# "Chris Palmer") Updated readme.
* 2021-04-25 [`be76af2`](https://github.com/nophead/NopSCADlib/commit/be76af2fc490e10e4dd115a56019e33005f87db9 "show commit") [M.B.](# "Martin Budden") Fixed typo in `leadnut.scad`.
### [v15.11.0](https://github.com/nophead/NopSCADlib/releases/tag/v15.11.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v15.10.1...v15.11.0 "diff with v15.10.1")
* 2021-04-25 [`49fdfea`](https://github.com/nophead/NopSCADlib/commit/49fdfea7926d677b6e0a9eee2fbd928f2935e1eb "show commit") [C.P.](# "Chris Palmer") Added 35BYGHJ75 geared stepper.
#### [v15.10.1](https://github.com/nophead/NopSCADlib/releases/tag/v15.10.1 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v15.10.0...v15.10.1 "diff with v15.10.0")
* 2021-04-25 [`ac0bacf`](https://github.com/nophead/NopSCADlib/commit/ac0bacfeda43af62256e7bd3184df695b3e01d37 "show commit") [C.P.](# "Chris Palmer") Removed echo in rails test.
### [v15.10.0](https://github.com/nophead/NopSCADlib/releases/tag/v15.10.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v15.9.0...v15.10.0 "diff with v15.9.0")
* 2021-04-13 [`e379fa8`](https://github.com/nophead/NopSCADlib/commit/e379fa8ada4a4089fc24ce5fc2c140a2531e2e95 "show commit") [C.P.](# "Chris Palmer") Updated readme.
* 2021-04-13 [`5fbff06`](https://github.com/nophead/NopSCADlib/commit/5fbff060b019a983eba93eb8c5b16adfb6a3f7ee "show commit") [M.B.](# "Martin Budden") Added a `pcb_component` function.
### [v15.9.0](https://github.com/nophead/NopSCADlib/releases/tag/v15.9.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v15.8.0...v15.9.0 "diff with v15.8.0") ### [v15.9.0](https://github.com/nophead/NopSCADlib/releases/tag/v15.9.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v15.8.0...v15.9.0 "diff with v15.8.0")
* 2021-04-13 [`edc0b86`](https://github.com/nophead/NopSCADlib/commit/edc0b86bb1cd52e90fe353c4aea9539e95aa5aee "show commit") [C.P.](# "Chris Palmer") Updated images and readme. * 2021-04-13 [`edc0b86`](https://github.com/nophead/NopSCADlib/commit/edc0b86bb1cd52e90fe353c4aea9539e95aa5aee "show commit") [C.P.](# "Chris Palmer") Updated images and readme.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 892 KiB

After

Width:  |  Height:  |  Size: 894 KiB

View File

@@ -369,10 +369,10 @@ extrusions_y = panel_meters_y + 80;
translate([x3, veroboard_y]) translate([x3, veroboard_y])
veroboard_test(); veroboard_test();
translate([x3 + 70, veroboard_y + 30]) translate([x3 + 60, veroboard_y + 20])
geared_steppers(); geared_steppers();
translate([x3 + 140, veroboard_y + 20]) translate([x3 + 160, ssrs_y])
pcb_mounts(); pcb_mounts();
translate([x3 + 170, veroboard_y + 16]) translate([x3 + 170, veroboard_y + 16])

View File

@@ -1091,23 +1091,23 @@ Geared tin can steppers
|:--- |:--- | |:--- |:--- |
| `gs_boss_d(type)` | Boss around the shaft diameter | | `gs_boss_d(type)` | Boss around the shaft diameter |
| `gs_boss_h(type)` | Boss around the shaft height | | `gs_boss_h(type)` | Boss around the shaft height |
| `gs_bulge2_d(type)` | Plastic rear bulge depth from centre | | `gs_bulge(type)` | Plastic bulge width, depth, height, z offset |
| `gs_bulge2_h(type)` | Plastic rear bulge height | | `gs_bulge2(type)` | Plastic rear bulge width, depth, height |
| `gs_bulge2_w(type)` | Plastic rear bulge width |
| `gs_bulge_d(type)` | Plastic bulge depth from centre |
| `gs_bulge_h(type)` | Plastic bulge height |
| `gs_bulge_w(type)` | Plastic bulge width |
| `gs_diameter(type)` | Can diameter | | `gs_diameter(type)` | Can diameter |
| `gs_flat_length(type)` | Shaft flat length | | `gs_flat_length(type)` | Shaft flat length |
| `gs_height(type)` | Can height | | `gs_height(type)` | Can height |
| `gs_hole_d(type)` | Screw hole diameter | | `gs_hole_d(type)` | Screw hole diameter |
| `gs_lug_t(type)` | Screw lug thickness | | `gs_lug_t(type)` | Screw lug thickness |
| `gs_lug_w(type)` | Screw lug width | | `gs_lug_w(type)` | Screw lug width |
| `gs_motor(type)` | Motor diameter and height if separate from gearbox |
| `gs_offset(type)` | Offset of the shaft from the centre of the can | | `gs_offset(type)` | Offset of the shaft from the centre of the can |
| `gs_pitch(type)` | Screw pitch | | `gs_pitch(type)` | Screw pitch |
| `gs_radius(type)` | Top - or bottom + corner radius |
| `gs_shaft_d(type)` | Shaft diameter | | `gs_shaft_d(type)` | Shaft diameter |
| `gs_shaft_flat(type)` | Shaft width across the flats | | `gs_shaft_flat(type)` | Shaft width across the flats |
| `gs_shaft_length(type)` | Shaft length | | `gs_shaft_length(type)` | Shaft length |
| `gs_wire_d(type)` | Wire diameter |
| `gs_wires(type)` | Wire colours and grouping |
### Modules ### Modules
| Module | Description | | Module | Description |
@@ -1121,6 +1121,7 @@ Geared tin can steppers
| Qty | Module call | BOM entry | | Qty | Module call | BOM entry |
| ---:|:--- |:---| | ---:|:--- |:---|
| 1 | `geared_stepper(28BYJ_48)` | Geared stepper - 28BYJ-48 5V | | 1 | `geared_stepper(28BYJ_48)` | Geared stepper - 28BYJ-48 5V |
| 1 | `geared_stepper(35BYGHJ75)` | Geared stepper - 35BYGHJ75 0.4A |
<a href="#top">Top</a> <a href="#top">Top</a>
@@ -1483,7 +1484,7 @@ Nuts for leadscrews.
| `leadnut_flange_t(type)` | Flange thickness | | `leadnut_flange_t(type)` | Flange thickness |
| `leadnut_height(type)` | Total height | | `leadnut_height(type)` | Total height |
| `leadnut_hole_dia(type)` | The diameter of the screw holes | | `leadnut_hole_dia(type)` | The diameter of the screw holes |
| `leadnut_hole_pitch(type)` | The radia pitch of the screw holes | | `leadnut_hole_pitch(type)` | The radial pitch of the screw holes |
| `leadnut_holes(type)` | The number of screw holes | | `leadnut_holes(type)` | The number of screw holes |
| `leadnut_lead(type)` | Screw lead | | `leadnut_lead(type)` | Screw lead |
| `leadnut_od(type)` | Outer diameter of the shank | | `leadnut_od(type)` | Outer diameter of the shank |
@@ -5684,8 +5685,8 @@ allows flexible positioning of the motors.
### Modules ### Modules
| Module | Description | | Module | Description |
|:--- |:--- | |:--- |:--- |
| `coreXY(type, size, pos, separation, x_gap, plain_idler_offset = 0, upper_drive_pulley_offset, lower_drive_pulley_offset, show_pulleys = false)` | Wrapper module to draw both belts of a coreXY setup | | `coreXY(type, size, pos, separation, x_gap, plain_idler_offset = 0, upper_drive_pulley_offset, lower_drive_pulley_offset, show_pulleys = false, left_lower = false)` | Wrapper module to draw both belts of a coreXY setup |
| `coreXY_belts(type, carriagePosition, coreXYPosBL, coreXYPosTR, separation, x_gap = 20, upper_drive_pulley_offset = [0, 0], lower_drive_pulley_offset = [0, 0], show_pulleys = false)` | Draw the coreXY belts | | `coreXY_belts(type, carriagePosition, coreXYPosBL, coreXYPosTR, separation, x_gap = 20, upper_drive_pulley_offset = [0, 0], lower_drive_pulley_offset = [0, 0], show_pulleys = false, left_lower = false)` | Draw the coreXY belts |
| `coreXY_half(type, size, pos, separation_y = 0, x_gap = 0, plain_idler_offset = 0, drive_pulley_offset = [0, 0], show_pulleys = false, lower_belt = false, hflip = false)` | Draw one belt of a coreXY setup | | `coreXY_half(type, size, pos, separation_y = 0, x_gap = 0, plain_idler_offset = 0, drive_pulley_offset = [0, 0], show_pulleys = false, lower_belt = false, hflip = false)` | Draw one belt of a coreXY setup |
![core_xy](tests/png/core_xy.png) ![core_xy](tests/png/core_xy.png)

View File

@@ -21,7 +21,7 @@ include <../vitamins/geared_steppers.scad>
use <../utils/layout.scad> use <../utils/layout.scad>
module geared_steppers() module geared_steppers()
layout([for(g = geared_steppers) gs_diameter(g)], 5) layout([for(g = geared_steppers) max(gs_diameter(g), gs_pitch(g) + gs_lug_w(g) / 2)], 5)
geared_stepper(geared_steppers[$i]); geared_stepper(geared_steppers[$i]);
geared_steppers(); geared_steppers();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View File

@@ -50,8 +50,6 @@ module rails()
translate_z(-sheet) translate_z(-sheet)
vflip() vflip()
nut_and_washer(nut, true); nut_and_washer(nut, true);
echo(rail[0], (length - (rail_holes(rail, length) - 1) * rail_pitch(rail)) / 2);
} }
if($preview) if($preview)

View File

@@ -180,24 +180,25 @@ module coreXY_half(type, size, pos, separation_y = 0, x_gap = 0, plain_idler_off
tooth_colour = lower_belt ? coreXY_lower_tooth_colour(type) : coreXY_upper_tooth_colour(type)); tooth_colour = lower_belt ? coreXY_lower_tooth_colour(type) : coreXY_upper_tooth_colour(type));
} }
module coreXY(type, size, pos, separation, x_gap, plain_idler_offset = 0, upper_drive_pulley_offset, lower_drive_pulley_offset, show_pulleys = false) { //! Wrapper module to draw both belts of a coreXY setup module coreXY(type, size, pos, separation, x_gap, plain_idler_offset = 0, upper_drive_pulley_offset, lower_drive_pulley_offset, show_pulleys = false, left_lower = false) { //! Wrapper module to draw both belts of a coreXY setup
translate([size.x / 2 - separation.x / 2, size.y / 2, -separation.z / 2]) { translate([size.x / 2 - separation.x / 2, size.y / 2, -separation.z / 2]) {
// lower belt // lower belt
hflip() hflip(!left_lower)
explode(25) explode(25)
coreXY_half(type, size, [size.x - pos.x - separation.x, pos.y], separation.y, x_gap, plain_idler_offset, [-lower_drive_pulley_offset.x, lower_drive_pulley_offset.y], show_pulleys, lower_belt = true, hflip = true); coreXY_half(type, size, [size.x - pos.x - separation.x/2 - (left_lower ? x_gap : 0), pos.y], separation.y, x_gap, plain_idler_offset, [-lower_drive_pulley_offset.x, lower_drive_pulley_offset.y], show_pulleys, lower_belt = true, hflip = true);
// upper belt // upper belt
translate([separation.x, 0, separation.z]) translate([separation.x, 0, separation.z])
explode(25) hflip(left_lower)
coreXY_half(type, size, [pos.x, pos.y], separation.y, x_gap, plain_idler_offset, upper_drive_pulley_offset, show_pulleys, lower_belt = false, hflip=false); explode(25)
coreXY_half(type, size, [pos.x + separation.x/2 + (left_lower ? x_gap : 0), pos.y], separation.y, x_gap, plain_idler_offset, upper_drive_pulley_offset, show_pulleys, lower_belt = false, hflip = false);
} }
} }
module coreXY_belts(type, carriagePosition, coreXYPosBL, coreXYPosTR, separation, x_gap = 20, upper_drive_pulley_offset = [0, 0], lower_drive_pulley_offset = [0, 0], show_pulleys = false) { //! Draw the coreXY belts module coreXY_belts(type, carriagePosition, coreXYPosBL, coreXYPosTR, separation, x_gap = 20, upper_drive_pulley_offset = [0, 0], lower_drive_pulley_offset = [0, 0], show_pulleys = false, left_lower = false) { //! Draw the coreXY belts
assert(coreXYPosBL.z == coreXYPosTR.z); assert(coreXYPosBL.z == coreXYPosTR.z);
coreXYSize = coreXYPosTR - coreXYPosBL; coreXYSize = coreXYPosTR - coreXYPosBL;
translate(coreXYPosBL) translate(coreXYPosBL)
coreXY(type, coreXYSize, [carriagePosition.x - coreXYPosBL.x + separation.x / 2, carriagePosition.y - coreXYPosBL.y], separation = separation, x_gap = x_gap, plain_idler_offset = 0, upper_drive_pulley_offset = upper_drive_pulley_offset, lower_drive_pulley_offset = lower_drive_pulley_offset, show_pulleys = show_pulleys); coreXY(type, coreXYSize, [carriagePosition.x - coreXYPosBL.x, carriagePosition.y - coreXYPosBL.y], separation = separation, x_gap = x_gap, plain_idler_offset = 0, upper_drive_pulley_offset = upper_drive_pulley_offset, lower_drive_pulley_offset = lower_drive_pulley_offset, show_pulleys = show_pulleys, left_lower = left_lower);
} }

View File

@@ -26,89 +26,138 @@ use <../utils/round.scad>
function gs_diameter(type) = type[2]; //! Can diameter function gs_diameter(type) = type[2]; //! Can diameter
function gs_height(type) = type[3]; //! Can height function gs_height(type) = type[3]; //! Can height
function gs_pitch(type) = type[4]; //! Screw pitch function gs_radius(type) = type[4]; //! Top - or bottom + corner radius
function gs_lug_w(type) = type[5]; //! Screw lug width function gs_motor(type) = type[5]; //! Motor diameter and height if separate from gearbox
function gs_lug_t(type) = type[6]; //! Screw lug thickness function gs_pitch(type) = type[6]; //! Screw pitch
function gs_hole_d(type) = type[7]; //! Screw hole diameter function gs_lug_w(type) = type[7]; //! Screw lug width
function gs_offset(type) = type[8]; //! Offset of the shaft from the centre of the can function gs_lug_t(type) = type[8]; //! Screw lug thickness
function gs_boss_d(type) = type[9]; //! Boss around the shaft diameter function gs_hole_d(type) = type[9]; //! Screw hole diameter
function gs_boss_h(type) = type[10]; //! Boss around the shaft height function gs_offset(type) = type[10]; //! Offset of the shaft from the centre of the can
function gs_shaft_d(type) = type[11]; //! Shaft diameter function gs_boss_d(type) = type[11]; //! Boss around the shaft diameter
function gs_shaft_flat(type) = type[12]; //! Shaft width across the flats function gs_boss_h(type) = type[12]; //! Boss around the shaft height
function gs_shaft_length(type) = type[13]; //! Shaft length function gs_shaft_d(type) = type[13]; //! Shaft diameter
function gs_flat_length(type) = type[14]; //! Shaft flat length function gs_shaft_flat(type) = type[14]; //! Shaft width across the flats
function gs_bulge_w(type) = type[15]; //! Plastic bulge width function gs_shaft_length(type) = type[15]; //! Shaft length
function gs_bulge_d(type) = type[16]; //! Plastic bulge depth from centre function gs_flat_length(type) = type[16]; //! Shaft flat length
function gs_bulge_h(type) = type[17]; //! Plastic bulge height function gs_bulge(type) = type[17]; //! Plastic bulge width, depth, height, z offset
function gs_bulge2_w(type) = type[18]; //! Plastic rear bulge width function gs_bulge2(type) = type[18]; //! Plastic rear bulge width, depth, height
function gs_bulge2_d(type) = type[19]; //! Plastic rear bulge depth from centre function gs_wire_d(type) = type[19]; //! Wire diameter
function gs_bulge2_h(type) = type[20]; //! Plastic rear bulge height function gs_wires(type) = type[20]; //! Wire colours and grouping
module geared_stepper_screw_positions(type) //! Place children at the screw positions module geared_stepper_screw_positions(type) //! Place children at the screw positions
for(side = [-1, 1]) for(side = [-1, 1])
translate([side * gs_pitch(type) / 2, -gs_offset(type)]) translate([side * gs_pitch(type) / 2, -gs_offset(type)])
children(); children();
motor_colour = "#9BA2AC";
gearbox_colour = "#FFF7EE";
module geared_stepper(type) { //! Draw the specified geared stepper module geared_stepper(type) { //! Draw the specified geared stepper
vitamin(str("geared_stepper(", type[0], "): Geared stepper - ", type[1])); vitamin(str("geared_stepper(", type[0], "): Geared stepper - ", type[1]));
radius = gs_diameter(type) / 2; radius = gs_diameter(type) / 2;
height = gs_height(type); motor = gs_motor(type);
height = gs_height(type) - motor.y;
offset = gs_offset(type); offset = gs_offset(type);
color("silver") { lug_t = gs_lug_t(type);
translate([0, -offset]) bulge = gs_bulge(type);
rounded_cylinder(r = radius, h = height, r2 = 1); bulge_z = bulge[3];
bulge2 = gs_bulge2(type);
wires = gs_wires(type);
// Gearbox
color(motor.y ? gearbox_colour : motor_colour) {
difference() {
rad = gs_radius(type);
translate([0, -offset])
if(rad >= 0)
rounded_cylinder(r = radius, h = height, r2 = rad);
else
translate_z(height)
vflip()
rounded_cylinder(r = radius, h = height, r2 = -rad);
if(!lug_t)
geared_stepper_screw_positions(type)
cylinder(d = gs_hole_d(type), h = 10, center = true);
}
cylinder(d = gs_boss_d(type), h = 2 * gs_boss_h(type), center = true); cylinder(d = gs_boss_d(type), h = 2 * gs_boss_h(type), center = true);
linear_extrude(gs_lug_t(type)) if(lug_t)
difference() { linear_extrude(lug_t)
hull() difference() {
hull()
geared_stepper_screw_positions(type)
circle(d = gs_lug_w(type));
geared_stepper_screw_positions(type) geared_stepper_screw_positions(type)
circle(d = gs_lug_w(type)); circle(d = gs_hole_d(type));
}
geared_stepper_screw_positions(type) if(!bulge_z)
circle(d = gs_hole_d(type)); translate([0, -offset - radius, eps])
} cube([bulge.x - 2, 2 * (bulge.y - radius) - 2, 2 * eps], center = true);
translate([0, -offset - radius, eps])
cube([gs_bulge_w(type) - 2, 2 * (gs_bulge_d(type) - radius) - 2, 2 * eps], center = true);
} }
// Motor
if(motor.y)
color("#9BA2AC")
translate([0, -offset, height])
rotate_extrude()
union() {
r = motor.x / 2;
rad = motor[2];
square([r - rad, rad]);
translate([0, motor.y - rad])
square([r - rad, rad]);
hull()
for(y = [2 * rad, motor.y - 2 * rad])
translate([r - rad, y])
circle(rad);
}
// Shaft
f = gs_shaft_flat(type);
two_flats = f < 0;
vflip() vflip()
color(brass) { color(two_flats ? brass : gearbox_colour) {
d = gs_shaft_d(type); d = gs_shaft_d(type);
h = gs_shaft_length(type); h = gs_shaft_length(type);
linear_extrude(h) linear_extrude(h)
intersection() { intersection() {
circle(d = d); circle(d = d);
square([d + 1, gs_shaft_flat(type)], center = true); translate([0, two_flats ? 0 : (f - d) / 2])
square([d + 1, abs(f)], center = true);
} }
cylinder(d = d, h = h - gs_flat_length(type)); cylinder(d = d, h = h - gs_flat_length(type));
} }
color("skyblue") { // Wire block
h1 = gs_bulge_h(type); color(bulge_z ? "white" : "skyblue") {
translate([0, - offset - radius, eps]) translate([0, - offset - radius, eps + bulge[3]])
rounded_rectangle([gs_bulge_w(type), 2 * (gs_bulge_d(type) - radius), h1], 0.5, center = false); rounded_rectangle([bulge.x, 2 * (bulge.y - radius), bulge.z], 0.5, center = false);
h2 = gs_bulge2_h(type); if(bulge2.z)
translate([0, - offset, h1 + 1 - h2]) translate([0, - offset, bulge.z + 1 - bulge2.z])
linear_extrude(h2) linear_extrude(bulge2.z)
round(0.5) round(0.5)
intersection() { intersection() {
circle(gs_bulge2_d(type)); circle(bulge2.y);
translate([0, -50]) translate([0, -50])
square([gs_bulge2_w(type), 100], center = true); square([bulge2.x, 100], center = true);
} }
} }
translate_z(2.5) wire_d = gs_wire_d(type);
for(i = [0 : 4]) for(j = [0 : len(wires) - 1], i = [0 : len(wires[j]) - 1])
translate([i - 2.5, 0]) translate([(i - len(wires[j]) / 2 + 0.5) * wire_d, 0, bulge_z + (j ? bulge.z - 2.5 : 2.5)])
rotate([90, 0, 0]) rotate([90, 0, 0])
color(["yellow", "orange", "red", "pink", "blue"][i]) color(wires[j][i])
cylinder(d = 1, h = radius + offset + 10); cylinder(d = wire_d, h = radius + offset + 10);
} }

View File

@@ -20,8 +20,16 @@
// //
//! Geared tin can steppers //! Geared tin can steppers
// //
28BYJ_48 = ["28BYJ_48", "28BYJ-48 5V", 28, 19, 35, 7, 0.85, 4.2, 8, 9, 1.5, 5, 3, 10, 6, 14.7, 17, 16.5, 17.7, 15.5, 13.8 ]; // d h r m p l l h o b b s f s f b b w
// i e a o i u u o f o o h l h l u u i
// a i d t t g g l f s s a a a a l l r
// g i o c e s s s f t f t g g e
// h u r h w t e t t e e
// t s d t d h w l 2 d
// d h r d l w d h z w d h
28BYJ_48 = ["28BYJ_48", "28BYJ-48 5V", 28, 19, 1, [ 0, 0, 0], 35, 7, 0.85, 4.2, 8, 9, 1.5, 5,-3.0, 10, 6, [14.7, 17, 16.5, 0], [17.7, 15.5, 13.8], 1, [["yellow", "orange", "red", "pink", "blue"]] ];
35BYGHJ75 = ["35BYGHJ75", "35BYGHJ75 0.4A",37, 37, -2, [35, 22, 1], 27, 0, 0, 3.0, 7, 12, 3.0, 5, 4.5, 17, 10, [ 7.7, 20.7, 9.25, 21], [ 0, 0, 0], 1.3,[["brown", "red"], ["yellow", "green"]] ];
geared_steppers = [28BYJ_48]; geared_steppers = [28BYJ_48, 35BYGHJ75];
use <geared_stepper.scad> use <geared_stepper.scad>

View File

@@ -32,7 +32,7 @@ function leadnut_flange_t(type) = type[6]; //! Flange thickness
function leadnut_flange_offset(type) = type[7]; //! Offset of the flange from the top function leadnut_flange_offset(type) = type[7]; //! Offset of the flange from the top
function leadnut_holes(type) = type[8]; //! The number of screw holes function leadnut_holes(type) = type[8]; //! The number of screw holes
function leadnut_hole_dia(type) = type[9]; //! The diameter of the screw holes function leadnut_hole_dia(type) = type[9]; //! The diameter of the screw holes
function leadnut_hole_pitch(type) = type[10]; //! The radia pitch of the screw holes function leadnut_hole_pitch(type) = type[10]; //! The radial pitch of the screw holes
function leadnut_screw(type) = type[11]; //! The type of the fixing screws function leadnut_screw(type) = type[11]; //! The type of the fixing screws
function leadnut_pitch(type) = type[12]; //! Screw pitch function leadnut_pitch(type) = type[12]; //! Screw pitch
function leadnut_lead(type) = type[13]; //! Screw lead function leadnut_lead(type) = type[13]; //! Screw lead