1
0
mirror of https://github.com/nophead/NopSCADlib.git synced 2025-09-06 21:30:38 +02:00

Compare commits

...

12 Commits

Author SHA1 Message Date
Chris Palmer
1247303cb9 Updated images and readme. 2021-08-27 16:15:42 +01:00
Chris Palmer
290be4beb6 Merge branch 'rpi_pico' of https://github.com/martinbudden/NopSCADlib into martinbudden-rpi_pico 2021-08-27 15:04:23 +01:00
Chris Palmer
24e941799d Udpated changelog. 2021-08-27 14:27:29 +01:00
Chris Palmer
6a556c5879 Merge branch 'martinbudden-bldc_propshaft_fix' 2021-08-27 14:20:14 +01:00
Martin Budden
14ab1bb8b6 Added Raspberry Pi Pico. 2021-08-13 10:05:27 +01:00
Martin Budden
be53547728 Fixed display of BLDC prop shaft when thread lengh = 0. 2021-08-09 15:17:30 +01:00
Chris Palmer
ba7d7d32ad Updated chnagelog. 2021-07-04 08:39:47 +01:00
Chris Palmer
d3049bc81b Merge branch 'martinbudden-pcb_plating_colour' 2021-07-04 08:38:20 +01:00
Martin Budden
df35e14fc7 Improved handling of pcb plating colour. 2021-07-01 22:49:35 +01:00
Chris Palmer
21c2aa5d62 Updated changelog. 2021-06-29 11:44:48 +01:00
Chris Palmer
c982876ebc Can now specify the screw used for PSU shrouds and get the wall thickness. 2021-06-29 11:42:20 +01:00
Chris Palmer
5ccda42e5b Updated changelog. 2021-06-17 16:17:09 +01:00
8 changed files with 70 additions and 25 deletions

View File

@@ -3,6 +3,20 @@
This changelog is generated by `changelog.py` using manually added semantic version tags to classify commits as breaking changes, additions or fixes.
#### [v15.21.1](https://github.com/nophead/NopSCADlib/releases/tag/v15.21.1 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v15.21.0...v15.21.1 "diff with v15.21.0")
* 2021-08-09 [`be53547`](https://github.com/nophead/NopSCADlib/commit/be53547728834d8e786ad4cb5637c768320a3105 "show commit") [M.B.](# "Martin Budden") Fixed display of BLDC prop shaft when thread length `=` 0.
* 2021-07-04 [`ba7d7d3`](https://github.com/nophead/NopSCADlib/commit/ba7d7d32adf554d163143c0ae1707565340bb35b "show commit") [C.P.](# "Chris Palmer") Updated chnagelog.
### [v15.21.0](https://github.com/nophead/NopSCADlib/releases/tag/v15.21.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v15.20.0...v15.21.0 "diff with v15.20.0")
* 2021-07-01 [`df35e14`](https://github.com/nophead/NopSCADlib/commit/df35e14fc71794c3826d6c99ce3cab93a4cfa5fe "show commit") [M.B.](# "Martin Budden") Improved handling of pcb plating colour.
### [v15.20.0](https://github.com/nophead/NopSCADlib/releases/tag/v15.20.0 "show release") Additions [...](https://github.com/nophead/NopSCADlib/compare/v15.19.3...v15.20.0 "diff with v15.19.3")
* 2021-06-29 [`c982876`](https://github.com/nophead/NopSCADlib/commit/c982876ebc0f95b466de1af3c80642dfd88800e6 "show commit") [C.P.](# "Chris Palmer") Can now specify the screw used for PSU shrouds and get the wall thickness.
#### [v15.19.3](https://github.com/nophead/NopSCADlib/releases/tag/v15.19.3 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v15.19.2...v15.19.3 "diff with v15.19.2")
* 2021-06-17 [`92d0444`](https://github.com/nophead/NopSCADlib/commit/92d0444e5f96c8f4768afb3d014044d7e66c6e69 "show commit") [C.P.](# "Chris Palmer") Changelog now runs codespell to fix the spellings in the commit comments.
#### [v15.19.2](https://github.com/nophead/NopSCADlib/releases/tag/v15.19.2 "show release") Fixes [...](https://github.com/nophead/NopSCADlib/compare/v15.19.1...v15.19.2 "diff with v15.19.1")
* 2021-06-15 [`8d7c44b`](https://github.com/nophead/NopSCADlib/commit/8d7c44b80deffcc8c6b84c7a6485c959826cb381 "show commit") [M.B.](# "Martin Budden") Spelling corrections.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 911 KiB

After

Width:  |  Height:  |  Size: 913 KiB

View File

@@ -41,6 +41,7 @@ overlap = 6;
cable_tie_inset = wall + 4;
function psu_shroud_extent(type) = 15 + wall; //! How far it extends beyond the PSU to clear the connections
function psu_shroud_wall(type) = wall; //! The wall thickness
function psu_shroud_depth(type) = //! Outside depth of the shroud
psu_left_bay(type) + overlap + psu_shroud_extent(type);
@@ -154,7 +155,7 @@ assembly(str("PSU_shroud_", name), ngb = true) {
insert(insert);
}
module psu_shroud_fastened_assembly(type, cable_d, thickness, name, cables = 1) //! Assembly with screws in place
module psu_shroud_fastened_assembly(type, cable_d, thickness, name, cables = 1, screw = screw) //! Assembly with screws in place
{
screw_length = screw_length(screw,thickness + counter_bore, 2, true);

View File

@@ -2474,7 +2474,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
| 1 | | Micro SD card - not shown |
| 1 | `molex_254(2)` | Molex KK header 2 way |
| 1 | `molex_254(3)` | Molex KK header 3 way |
| 16 | `nut(M2_nut, nyloc = true)` | Nut M2 x 1.6mm nyloc |
| 20 | `nut(M2_nut, nyloc = true)` | Nut M2 x 1.6mm nyloc |
| 30 | `nut(M2p5_nut, nyloc = true)` | Nut M2.5 x 2.2mm nyloc |
| 26 | `nut(M3_nut, nyloc = true)` | Nut M3 x 2.4mm nyloc |
| 8 | `nut(M4_nut, nyloc = true)` | Nut M4 x 3.2mm nyloc |
@@ -2490,12 +2490,14 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
| 1 | `pcb(RAMPSEndstop)` | RAMPS Endstop Switch |
| 1 | `pcb(RPI3)` | Raspberry Pi 3 |
| 1 | `pcb(RPI4)` | Raspberry Pi 4 |
| 1 | `pcb(RPI_Pico)` | Raspberry Pi Pico |
| 1 | `pcb(RPI0)` | Raspberry Pi Zero |
| 8 | `screw(M2_cap_screw, 16)` | Screw M2 cap x 16mm |
| 8 | `screw(M2_cap_screw, 20)` | Screw M2 cap x 20mm |
| 12 | `screw(M2_cap_screw, 20)` | Screw M2 cap x 20mm |
| 2 | `screw(M2p5_cap_screw, 16)` | Screw M2.5 cap x 16mm |
| 8 | `screw(M2p5_cap_screw, 20)` | Screw M2.5 cap x 20mm |
| 4 | `screw(M2p5_cap_screw, 20)` | Screw M2.5 cap x 20mm |
| 8 | `screw(M2p5_cap_screw, 25)` | Screw M2.5 cap x 25mm |
| 4 | `screw(M2p5_cap_screw, 30)` | Screw M2.5 cap x 30mm |
| 4 | `screw(M2p5_pan_screw, 20)` | Screw M2.5 pan x 20mm |
| 8 | `screw(M2p5_pan_screw, 25)` | Screw M2.5 pan x 25mm |
| 8 | `screw(M3_cap_screw, 16)` | Screw M3 cap x 16mm |
@@ -2508,7 +2510,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
| 2 | `green_terminal(gt_2p54, 4)` | Terminal block 4 way 0.1" |
| 1 | | USB A to Mini B lead - not shown |
| 1 | `pcb(WD2002SJ)` | WD2002SJ Buck Boost DC-DC converter |
| 16 | `washer(M2_washer)` | Washer M2 x 5mm x 0.3mm |
| 20 | `washer(M2_washer)` | Washer M2 x 5mm x 0.3mm |
| 30 | `washer(M2p5_washer)` | Washer M2.5 x 5.9mm x 0.5mm |
| 26 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm |
| 8 | `washer(M4_washer)` | Washer M4 x 9mm x 0.8mm |
@@ -2517,26 +2519,26 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
### Printed
| Qty | Filename |
| ---:|:--- |
| 4 | pcb_spacer20100.stl |
| 8 | pcb_spacer20100.stl |
| 4 | pcb_spacer2070.stl |
| 4 | pcb_spacer2080.stl |
| 4 | pcb_spacer2090.stl |
| 4 | pcb_spacer25100.stl |
| 4 | pcb_spacer25110.stl |
| 4 | pcb_spacer25120_2.stl |
| 4 | pcb_spacer25120.stl |
| 4 | pcb_spacer25130_2.stl |
| 4 | pcb_spacer25150.stl |
| 4 | pcb_spacer25140_2.stl |
| 4 | pcb_spacer25160.stl |
| 4 | pcb_spacer25170.stl |
| 2 | pcb_spacer2550.stl |
| 4 | pcb_spacer2590.stl |
| 4 | pcb_spacer30140.stl |
| 5 | pcb_spacer30170.stl |
| 4 | pcb_spacer30150.stl |
| 5 | pcb_spacer30180.stl |
| 4 | pcb_spacer30190.stl |
| 5 | pcb_spacer30190.stl |
| 4 | pcb_spacer30200.stl |
| 4 | pcb_spacer3050.stl |
| 4 | pcb_spacer3060.stl |
| 4 | pcb_spacer40200.stl |
| 4 | pcb_spacer40210.stl |
| 4 | pcb_spacer40220.stl |
<a href="#top">Top</a>
@@ -5353,6 +5355,7 @@ The stl and assembly must be given a name and parameterless wrappers for the stl
| `psu_shroud_extent(type)` | How far it extends beyond the PSU to clear the connections |
| `psu_shroud_height(type)` | Outside height |
| `psu_shroud_screw(type)` | Screw used to fasten |
| `psu_shroud_wall(type)` | The wall thickness |
| `psu_shroud_width(type)` | Outside width of the shroud |
### Modules
@@ -5361,7 +5364,7 @@ The stl and assembly must be given a name and parameterless wrappers for the stl
| `psu_shroud(type, cable_d, name, cables = 1)` | Generate the STL file for a specified ssr and cable |
| `psu_shroud_assembly(type, cable_d, name, cables = 1)` | The printed parts with inserts fitted |
| `psu_shroud_cable_positions(type, cable_d, cables = 1)` | Place children at the cable tie positions |
| `psu_shroud_fastened_assembly(type, cable_d, thickness, name, cables = 1)` | Assembly with screws in place |
| `psu_shroud_fastened_assembly(type, cable_d, thickness, name, cables = 1, screw = screw)` | Assembly with screws in place |
| `psu_shroud_hole_positions(type)` | Place children at the screw hole positions |
| `psu_shroud_holes(type, cable_d, cables = 1)` | Drill the screw and ziptie holes |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 165 KiB

View File

@@ -226,19 +226,21 @@ module BLDC(type) { //! Draw specified BLDC motor
translate_z(height)
tube(or = BLDC_boss_diameter(type)/2, ir = BLDC_shaft_diameter(type)/2, h = BLDC_boss_height(type), center = false);
} // end colour
color(BLDC_prop_shaft_thread_length(type) == 0 ? bldc_shaft_colour : body_colour)
if (BLDC_prop_shaft_diameter(type))
translate_z(height + BLDC_boss_height(type)) {
thread_diameter = BLDC_prop_shaft_thread_diameter(type);
unthreaded_length = BLDC_prop_shaft_length(type) - BLDC_prop_shaft_thread_length(type);
cylinder(d=BLDC_prop_shaft_diameter(type), h = unthreaded_length);
translate_z(unthreaded_length)
if (show_threads)
male_metric_thread(thread_diameter, metric_coarse_pitch(thread_diameter), BLDC_prop_shaft_thread_length(type), center = false);
else
cylinder(d = thread_diameter, h = BLDC_prop_shaft_thread_length(type));
if (BLDC_prop_shaft_thread_length(type) > 0)
translate_z(unthreaded_length)
if (show_threads)
male_metric_thread(thread_diameter, metric_coarse_pitch(thread_diameter), BLDC_prop_shaft_thread_length(type), center = false);
else
cylinder(d = thread_diameter, h = BLDC_prop_shaft_thread_length(type));
}
} // end colour
color(side_colour)
translate_z(height - h2 - h1 -side_length)
tube(body_diameter/2, body_diameter/2 - wall_thickness, side_length, center = false);

View File

@@ -60,8 +60,10 @@ function pcb_component(type, name, index = 0) = //! Return the component specifi
function pcb_grid_pos(type, x, y, z = 0) = //! Returns a pcb grid position
[-pcb_length(type) / 2 + pcb_grid(type).x + 2.54 * x,
-pcb_width(type) / 2 + pcb_grid(type).y + 2.54 * y, pcb_thickness(type) + z];
let(grid = pcb_grid(type))
[-pcb_size(type).x / 2 + grid.x + x * (is_undef(grid[5]) ? 2.54 : grid[5]),
-pcb_size(type).y / 2 + grid.y + y * (is_undef(grid[6]) ? 2.54 : grid[6]),
pcb_size(type).z + z];
module pcb_grid(type, x, y, z = 0) //! Positions children at specified grid position
translate(pcb_grid_pos(type, x, y, z))
@@ -1136,7 +1138,8 @@ module pcb(type) { //! Draw specified PCB
fr4 = pcb_colour(type) != "sienna";
pcb_colour = pcb_colour(type);
color(pcb_colour == "green" ? silver : pcb_colour == "sienna" ? copper : gold)
plating_colour = is_undef(grid[4]) ? ((pcb_colour == "green" || pcb_colour == "#2140BE") ? silver : pcb_colour == "sienna" ? copper : gold) : grid[4];
color(plating_colour)
translate_z(-plating)
linear_extrude(fr4 ? t + 2 * plating : plating)
if(Len(grid)) {

View File

@@ -555,6 +555,28 @@ RPI0 = ["RPI0", "Raspberry Pi Zero", 65, 30, 1.4, 3, 2.75, 6, "gre
[": Micro SD card"],
[32.5 - 9.5 * 2.54, 26.5 - 1.27, 20, 2]];
RPI_Pico = [
"RPI_Pico", "Raspberry Pi Pico",
51, 21, 1.6, // size
0.5, // corner radius
2.1, // mounting hole diameter
0, // pad around mounting hole, pad is actually 3.8, but unplated
"green", // colour
false, // true if parts should be separate BOM items
[ // hole positions
[-2, 4.8], [-2, -4.8], [2, -4.8], [2, 4.8]
],
[ // components
[ 1.75, 21/2, 180, "usb_uA" ],
[ 25, 21/2, 0, "chip", 7, 7, 0.8],
// mock up the reset button
[ 12.75, 7.5, 0, "block", 4.5, 3.35, 2, "DarkGray"],
[ 12.75, 7.5, 0, "block", 3, 2.25, 2.75, "LightGray"],
],
[], // accessories
[1.37, 1.61, 20, 2, gold, 2.54, 17.78], // 20x2 grid of holes
];
EnviroPlus = ["EnviroPlus", "Enviro+", 65, 30.6, 1.6, 3, 2.75, 6, "white", false, [[3.5, 3.8], [-3.5, 3.8], [-3.5, -3.8], [3.5, -3.8]],
[[32.5, -3.8, 0, "-2p54socket", 20, 2, false, 5, true],
[-15.5, 2.5, 0, "-chip", 15, 5, 3, "white"],
@@ -798,7 +820,7 @@ LIPO_fuel_gauge = [
tiny_pcbs = [XIAO, MP1584EN, TP4056, ESP_01, LIPO_fuel_gauge];
pcbs = [RAMPSEndstop, MT3608, PI_IO, ExtruderPCB, ZC_A0591, RPI0, EnviroPlus, ArduinoUno3, ArduinoLeonardo, WD2002SJ, RPI3, RPI4, BTT_SKR_MINI_E3_V2_0, BTT_SKR_E3_TURBO, BTT_SKR_V1_4_TURBO, DuetE, Duex5];
pcbs = [RAMPSEndstop, MT3608, PI_IO, ExtruderPCB, ZC_A0591, RPI_Pico, RPI0, EnviroPlus, ArduinoUno3, ArduinoLeonardo, WD2002SJ, RPI3, RPI4, BTT_SKR_MINI_E3_V2_0, BTT_SKR_E3_TURBO, BTT_SKR_V1_4_TURBO, DuetE, Duex5];
pcbs_not_shown = [Melzi, Duex2, PSU12V1A, Keyes5p1];