Added an example project
2
.gitignore
vendored
@ -3,7 +3,7 @@ Thumbs.db
|
|||||||
__pycache__
|
__pycache__
|
||||||
*.pyc
|
*.pyc
|
||||||
tests/bom/
|
tests/bom/
|
||||||
tests/deps/
|
*.deps
|
||||||
*.log
|
*.log
|
||||||
*.html
|
*.html
|
||||||
times.txt
|
times.txt
|
||||||
|
BIN
examples/MainsBreakOutBox/assemblies/base_assembled.png
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
examples/MainsBreakOutBox/assemblies/base_assembled_tn.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
examples/MainsBreakOutBox/assemblies/base_assembly.png
Normal file
After Width: | Height: | Size: 113 KiB |
BIN
examples/MainsBreakOutBox/assemblies/base_assembly_tn.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
examples/MainsBreakOutBox/assemblies/feet_assembled.png
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
examples/MainsBreakOutBox/assemblies/feet_assembled_tn.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
examples/MainsBreakOutBox/assemblies/feet_assembly.png
Normal file
After Width: | Height: | Size: 136 KiB |
BIN
examples/MainsBreakOutBox/assemblies/feet_assembly_tn.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
examples/MainsBreakOutBox/assemblies/main_assembled.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
examples/MainsBreakOutBox/assemblies/main_assembled_tn.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
examples/MainsBreakOutBox/assemblies/main_assembly.png
Normal file
After Width: | Height: | Size: 185 KiB |
BIN
examples/MainsBreakOutBox/assemblies/main_assembly_tn.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
examples/MainsBreakOutBox/assemblies/mains_in_assembled.png
Normal file
After Width: | Height: | Size: 127 KiB |
BIN
examples/MainsBreakOutBox/assemblies/mains_in_assembled_tn.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
examples/MainsBreakOutBox/assemblies/mains_in_assembly.png
Normal file
After Width: | Height: | Size: 136 KiB |
BIN
examples/MainsBreakOutBox/assemblies/mains_in_assembly_tn.png
Normal file
After Width: | Height: | Size: 28 KiB |
6
examples/MainsBreakOutBox/bom/base_assembly.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
base_assembly:
|
||||||
|
Vitamins:
|
||||||
|
2 Heatfit insert M3
|
||||||
|
|
||||||
|
Printed:
|
||||||
|
1 socket_box.stl
|
65
examples/MainsBreakOutBox/bom/bom.json
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
{
|
||||||
|
"name": "main_assembly",
|
||||||
|
"count": 1,
|
||||||
|
"assemblies": [
|
||||||
|
{
|
||||||
|
"name": "mains_in_assembly",
|
||||||
|
"count": 1,
|
||||||
|
"assemblies": [
|
||||||
|
{
|
||||||
|
"name": "feet_assembly",
|
||||||
|
"count": 1,
|
||||||
|
"assemblies": [
|
||||||
|
{
|
||||||
|
"name": "base_assembly",
|
||||||
|
"count": 1,
|
||||||
|
"assemblies": [],
|
||||||
|
"vitamins": {
|
||||||
|
"insert(F1BM3): Heatfit insert M3": 2
|
||||||
|
},
|
||||||
|
"printed": {
|
||||||
|
"socket_box.stl": 1
|
||||||
|
},
|
||||||
|
"routed": {}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"vitamins": {
|
||||||
|
"washer(M3_washer): Washer M3 x 7mm x 0.5mm": 8,
|
||||||
|
"screw(M3_dome_screw, 10): Screw M3 dome x 10mm": 4,
|
||||||
|
"nut(M3_nut, nyloc = true): Nut M3 nyloc": 4
|
||||||
|
},
|
||||||
|
"printed": {
|
||||||
|
"foot.stl": 4
|
||||||
|
},
|
||||||
|
"routed": {}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"vitamins": {
|
||||||
|
": Wire green & yellow 30/0.25 length 150mm": 1,
|
||||||
|
": Wire blue 30/0.25 length 150mm": 1,
|
||||||
|
": Wire brown 30/0.25 length 150mm": 1,
|
||||||
|
": Wire brown 7/0.2 length 150mm": 1,
|
||||||
|
"tubing(HSHRNK32): Heatshrink sleeving ID 3.2mm x 15mm - not shown": 3,
|
||||||
|
"iec(IEC_inlet_atx): IEC inlet for ATX": 1,
|
||||||
|
"screw(M3_cs_cap_screw, 12): Screw M3 cs cap x 12mm": 2,
|
||||||
|
"washer(M3_washer): Washer M3 x 7mm x 0.5mm": 2,
|
||||||
|
"nut(M3_nut, nyloc = true): Nut M3 nyloc": 2
|
||||||
|
},
|
||||||
|
"printed": {},
|
||||||
|
"routed": {}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"vitamins": {
|
||||||
|
": Wire green & yellow 30/0.25 length 150mm": 1,
|
||||||
|
": Wire blue 30/0.25 length 150mm": 1,
|
||||||
|
"tubing(HSHRNK32): Heatshrink sleeving ID 3.2mm x 15mm - not shown": 5,
|
||||||
|
": Ferrule for 1.5mm^2 wire": 3,
|
||||||
|
"mains_socket(Contactum): Mains socket 13A": 1,
|
||||||
|
"screw(M3_cs_cap_screw, 20): Screw M3 cs cap x 20mm": 2,
|
||||||
|
"jack_4mm_shielded(\"blue\", 3, \"royalblue\"): 4mm shielded jack socket blue": 2,
|
||||||
|
"jack_4mm_shielded(\"brown\", 3, \"sienna\"): 4mm shielded jack socket brown": 1,
|
||||||
|
"jack_4mm_shielded(\"green\", 3): 4mm shielded jack socket green": 2
|
||||||
|
},
|
||||||
|
"printed": {},
|
||||||
|
"routed": {}
|
||||||
|
}
|
36
examples/MainsBreakOutBox/bom/bom.txt
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
Vitamins:
|
||||||
|
M
|
||||||
|
a
|
||||||
|
i
|
||||||
|
n
|
||||||
|
B F M s
|
||||||
|
a e a
|
||||||
|
s e i i
|
||||||
|
e t n n
|
||||||
|
| | 3| | 3 Ferrule for 1.5mm^2 wire
|
||||||
|
| | 1| 1| 2 Wire blue 30/0.25 length 150mm
|
||||||
|
| | | 1| 1 Wire brown 30/0.25 length 150mm
|
||||||
|
| | | 1| 1 Wire brown 7/0.2 length 150mm
|
||||||
|
| | 1| 1| 2 Wire green & yellow 30/0.25 length 150mm
|
||||||
|
| | | 1| 1 IEC inlet for ATX
|
||||||
|
2| | | | 2 Heatfit insert M3
|
||||||
|
| | 2| | 2 4mm shielded jack socket blue
|
||||||
|
| | 1| | 1 4mm shielded jack socket brown
|
||||||
|
| | 2| | 2 4mm shielded jack socket green
|
||||||
|
| | 1| | 1 Mains socket 13A
|
||||||
|
| 4| | 2| 6 Nut M3 nyloc
|
||||||
|
| | | 2| 2 Screw M3 cs cap x 12mm
|
||||||
|
| | 2| | 2 Screw M3 cs cap x 20mm
|
||||||
|
| 4| | | 4 Screw M3 dome x 10mm
|
||||||
|
| | 5| 3| 8 Heatshrink sleeving ID 3.2mm x 15mm - not shown
|
||||||
|
| 8| | 2| 10 Washer M3 x 7mm x 0.5mm
|
||||||
|
|
||||||
|
Printed:
|
||||||
|
| 4| | | 4 foot.stl
|
||||||
|
1| | | | 1 socket_box.stl
|
||||||
|
|
||||||
|
Assemblies:
|
||||||
|
1 base_assembly
|
||||||
|
1 feet_assembly
|
||||||
|
1 main_assembly
|
||||||
|
1 mains_in_assembly
|
11
examples/MainsBreakOutBox/bom/feet_assembly.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
feet_assembly:
|
||||||
|
Vitamins:
|
||||||
|
4 Nut M3 nyloc
|
||||||
|
4 Screw M3 dome x 10mm
|
||||||
|
8 Washer M3 x 7mm x 0.5mm
|
||||||
|
|
||||||
|
Printed:
|
||||||
|
4 foot.stl
|
||||||
|
|
||||||
|
Assemblies:
|
||||||
|
1 base_assembly
|
14
examples/MainsBreakOutBox/bom/main_assembly.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
main_assembly:
|
||||||
|
Vitamins:
|
||||||
|
3 Ferrule for 1.5mm^2 wire
|
||||||
|
1 Wire blue 30/0.25 length 150mm
|
||||||
|
1 Wire green & yellow 30/0.25 length 150mm
|
||||||
|
2 4mm shielded jack socket blue
|
||||||
|
1 4mm shielded jack socket brown
|
||||||
|
2 4mm shielded jack socket green
|
||||||
|
1 Mains socket 13A
|
||||||
|
2 Screw M3 cs cap x 20mm
|
||||||
|
5 Heatshrink sleeving ID 3.2mm x 15mm - not shown
|
||||||
|
|
||||||
|
Assemblies:
|
||||||
|
1 mains_in_assembly
|
14
examples/MainsBreakOutBox/bom/mains_in_assembly.txt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
mains_in_assembly:
|
||||||
|
Vitamins:
|
||||||
|
1 Wire blue 30/0.25 length 150mm
|
||||||
|
1 Wire brown 30/0.25 length 150mm
|
||||||
|
1 Wire brown 7/0.2 length 150mm
|
||||||
|
1 Wire green & yellow 30/0.25 length 150mm
|
||||||
|
1 IEC inlet for ATX
|
||||||
|
2 Nut M3 nyloc
|
||||||
|
2 Screw M3 cs cap x 12mm
|
||||||
|
3 Heatshrink sleeving ID 3.2mm x 15mm - not shown
|
||||||
|
2 Washer M3 x 7mm x 0.5mm
|
||||||
|
|
||||||
|
Assemblies:
|
||||||
|
1 feet_assembly
|
BIN
examples/MainsBreakOutBox/docs/inside.jpg
Normal file
After Width: | Height: | Size: 885 KiB |
BIN
examples/MainsBreakOutBox/docs/inside_small.jpg
Normal file
After Width: | Height: | Size: 270 KiB |
178
examples/MainsBreakOutBox/readme.md
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
# MainsBreakOutBox
|
||||||
|
13A socket break out box with 4mm jacks to measure voltage and / or load current and earth leakage current.
|
||||||
|
|
||||||
|
![Main Assembly](assemblies/main_assembled.png)
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
## Table of Contents
|
||||||
|
[TOC]
|
||||||
|
|
||||||
|
[Top](#mainsbreakoutbox)
|
||||||
|
|
||||||
|
---
|
||||||
|
## Parts list
|
||||||
|
| <span style="writing-mode: vertical-rl; text-orientation: mixed;">Base</span> | <span style="writing-mode: vertical-rl; text-orientation: mixed;">Feet</span> | <span style="writing-mode: vertical-rl; text-orientation: mixed;">Mains In</span> | <span style="writing-mode: vertical-rl; text-orientation: mixed;">Main</span> | <span style="writing-mode: vertical-rl; text-orientation: mixed;">TOTALS</span> | |
|
||||||
|
|--:|--:|--:|--:|--:|:--|
|
||||||
|
| . | . | . | 2 | 2 | 4mm shielded jack socket blue |
|
||||||
|
| . | . | . | 1 | 1 | 4mm shielded jack socket brown |
|
||||||
|
| . | . | . | 2 | 2 | 4mm shielded jack socket green |
|
||||||
|
| . | . | . | 3 | 3 | Ferrule for 1.5mm^2 wire |
|
||||||
|
| 2 | . | . | . | 2 | Heatfit insert M3 |
|
||||||
|
| . | . | 3 | 5 | 8 | Heatshrink sleeving ID 3.2mm x 15mm - not shown |
|
||||||
|
| . | . | 1 | . | 1 | IEC inlet for ATX |
|
||||||
|
| . | . | . | 1 | 1 | Mains socket 13A |
|
||||||
|
| . | 4 | 2 | . | 6 | Nut M3 nyloc |
|
||||||
|
| . | . | 2 | . | 2 | Screw M3 cs cap x 12mm |
|
||||||
|
| . | . | . | 2 | 2 | Screw M3 cs cap x 20mm |
|
||||||
|
| . | 4 | . | . | 4 | Screw M3 dome x 10mm |
|
||||||
|
| . | 8 | 2 | . | 10 | Washer M3 x 7mm x 0.5mm |
|
||||||
|
| . | . | 1 | 1 | 2 | Wire blue 30/0.25 length 150mm |
|
||||||
|
| . | . | 1 | . | 1 | Wire brown 30/0.25 length 150mm |
|
||||||
|
| . | . | 1 | . | 1 | Wire brown 7/0.2 length 150mm |
|
||||||
|
| . | . | 1 | 1 | 2 | Wire green & yellow 30/0.25 length 150mm |
|
||||||
|
| | | | | | **3D Printed parts** |
|
||||||
|
| . | 4 | . | . | 4 | foot.stl |
|
||||||
|
| 1 | . | . | . | 1 | socket_box.stl |
|
||||||
|
[Top](#mainsbreakoutbox)
|
||||||
|
|
||||||
|
---
|
||||||
|
## Base Assembly
|
||||||
|
### Vitamins
|
||||||
|
|Qty|Description|
|
||||||
|
|--:|:----------|
|
||||||
|
|2| Heatfit insert M3|
|
||||||
|
|
||||||
|
|
||||||
|
### 3D Printed parts
|
||||||
|
|
||||||
|
| 1 x socket_box.stl |
|
||||||
|
|--|
|
||||||
|
| ![socket_box.stl](stls/socket_box.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Assembly instructions
|
||||||
|
![base_assembly](assemblies/base_assembly_tn.png)
|
||||||
|
|
||||||
|
1. Remove the support material from under the insert lugs.
|
||||||
|
2. Place the inserts into the holes in the lugs and press home with a soldering iron with a conical bit heated to 200°C.
|
||||||
|
|
||||||
|
![base_assembled](assemblies/base_assembled_tn.png)
|
||||||
|
|
||||||
|
[Top](#mainsbreakoutbox)
|
||||||
|
|
||||||
|
---
|
||||||
|
## Feet Assembly
|
||||||
|
### Vitamins
|
||||||
|
|Qty|Description|
|
||||||
|
|--:|:----------|
|
||||||
|
|8| Washer M3 x 7mm x 0.5mm|
|
||||||
|
|4| Screw M3 dome x 10mm|
|
||||||
|
|4| Nut M3 nyloc|
|
||||||
|
|
||||||
|
|
||||||
|
### 3D Printed parts
|
||||||
|
|
||||||
|
| 4 x foot.stl |
|
||||||
|
|--|
|
||||||
|
| ![foot.stl](stls/foot.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Sub-assemblies
|
||||||
|
|
||||||
|
| 1 x base_assembly |
|
||||||
|
|--|
|
||||||
|
| ![base_assembled](assemblies/base_assembled_tn.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Assembly instructions
|
||||||
|
![feet_assembly](assemblies/feet_assembly_tn.png)
|
||||||
|
|
||||||
|
* Attach the four feet using 10mm M3 dome screws, washers above and below and nyloc nuts
|
||||||
|
|
||||||
|
![feet_assembled](assemblies/feet_assembled_tn.png)
|
||||||
|
|
||||||
|
[Top](#mainsbreakoutbox)
|
||||||
|
|
||||||
|
---
|
||||||
|
## Mains In Assembly
|
||||||
|
### Vitamins
|
||||||
|
|Qty|Description|
|
||||||
|
|--:|:----------|
|
||||||
|
|1| Wire green & yellow 30/0.25 length 150mm|
|
||||||
|
|1| Wire blue 30/0.25 length 150mm|
|
||||||
|
|1| Wire brown 30/0.25 length 150mm|
|
||||||
|
|1| Wire brown 7/0.2 length 150mm|
|
||||||
|
|3| Heatshrink sleeving ID 3.2mm x 15mm - not shown|
|
||||||
|
|1| IEC inlet for ATX|
|
||||||
|
|2| Screw M3 cs cap x 12mm|
|
||||||
|
|2| Washer M3 x 7mm x 0.5mm|
|
||||||
|
|2| Nut M3 nyloc|
|
||||||
|
|
||||||
|
|
||||||
|
### Sub-assemblies
|
||||||
|
|
||||||
|
| 1 x feet_assembly |
|
||||||
|
|--|
|
||||||
|
| ![feet_assembled](assemblies/feet_assembled_tn.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Assembly instructions
|
||||||
|
![mains_in_assembly](assemblies/mains_in_assembly_tn.png)
|
||||||
|
|
||||||
|
1. Solder wires to the IEC terminals and cover the joints with heatshrink sleeving.
|
||||||
|
* Use wire rated for 13A, e.g. 1.5mm<sup>2</sup>, the easiest source is stripping 13A rated flex.
|
||||||
|
* Attach one green & yellow to the earth, one blue to neutral and two brown to the live. The second brown one can be thinner because it is only for voltage measurement.
|
||||||
|
* The earth, neutral and thin live wires should be long enough to protrude through the appropriate 4mm jack holes far enough to be able to strip and solder them to the jacks.
|
||||||
|
* The thick brown needs to be long enough to reach the socket.
|
||||||
|
1. Attach the IEC inlet using two 12mm M3 countersunk cap screws, washers and nyloc nuts on the back.
|
||||||
|
|
||||||
|
![mains_in_assembled](assemblies/mains_in_assembled_tn.png)
|
||||||
|
|
||||||
|
[Top](#mainsbreakoutbox)
|
||||||
|
|
||||||
|
---
|
||||||
|
## Main Assembly
|
||||||
|
### Vitamins
|
||||||
|
|Qty|Description|
|
||||||
|
|--:|:----------|
|
||||||
|
|1| Wire green & yellow 30/0.25 length 150mm|
|
||||||
|
|1| Wire blue 30/0.25 length 150mm|
|
||||||
|
|5| Heatshrink sleeving ID 3.2mm x 15mm - not shown|
|
||||||
|
|3| Ferrule for 1.5mm^2 wire|
|
||||||
|
|1| Mains socket 13A|
|
||||||
|
|2| Screw M3 cs cap x 20mm|
|
||||||
|
|2| 4mm shielded jack socket blue|
|
||||||
|
|1| 4mm shielded jack socket brown|
|
||||||
|
|2| 4mm shielded jack socket green|
|
||||||
|
|
||||||
|
|
||||||
|
### Sub-assemblies
|
||||||
|
|
||||||
|
| 1 x mains_in_assembly |
|
||||||
|
|--|
|
||||||
|
| ![mains_in_assembled](assemblies/mains_in_assembled_tn.png)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Assembly instructions
|
||||||
|
![main_assembly](assemblies/main_assembly_tn.png)
|
||||||
|
|
||||||
|
![inside](docs/inside_small.jpg)
|
||||||
|
|
||||||
|
1. Put the blue wire from the IEC inlet through the bottom left jack hole, strip it, add heatshrink sleeving and solder it to one of the blue jack sockets.
|
||||||
|
1. Put the green & yellow wire through the top left jack hole, add heatshrink sleeving and solder it to one of the green jack sockets.
|
||||||
|
1. Put the thin brown wire the bottom right jack hole, add heatshrink sleeving and solder it to the brown jack socket.
|
||||||
|
1. Shrink the heatshrink and screw in the three jack sockets.
|
||||||
|
1. Solder a 13A green & yellow wire to the remaining green jack socket, long enough to reach the 13A socket. Add heashrink and fit it to the top right jack hole.
|
||||||
|
1. Solder a 13A blue wire to the remaining blue jack socket, long enough to reach the 13A socket. Add heatshrink and fit to the bottom middle jack hole.
|
||||||
|
1. Crimp appropriate ferrules to the three wires and connect them to the 13A socket.
|
||||||
|
1. Screw the socket onto the top of the case using two 20mm M3 countersunk cap screws.
|
||||||
|
|
||||||
|
![main_assembled](assemblies/main_assembled_tn.png)
|
||||||
|
|
||||||
|
[Top](#mainsbreakoutbox)
|
236
examples/MainsBreakOutBox/scad/bob_main.scad
Normal file
@ -0,0 +1,236 @@
|
|||||||
|
//
|
||||||
|
//! 13A socket break out box with 4mm jacks to measure voltage and / or load current and earth leakage current.
|
||||||
|
//
|
||||||
|
// GNU GPL v2
|
||||||
|
// nop.head@gmail.com
|
||||||
|
// hydraraptor.blogspot.com
|
||||||
|
//
|
||||||
|
// Top level model
|
||||||
|
//
|
||||||
|
$extrusion_width = 0.5;
|
||||||
|
$pp1_colour = "dimgrey";
|
||||||
|
$pp2_colour = [0.9, 0.9, 0.9];
|
||||||
|
|
||||||
|
include <NopSCADlib/lib.scad>
|
||||||
|
use <NopSCADlib/foot.scad>
|
||||||
|
include <NopSCADlib/vitamins/mains_sockets.scad>
|
||||||
|
|
||||||
|
echo(extrusion_width = extrusion_width, layer_height = layer_height);
|
||||||
|
wall = 2.5;
|
||||||
|
|
||||||
|
iec = IEC_inlet_atx;
|
||||||
|
socket = Contactum;
|
||||||
|
|
||||||
|
|
||||||
|
foot = [20, 8, 3, 1, M3_dome_screw, 10];
|
||||||
|
|
||||||
|
module foot_stl() foot(foot);
|
||||||
|
|
||||||
|
socket_depth = 13;
|
||||||
|
|
||||||
|
screw = mains_socket_screw(socket);
|
||||||
|
screw_clearance_radius = screw_clearance_radius(screw);
|
||||||
|
|
||||||
|
insert = screw_insert(screw);
|
||||||
|
insert_hole_radius = insert_hole_radius(insert);
|
||||||
|
insert_length = insert_length(insert);
|
||||||
|
insert_boss = mains_socket_insert_boss(socket);
|
||||||
|
screw_length = screw_longer_than(mains_socket_height(socket) + insert_length(insert));
|
||||||
|
|
||||||
|
iec_h = iec_slot_h(iec) + 1;
|
||||||
|
|
||||||
|
box_height = socket_depth + iec_h;
|
||||||
|
base_thickness = wall;
|
||||||
|
height = base_thickness + box_height;
|
||||||
|
|
||||||
|
iec_x = -mains_socket_width(socket) / 2;
|
||||||
|
iec_y = 0;
|
||||||
|
iec_z = base_thickness + iec_h / 2;
|
||||||
|
|
||||||
|
jack_pitch = 20;
|
||||||
|
jack_z = iec_z;
|
||||||
|
|
||||||
|
module foot_positions() {
|
||||||
|
inset = wall + foot_diameter(foot) / 2;
|
||||||
|
pitch = mains_socket_width(socket) / 2 - inset;
|
||||||
|
|
||||||
|
for(x = [-1, 1], y = [-1, 1])
|
||||||
|
translate([x * pitch, y * pitch])
|
||||||
|
children();
|
||||||
|
}
|
||||||
|
|
||||||
|
module jack_hole() {
|
||||||
|
intersection() {
|
||||||
|
teardrop_plus(r = jack_4mm_shielded_hole_radius(), h = 50);
|
||||||
|
|
||||||
|
cube([11, 100, 100], center = true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module socket_box_stl() {
|
||||||
|
stl("socket_box");
|
||||||
|
|
||||||
|
difference() {
|
||||||
|
linear_extrude(height = height, convexity = 5)
|
||||||
|
face_plate(socket);
|
||||||
|
|
||||||
|
difference() {
|
||||||
|
translate_z(base_thickness)
|
||||||
|
linear_extrude(height = height, convexity = 5)
|
||||||
|
offset(-wall) face_plate(socket);
|
||||||
|
|
||||||
|
z = height + mains_socket_height(socket) - screw_length - wall;
|
||||||
|
for(side = [-1, 1])
|
||||||
|
difference() {
|
||||||
|
hull()
|
||||||
|
for(x = [1, 2])
|
||||||
|
translate([side * mains_socket_pitch(socket) / x, 0, 0])
|
||||||
|
cylinder(d = insert_boss, h = 100);
|
||||||
|
hull() {
|
||||||
|
translate([side * mains_socket_pitch(socket) / 2, 0, 0])
|
||||||
|
cylinder(d = insert_boss - 4 * extrusion_width, h = z);
|
||||||
|
|
||||||
|
translate([side * (mains_socket_width(socket) / 2 - wall - 1), 0, z / 2])
|
||||||
|
cube([2, insert_boss - 4 * extrusion_width, z], center = true);
|
||||||
|
}
|
||||||
|
w = show_supports() ? 1 : 20;
|
||||||
|
translate([side * (mains_socket_width(socket) / 2 - wall - w/ 2), 0, z / 2])
|
||||||
|
cube([w, insert_boss + 1, z], center = true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// Socket holes
|
||||||
|
//
|
||||||
|
translate_z(height)
|
||||||
|
mains_socket_hole_positions(socket) {
|
||||||
|
poly_cylinder(r = screw_clearance_radius, h = 2 * (screw_length - mains_socket_height(socket)) + 2, center = true);
|
||||||
|
|
||||||
|
poly_cylinder(r = insert_hole_radius, h = 2 * insert_length, center = true);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// IEC holes
|
||||||
|
//
|
||||||
|
difference() {
|
||||||
|
translate([iec_x, iec_y, iec_z])
|
||||||
|
rotate([90, 0, -90])
|
||||||
|
iec_holes(iec);
|
||||||
|
|
||||||
|
linear_extrude(height = height, convexity = 5)
|
||||||
|
offset(-wall) face_plate(socket);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// Jack holes
|
||||||
|
//
|
||||||
|
for(x = [-1, 0, 1])
|
||||||
|
translate([x * jack_pitch, -mains_socket_width(socket) / 2, jack_z])
|
||||||
|
rotate([90, 0, 0])
|
||||||
|
jack_hole();
|
||||||
|
|
||||||
|
for(x = [-1, 1])
|
||||||
|
translate([x * jack_pitch / 2, mains_socket_width(socket) / 2, jack_z])
|
||||||
|
rotate([90, 0, 0])
|
||||||
|
jack_hole();
|
||||||
|
//
|
||||||
|
// Feet holes
|
||||||
|
//
|
||||||
|
foot_positions()
|
||||||
|
poly_cylinder(r = screw_clearance_radius(foot_screw(foot)), h = 100, center = true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
//! 1. Remove the support material from under the insert lugs.
|
||||||
|
//! 2. Place the inserts into the holes in the lugs and press home with a soldering iron with a conical bit heated to 200°C.
|
||||||
|
//
|
||||||
|
module base_assembly()
|
||||||
|
assembly("base") {
|
||||||
|
color(pp1_colour) render() /*clip(ymax = 0)*/ socket_box_stl();
|
||||||
|
|
||||||
|
mains_socket_hole_positions(socket)
|
||||||
|
translate_z(height)
|
||||||
|
insert(insert);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
//! * Attach the four feet using 10mm M3 dome screws, washers above and below and nyloc nuts
|
||||||
|
//
|
||||||
|
module feet_assembly()
|
||||||
|
assembly("feet") {
|
||||||
|
base_assembly();
|
||||||
|
|
||||||
|
foot_positions()
|
||||||
|
foot_assembly(base_thickness, foot);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
//! 1. Solder wires to the IEC terminals and cover the joints with heatshrink sleeving.
|
||||||
|
//! * Use wire rated for 13A, e.g. 1.5mm<sup>2</sup>, the easiest source is stripping 13A rated flex.
|
||||||
|
//! * Attach one green & yellow to the earth, one blue to neutral and two brown to the live. The second brown one can be thinner because it is only for voltage measurement.
|
||||||
|
//! * The earth, neutral and thin live wires should be long enough to protrude through the appropriate 4mm jack holes far enough to be able to strip and solder them to the jacks.
|
||||||
|
//! * The thick brown needs to be long enough to reach the socket.
|
||||||
|
//! 1. Attach the IEC inlet using two 12mm M3 countersunk cap screws, washers and nyloc nuts on the back.
|
||||||
|
//
|
||||||
|
module mains_in_assembly() pose([ 35.40, 0.00, 144.20 ], [ -13.10, 0.00, 13.75 ])
|
||||||
|
assembly("mains_in") {
|
||||||
|
feet_assembly();
|
||||||
|
|
||||||
|
wire("green & yellow", 30, 150, 0.25);
|
||||||
|
wire("blue", 30, 150, 0.25);
|
||||||
|
wire("brown", 30, 150, 0.25);
|
||||||
|
wire("brown", 7, 150);
|
||||||
|
for(i = [1:3])
|
||||||
|
hidden() tubing(HSHRNK32);
|
||||||
|
|
||||||
|
translate([iec_x, iec_y, iec_z])
|
||||||
|
rotate([90, 0, -90])
|
||||||
|
iec_assembly(iec, wall);
|
||||||
|
|
||||||
|
}
|
||||||
|
//
|
||||||
|
//! ![inside](docs/inside_small.jpg)
|
||||||
|
//!
|
||||||
|
//! 1. Put the blue wire from the IEC inlet through the bottom left jack hole, strip it, add heatshrink sleeving and solder it to one of the blue jack sockets.
|
||||||
|
//! 1. Put the green & yellow wire through the top left jack hole, add heatshrink sleeving and solder it to one of the green jack sockets.
|
||||||
|
//! 1. Put the thin brown wire the bottom right jack hole, add heatshrink sleeving and solder it to the brown jack socket.
|
||||||
|
//! 1. Shrink the heatshrink and screw in the three jack sockets.
|
||||||
|
//! 1. Solder a 13A green & yellow wire to the remaining green jack socket, long enough to reach the 13A socket. Add heashrink and fit it to the top right jack hole.
|
||||||
|
//! 1. Solder a 13A blue wire to the remaining blue jack socket, long enough to reach the 13A socket. Add heatshrink and fit to the bottom middle jack hole.
|
||||||
|
//! 1. Crimp appropriate ferrules to the three wires and connect them to the 13A socket.
|
||||||
|
//! 1. Screw the socket onto the top of the case using two 20mm M3 countersunk cap screws.
|
||||||
|
//
|
||||||
|
module main_assembly()
|
||||||
|
assembly("main") {
|
||||||
|
wire("green & yellow", 30, 150, 0.25);
|
||||||
|
wire("blue", 30, 150, 0.25);
|
||||||
|
for(i = [1:5])
|
||||||
|
hidden() tubing(HSHRNK32);
|
||||||
|
|
||||||
|
for(i = [1:3])
|
||||||
|
vitamin(": Ferrule for 1.5mm^2 wire");
|
||||||
|
|
||||||
|
echo(screw_length = screw_length);
|
||||||
|
|
||||||
|
mains_in_assembly();
|
||||||
|
|
||||||
|
explode(50, true) {
|
||||||
|
translate_z(height)
|
||||||
|
mains_socket(socket);
|
||||||
|
|
||||||
|
mains_socket_hole_positions(socket)
|
||||||
|
translate_z(height + mains_socket_height(socket))
|
||||||
|
screw(screw, screw_length);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(x = [-1, 0, 1])
|
||||||
|
translate([x * jack_pitch, -mains_socket_width(socket) / 2, jack_z])
|
||||||
|
rotate([90, 0, 0])
|
||||||
|
jack_4mm_shielded(["blue", "blue", "brown"][x + 1], wall, ["royalblue", "royalblue", "sienna"][x + 1]);
|
||||||
|
|
||||||
|
for(x = [-1, 1])
|
||||||
|
translate([x * jack_pitch / 2, mains_socket_width(socket) / 2, jack_z])
|
||||||
|
rotate([90, 0, 180])
|
||||||
|
jack_4mm_shielded("green", wall);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if($preview)
|
||||||
|
main_assembly();
|
||||||
|
else
|
||||||
|
socket_box_stl();
|
BIN
examples/MainsBreakOutBox/stls/foot.png
Normal file
After Width: | Height: | Size: 18 KiB |
15318
examples/MainsBreakOutBox/stls/foot.stl
Normal file
BIN
examples/MainsBreakOutBox/stls/socket_box.png
Normal file
After Width: | Height: | Size: 16 KiB |
18146
examples/MainsBreakOutBox/stls/socket_box.stl
Normal file
@ -3,7 +3,8 @@ An ever expanding library of parts modelled in OpenSCAD useful for 3D printers a
|
|||||||
|
|
||||||
It contains lots of vitamins (the RepRap term for non-printed parts), some general purpose printed parts and
|
It contains lots of vitamins (the RepRap term for non-printed parts), some general purpose printed parts and
|
||||||
some utilities. There are also Python scripts to generate Bills of Materials (BOMs),
|
some utilities. There are also Python scripts to generate Bills of Materials (BOMs),
|
||||||
STL files for all the printed parts and DXF files for CNC routed parts in a project.
|
STL files for all the printed parts, DXF files for CNC routed parts in a project and a manual containing assembly
|
||||||
|
instructions and exploded views by scraping markdown embedded in OpenSCAD comments. Example project [here](examples/MainsbreakOutBox/readme.md).
|
||||||
|
|
||||||
For some of examples of what it can make see the [gallery](gallery/readme.md).
|
For some of examples of what it can make see the [gallery](gallery/readme.md).
|
||||||
|
|
||||||
|
@ -228,7 +228,8 @@ An ever expanding library of parts modelled in OpenSCAD useful for 3D printers a
|
|||||||
|
|
||||||
It contains lots of vitamins (the RepRap term for non-printed parts), some general purpose printed parts and
|
It contains lots of vitamins (the RepRap term for non-printed parts), some general purpose printed parts and
|
||||||
some utilities. There are also Python scripts to generate Bills of Materials (BOMs),
|
some utilities. There are also Python scripts to generate Bills of Materials (BOMs),
|
||||||
STL files for all the printed parts and DXF files for CNC routed parts in a project.
|
STL files for all the printed parts, DXF files for CNC routed parts in a project and a manual containing assembly
|
||||||
|
instructions and exploded views by scraping markdown embedded in OpenSCAD comments. Example project [here](examples/MainsbreakOutBox/readme.md).
|
||||||
|
|
||||||
For some of examples of what it can make see the [gallery](gallery/readme.md).
|
For some of examples of what it can make see the [gallery](gallery/readme.md).
|
||||||
|
|
||||||
|