Right bottom prototype done

This commit is contained in:
Thomas Haukland
2024-05-19 20:22:13 +02:00
parent 3e60b1ece4
commit 141e93372e
2 changed files with 176 additions and 46 deletions

View File

@@ -1,9 +1,9 @@
use <hotswap.scad>
height = 95.1738;
width = 132.6134;
// height = 95.1738;
// width = 132.6134;
step = 0.05;
$fn=30;
//$fn=30;
// hotswap socket is ~1.75 high at the highest.
// magsafe ring is 0.4 high
@@ -30,6 +30,8 @@ module base()
module board()
{
color("#1f77b4")
translate([0,0,-1])
linear_extrude(1)
rotate([0,180,0])
import("cheapino-brd.svg", center=true);
@@ -38,15 +40,15 @@ import("cheapino-brd.svg", center=true);
//import("plate_and_holes.svg", center=true);
//difference()
//{
// bottom();
//v translate([13,11,-0.4])
// magsafe_ring();
difference()
{
bottom();
translate([13,11,2.1])
magsafe_ring();
// The exported board from KiCad, for debug
translate([0,0,0])
board();
//translate([0,0,0])
// board();
// Columns starting from MCU
translate([19.3,-2.84,0])
@@ -76,7 +78,7 @@ rotate([0,0,-23])
translate([65.65,-7.09])
switch();
// The diodes
// The horizontal diodes
translate([-18, 10.21, 0]) diode();
translate([-28.59, 10.21, 0]) diode();
translate([-26.23, 29.18, 0]) diode();
@@ -86,23 +88,71 @@ translate([14.106, 19.872, 0]) diode();
translate([16.138,1.066,0]) diode();
translate([5.888,-19.128,0]) diode();
translate([-5.018, 2.971, 0]) diode();
translate([-18,10.21,0]) diode();
translate([-37.267,3.555,0]) diode();
translate([-47.627,3.555,0]) diode();
translate([-61.234,12.013,0]) diode();
translate([-61.6,-7.011,0]) diode();
translate([-47.616,22.504,0]) diode();
/*
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
translate([-18,10.21,0]) diode();
*/
//}
// circle(55.3);
// The vertical(ish) diodes
translate([10.61, 24.7, 0]) rdiode();
translate([10.585, 7.061, 0]) rdiode();
translate([29.66, 25.106, 0]) rdiode();
translate([28.365, -2.935, 0]) rdiode();
translate([10.585, -13.146, 0]) rdiode();
translate([25.977, -31.18, 0]) rdiode();
translate([46.5, -35.5, 0])
rotate(76)
diode();
// rj 45 stabilizers
rj_hole();
translate([0,-11.43,0]) rj_hole();
// rj 45 housing through holes
translate([3.1,2,0]) rj_hole();
translate([3.1,-13.49,0]) rj_hole();
// rj 45 pins
rj_pin_hole();
translate([0,-2.54,0]) rj_pin_hole();
translate([0, -5.08,0]) rj_pin_hole();
translate([0,-7.62,0]) rj_pin_hole();
translate([0,-10.16,0]) rj_pin_hole();
translate([-2.54,-1.27,0]) rj_pin_hole();
translate([-2.54,-3.81,0]) rj_pin_hole();
translate([-2.54,-6.35,0]) rj_pin_hole();
translate([-2.54,-8.89,0]) rj_pin_hole();
mcu();
encoder();
// Mounting holes
mounting_hole();
translate([-27.432,4.572,0]) mounting_hole();
translate([-18.288,44.704,0]) mounting_hole();
translate([-36.132,25.02,0]) mounting_hole();
translate([-56.183,52.928,0]) mounting_hole();
translate([-75.399,46.599,0]) mounting_hole();
translate([-94.267,36.473,0]) mounting_hole();
translate([-94.241,17.313,0]) mounting_hole();
translate([-3.048,-16.256,0]) mounting_hole();
// Inserts for silicone bumpers
bumper();
translate([0, -46, 0]) bumper();
translate([10.3, -67, 0]) bumper();
translate([-29.5, -61.6, 0]) bumper();
translate([-64, 7.5, 0]) bumper();
translate([-64, -31, 0]) bumper();
translate([-101, -47.7, 0]) bumper();
translate([-101, -9, 0]) bumper();
// Inserts for magnets
translate([24,26,0]) magnet();
translate([24,-18,0]) magnet();
translate([-43,28,0]) magnet();
translate([-43,-9,0]) magnet();
}

View File

@@ -40,7 +40,7 @@ translate([0, 38, 0]) switch();
module switch() {
// hotswap socket
color("yellow")
color("#ff7f0e")
translate([0,0,1.85])
rotate([180,0,0])
hotswap_mx();
@@ -48,42 +48,122 @@ module switch() {
// main pin of switch
// 4mm d, 2.8mm high, 1.6mm pcb
// means 1.2 of it sticks below, 1.3 for margin
color("teal")
color("#2ca02c")
translate([-0.57, -4.7, 0])
linear_extrude(height=1.3)
linear_extrude(height=1)
circle(d=4.2);
// The two switch alignment pins
// Could not find specs for these, assuming max 3.3=1.7 below
color("brown")
// They will need to be snipped if too long
color("#d62728")
translate([-5.74, -4.7, 0])
linear_extrude(height=1.7)
linear_extrude(height=1)
circle(d=1.8);
color("brown")
color("#d62728")
translate([4.45, -4.7, 0])
linear_extrude(height=1.7)
linear_extrude(height=1)
circle(d=1.8);
}
module diode() {
color("blue")
color("#8c564b")
linear_extrude(height=1.65)
square([9.5, 1.6]);
}
module magsafe_ring()
{
linear_extrude(height=0.5)
difference() {
circle(d=55.3);
circle(d=50.2);
}
module rdiode() {
rotate(90)
diode();
}
module magsafe_ring()
{
translate([0,0,0])
linear_extrude(height=1.4)
difference() {
circle(d=55.1);
circle(d=44.9);
}
}
module rj_hole() {
color("#e377c2")
linear_extrude(1.7) {
translate([40.1,3.5,0])
circle(d=3.5);
translate([40.1,4.8,0])
circle(d=3.5);
}
}
module rj_pin_hole() {
color("#e377c2")
linear_extrude(1.3)
translate([33.7,3.5,0])
circle(d=2);
}
module encoder() {
color("#7f7f7f")
linear_extrude(0.6) {
translate([35.7, 29.8])
square([7,2]);
translate([32.65, 21.6])
square([2, 3.3]);
translate([43.85, 21.6])
square([2, 3.3]);
translate([36.8, 16.3])
circle(d=2);
translate([41.77, 16.3])
circle(d=2);
}
}
module mcu() {
color("#7f7f7f")
linear_extrude(1.5) {
translate([30.65, 11.5])
square([2,22.5]);
translate([45.83, 11.5])
square([2,22.5]);
}
color("#7f7f7f")
linear_extrude(1)
translate([31.65, 11.5])
square([15,2]);
}
module mounting_hole() {
color("#bcbd22")
translate([45.85, -23, 0]) {
cylinder(h=1.5, r1=1, r2=2);
translate([0,0,1.5])
cylinder(h=4, r=2);
}
}
module bumper() {
color("#17becf")
translate([41, 29, 2.5])
cylinder(h=2, r=5);
color("#17becf")
translate([41, 29, 1.3])
cylinder(h=1.2, r1=4.5, r2=5);
}
module magnet() {
color("#9467bd")
cylinder(h=2.1, r=3.05);
}
/*
hotswap_mx();