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

Compare commits

...

3 Commits

Author SHA1 Message Date
Chris Palmer
65f320141d Added printed carriers for MT3608 and TP4056 modules. 2020-03-26 22:33:05 +00:00
Chris Palmer
d367e743da Image churn due to change of computer. 2020-03-24 17:30:10 +00:00
Chris Palmer
3a4305f5ca Nuts can now have non-standard pitch, toggle switch nut pitch fixed. 2020-03-24 17:29:29 +00:00
13 changed files with 112 additions and 30 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 KiB

After

Width:  |  Height:  |  Size: 782 KiB

View File

@@ -18,7 +18,7 @@
//
//
//! Adapts ESP12 module to 0.1" grid. See <https://hydraraptor.blogspot.com/2018/04/esp-12-module-breakout-adaptor.html>.
//! Adapts ESP12 modules and various small PCBs to 0.1" grid. See <https://hydraraptor.blogspot.com/2018/04/esp-12-module-breakout-adaptor.html>.
//
$extrusion_width = 0.5;
@@ -61,3 +61,71 @@ module ESP12F_carrier_stl() { //! Generate the STL for an ESP12 carrier
}
}
}
module TP4056_carrier_stl() { //! Generate the STL for an TP4056 carrier, two required
stl("TP4056_carrier");
pitch = 2.54;
outer_pitch = 13.9;
inner_pitch = 7.54;
hole = pitch - 3 * extrusion_width;
pins = 6;
length1 = outer_pitch + hole + squeezed_wall * 2;
length2 = (pins - 1) * pitch + hole + squeezed_wall * 2;
height = 3;
width = hole + squeezed_wall * 2;
spacing = inch(0.9);
difference() {
hull() {
translate_z(height - eps / 2)
cube([width, length1, eps], center = true);
translate_z(eps / 2)
cube([width, length2, eps], center = true);
}
for(i = [0 : pins - 1])
let(x = [-outer_pitch / 2, - inner_pitch / 2, 0, 0, inner_pitch / 2, outer_pitch / 2][i])
if(x)
hull() {
translate([0, x, height])
cube([hole, hole, eps], center = true);
translate([0, i * pitch - (pins - 1) * pitch / 2])
cube([hole, hole, eps], center = true);
}
}
}
module MT3608_carrier_stl() { //! Generate the STL for an MT3608 carrier, two required
stl("MT3608_carrier");
pcb_width = 17;
w_pitch_top = 6.81;
w_pitch_bot = inch(0.3);
l_pitch_top = 30.855;
l_pitch_bot = inch(1.2);
hole = 1;
height = 3;
wall = 2 * extrusion_width;
width = hole + 2 * wall;
offset = (l_pitch_top - l_pitch_bot) / 2;
difference() {
hull() {
translate([offset, 0, height - eps / 2])
rounded_rectangle([width, pcb_width - 2, eps], 1);
translate_z(eps / 2)
rounded_rectangle([width, pcb_width - 2, eps], 1);
}
for(side = [-1, 1])
hull() {
translate([offset, side * w_pitch_top / 2, height])
cube([hole, hole, eps], center = true);
translate([0, side * w_pitch_bot / 2])
cube([hole, hole, eps], center = true);
}
}
}

View File

@@ -3789,7 +3789,7 @@ of conductive panels, an extra layer of insulation.
---
<a name="Carriers"></a>
## Carriers
Adapts ESP12 module to 0.1" grid. See <https://hydraraptor.blogspot.com/2018/04/esp-12-module-breakout-adaptor.html>.
Adapts ESP12 modules and various small PCBs to 0.1" grid. See <https://hydraraptor.blogspot.com/2018/04/esp-12-module-breakout-adaptor.html>.
[printed/carriers.scad](printed/carriers.scad) Implementation.
@@ -3800,6 +3800,8 @@ Adapts ESP12 module to 0.1" grid. See <https://hydraraptor.blogspot.com/2018/04/
| Module | Description |
|:--- |:--- |
| ```ESP12F_carrier_stl()``` | Generate the STL for an ESP12 carrier |
| ```MT3608_carrier_stl()``` | Generate the STL for an MT3608 carrier, two required |
| ```TP4056_carrier_stl()``` | Generate the STL for an TP4056 carrier, two required |
![carriers](tests/png/carriers.png)
@@ -3807,6 +3809,8 @@ Adapts ESP12 module to 0.1" grid. See <https://hydraraptor.blogspot.com/2018/04/
| Qty | Filename |
| ---:|:--- |
| 1 | ESP12F_carrier.stl |
| 1 | MT3608_carrier.stl |
| 1 | TP4056_carrier.stl |
<a href="#top">Top</a>

View File

@@ -19,7 +19,16 @@
include <../utils/core/core.scad>
use <../printed/carriers.scad>
module carriers()
module carriers() {
color(pp1_colour) ESP12F_carrier_stl();
translate([0, 15])
rotate(90)
color(pp1_colour) TP4056_carrier_stl();
translate([0, 25])
rotate(90)
color(pp1_colour) MT3608_carrier_stl();
}
carriers();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 111 KiB

View File

@@ -36,6 +36,7 @@ function nut_radius(type) = type[2] / 2; //! Radius across the corners
function nut_thickness(type, nyloc = false) = nyloc ? type[4] : type[3]; //! Thickness of plain or nyloc version
function nut_washer(type) = type[5]; //! Corresponding washer
function nut_trap_depth(type) = type[6]; //! Depth of nut trap
function nut_pitch(type) = type[7]; //! Pitch if not standard metric course thread
function nut_flat_radius(type) = nut_radius(type) * cos(30); //! Radius across the flats
@@ -45,6 +46,7 @@ function nut_square_thickness(type) = type[3]; //! Thickness of the square nut
module nut(type, nyloc = false, brass = false, nylon = false) { //! Draw specified nut
thread_d = nut_size(type);
thread_p = nut_pitch(type) ? nut_pitch(type) : metric_coarse_pitch(thread_d);
hole_rad = thread_d / 2;
outer_rad = nut_radius(type);
thickness = nut_thickness(type);
@@ -69,7 +71,7 @@ module nut(type, nyloc = false, brass = false, nylon = false) { //! Draw specifi
}
if(show_threads)
female_metric_thread(thread_d, metric_coarse_pitch(thread_d), thickness, center = false, colour = colour);
female_metric_thread(thread_d, thread_p, thickness, center = false, colour = colour);
if(nyloc)
translate_z(thickness)

View File

@@ -28,28 +28,34 @@ M5_nut_depth = 4;
M6_nut_depth = 5;
M8_nut_depth = 6.5;
// s r t n w t
// c a h y a r
// r d i l s a
// e i c o h p
// w u k c e
// s r t n w t t
// c a h y a r h
// r d i l s a r
// e i c o h p e
// w u k c e d
// s n r d
// e t e
// s h p
// s k t
// h
//
M2_nut = ["M2_nut", 2, 4.9, 1.6, 2.4, M2_washer, M2_nut_trap_depth];
M2p5_nut = ["M2p5_nut", 2.5, 5.8, 2.2, 3.8, M2p5_washer, M2p5_nut_trap_depth];
M3_nut = ["M3_nut", 3, 6.4, 2.4, 4, M3_washer, M3_nut_trap_depth];
M4_nut = ["M4_nut", 4, 8.1, 3.2, 5, M4_washer, M4_nut_trap_depth];
M5_nut = ["M5_nut", 5, 9.2, 4, 6.25, M5_washer, M5_nut_depth];
M6_nut = ["M6_nut", 6, 11.5, 5, 8, M6_washer, M6_nut_depth];
M6_half_nut = ["M6_half_nut", 6, 11.5, 3, 8, M6_washer, 3];
M8_nut = ["M8_nut", 8, 15, 6.5, 8, M8_washer, M8_nut_depth];
toggle_nut = ["toggle_nut", 6.1, 9.2, 1.5, 1.5, M6_washer, 1.5];
// e t e p
// s h p i
// s k t t
// h c
// h
M2_nut = ["M2_nut", 2, 4.9, 1.6, 2.4, M2_washer, M2_nut_trap_depth, 0];
M2p5_nut = ["M2p5_nut", 2.5, 5.8, 2.2, 3.8, M2p5_washer, M2p5_nut_trap_depth, 0];
M3_nut = ["M3_nut", 3, 6.4, 2.4, 4, M3_washer, M3_nut_trap_depth, 0];
M4_nut = ["M4_nut", 4, 8.1, 3.2, 5, M4_washer, M4_nut_trap_depth, 0];
M5_nut = ["M5_nut", 5, 9.2, 4, 6.25, M5_washer, M5_nut_depth, 0];
M6_nut = ["M6_nut", 6, 11.5, 5, 8, M6_washer, M6_nut_depth, 0];
M6_half_nut = ["M6_half_nut", 6, 11.5, 3, 8, M6_washer, 3, 0];
M8_nut = ["M8_nut", 8, 15, 6.5, 8, M8_washer, M8_nut_depth, 0];
toggle_nut = ["toggle_nut", 6.1, 9.2, 1.5, 1.5, M6_washer, 1.5, inch(1/40)];
M4_wingnut = ["M4_wingnut", 4, 10, 3.75,8, M4_washer, 0, 22, 10, 6, 3];
// sx ty1 ty2 hammer
M3_sliding_t_nut = ["M3_sliding_t_nut", 3, 6, 3.0, 4.0, false, 0, 10, 10, 6, false];
M4_sliding_t_nut = ["M4_sliding_t_nut", 4, 6, 3.25,4.5, false, 0, 11, 10, 6, false];
M5_sliding_t_nut = ["M5_sliding_t_nut", 5, 6, 3.25,4.5, false, 0, 11, 10, 7, false];
M3_hammer_nut = ["M3_hammer_nut", 3, 6, 2.75,4.0, false, 0, 5.5, 10, 6, true];
M4_hammer_nut = ["M4_hammer_nut", 4, 6, 3.25,4.5, false, 0, 5.5, 10, 6, true];
// DIN 562 (thin) square nuts
// s w h
@@ -65,13 +71,6 @@ M5nS_thin_nut = ["M5nS_thin_nut", 5, 8, 2.7];
M6nS_thin_nut = ["M6nS_thin_nut", 6, 10, 3.2];
M8nS_thin_nut = ["M8nS_thin_nut", 8, 13, 4];
// sx ty1 ty2 hammer
M3_sliding_t_nut = ["M3_sliding_t_nut", 3, 6, 3.0, 4.0, false, 0, 10, 10, 6, false];
M4_sliding_t_nut = ["M4_sliding_t_nut", 4, 6, 3.25,4.5, false, 0, 11, 10, 6, false];
M5_sliding_t_nut = ["M5_sliding_t_nut", 5, 6, 3.25,4.5, false, 0, 11, 10, 7, false];
M3_hammer_nut = ["M3_hammer_nut", 3, 6, 2.75,4.0, false, 0, 5.5, 10, 6, true];
M4_hammer_nut = ["M4_hammer_nut", 4, 6, 3.25,4.5, false, 0, 5.5, 10, 6, true];
nuts = [M2_nut, M2p5_nut, M3_nut, M4_nut, M5_nut, M6_nut, M8_nut];
use <nut.scad>