Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
65f320141d | ||
|
d367e743da | ||
|
3a4305f5ca |
BIN
libtest.png
Before Width: | Height: | Size: 781 KiB After Width: | Height: | Size: 782 KiB |
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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 |
|
||||
|
||||

|
||||
|
||||
@@ -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>
|
||||
|
@@ -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();
|
||||
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
@@ -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)
|
||||
|
@@ -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>
|
||||
|