cyl_r = 8 + 0.5;
cyl_x = 27 / 2;
-cyl_h = 10; // above pcb, max 13.8;
+cyl_h = 8; // above pcb, max 13.8;
pcb_x = 45 + 0.5;
pcb_y = 20 + 0.5;
-xtal_h = 4;
-pcb_supp = 3;
-pcb_h = 5; // 1.2 + space for connector etc
+xtal_h = 5;
+pcb_supp = 3; // side support thickness
+pcb_h = 8; // 1.2 + space for connector etc
+pcb_thick = 2;
cyl_base = pcb_x/2 + wall - cyl_x;
conn_x = 12.5;
-conn_y = 10;
+conn_y = 12;
-cable_w = 5;
-cable_h = 2;
+cable_w = 7;
+cable_h = 3;
mount_h = 3;
screw_sp = 5;
module sensor() {
hull() {
- // pcb and the space above it
+ // space above pcb
translate([-pcb_x/2, -pcb_y/2, -eps])
- cube([pcb_x, pcb_y, pcb_h+eps]);
+ cube([pcb_x, pcb_y, pcb_h-pcb_thick+eps]);
// connector
translate([-conn_x/2, pcb_y/2-eps, -eps])
- cube([conn_x, conn_y+eps, pcb_h+eps]);
+ cube([conn_x, conn_y+eps, pcb_h-pcb_thick+eps]);
}
// cable protrusion
translate([-cable_w/2, pcb_y/2+conn_y-eps, -eps])
// cylinders
for (x = [-1, 1]) translate([cyl_x*x, 0, pcb_h - eps])
cylinder(r = cyl_r, h = cyl_h + 2+wall + eps);
+ // pcb
+ translate([-pcb_x/2, -pcb_y/2, pcb_h-pcb_thick-eps])
+ cube([pcb_x, pcb_y, pcb_thick+eps]);
// space below the pcb (xtal, etc)
- translate([-pcb_x/2+pcb_supp, -pcb_y/2, pcb_h - eps])
- cube([pcb_x - 2*pcb_supp, pcb_y, xtal_h+eps]);
+ translate([-pcb_x/2+pcb_supp, -pcb_y/2, pcb_h-pcb_thick - eps])
+ cube([pcb_x - 2*pcb_supp, pcb_y, xtal_h+pcb_thick+eps]);
};
module case_body() {
hull() {
for (x = [-1, 1]) translate([cyl_x*x, 0, pcb_h + cyl_h])
cylinder(r = cyl_base, h = wall);
- translate([0, 7, pcb_h + cyl_h])
+ translate([0, 8, pcb_h + cyl_h])
cylinder(r = cyl_base, h = wall);
// connector
difference() {
case_body();
- # sensor();
+ difference() {
+ sensor();
+ // pcb clip
+ translate([-8/2, -pcb_y/2, pcb_h-pcb_thick-wall/2])
+ rotate([0, 90, 0])
+ cylinder(r=wall/2, h = 8, $fn = 4);
+ }
// mount holes
for (x = [0, 180]) rotate([0, 0, x]) {
translate([pcb_x/2+wall, -screw_sp/2, wall])
cube([3, 3, wall + 2*eps]);
}
// text
- translate([0, 3, pcb_h + cyl_h + eps])
+ translate([0, 3.5, pcb_h + cyl_h + eps])
rotate([0, 0, 90])
linear_extrude(height=wall)
text("CVT FI", font="DejaVu Sans:style=Bold", size=5,