|
|
@@ -18,12 +18,13 @@ MAG_READER_screw_dw = 93.75;
|
|
|
MAG_READER_screw_diam = 3;
|
|
|
|
|
|
MAG_ACCESS_total_width = 25;
|
|
|
-MAG_ACCESS_small_width = 10;
|
|
|
+//MAG_ACCESS_small_width = 10;
|
|
|
+MAG_ACCESS_small_width = 7;
|
|
|
MAG_ACCESS_total_height = 95;
|
|
|
-MAG_ACCESS_section = [17,16,29,16,17];
|
|
|
+MAG_ACCESS_section = [17,24,18,24,17];
|
|
|
|
|
|
SCREEN_screw_diam = 3;
|
|
|
-SCREEN_dw = 186;
|
|
|
+SCREEN_dw = 177;
|
|
|
SCREEN_dh = 54;
|
|
|
|
|
|
SCREEN_WINDOW_h = 46;
|
|
|
@@ -34,11 +35,110 @@ BOARD_screw_dw = 76.25;
|
|
|
BOARD_screw_dh = 101.5;
|
|
|
|
|
|
|
|
|
-PIU_width = 200;
|
|
|
+PIU_width = 190;
|
|
|
PIU_height = 160;
|
|
|
PIU_side = 50;
|
|
|
|
|
|
+_base_platform_width = 2*PIU_width/3;
|
|
|
+_base_platform_height = 2*PIU_height/5;
|
|
|
+
|
|
|
+module PIU_board_plate_simple() {
|
|
|
+ _cr = 5;
|
|
|
+ _cdx = BOARD_screw_dh + 10;
|
|
|
+ _cdy = BOARD_screw_dw + 10;
|
|
|
+ difference() {
|
|
|
+ hull() {
|
|
|
+ translate([-_cdx/2, -_cdy/2]) circle(_cr);
|
|
|
+ translate([ _cdx/2, -_cdy/2]) circle(_cr);
|
|
|
+ translate([ _cdx/2, _cdy/2]) circle(_cr);
|
|
|
+ translate([-_cdx/2, _cdy/2]) circle(_cr);
|
|
|
+ }
|
|
|
+ translate([-BOARD_screw_dh/2, -BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
|
|
|
+ translate([ BOARD_screw_dh/2, -BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
|
|
|
+ translate([ BOARD_screw_dh/2, BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
|
|
|
+ translate([-BOARD_screw_dh/2, BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+module PIU_board_plate() {
|
|
|
+ _cr = 2;
|
|
|
+ _cdx = BOARD_screw_dh + 10;
|
|
|
+ _cdy = BOARD_screw_dw + 10;
|
|
|
+ _w = 14;
|
|
|
+
|
|
|
+ px = _base_platform_width;
|
|
|
+ py = _base_platform_height;
|
|
|
+
|
|
|
+ difference() {
|
|
|
+ union() {
|
|
|
+ hull() {
|
|
|
+
|
|
|
+ translate([-px/2 -_w, -_cdy/2]) circle(_cr);
|
|
|
+ translate([ px/2 +_w, -_cdy/2]) circle(_cr);
|
|
|
+ translate([ px/2 +_w, _cdy/2]) circle(_cr);
|
|
|
+ translate([-px/2 -_w, _cdy/2]) circle(_cr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ hull() {
|
|
|
+ translate([-_cdx/2 + _w, -_cdy/2 + _w]) circle(_cr);
|
|
|
+ translate([ _cdx/2 - _w, -_cdy/2 + _w]) circle(_cr);
|
|
|
+ translate([ _cdx/2 - _w, _cdy/2 - _w]) circle(_cr);
|
|
|
+ translate([-_cdx/2 + _w, _cdy/2 - _w]) circle(_cr);
|
|
|
+ }
|
|
|
+ translate([-BOARD_screw_dh/2, -BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
|
|
|
+ translate([ BOARD_screw_dh/2, -BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
|
|
|
+ translate([ BOARD_screw_dh/2, BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
|
|
|
+ translate([-BOARD_screw_dh/2, BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
|
|
|
+
|
|
|
+ translate([-px/2, py/2]) circle(M3_H3_DRILL_R);
|
|
|
+ translate([-px/2,-py/2]) circle(M3_H3_DRILL_R);
|
|
|
+ translate([-px/2, 0]) circle(M3_H3_DRILL_R);
|
|
|
+
|
|
|
+
|
|
|
+ translate([ px/2, py/2]) circle(M3_H3_DRILL_R);
|
|
|
+ translate([ px/2,-py/2]) circle(M3_H3_DRILL_R);
|
|
|
+ translate([ px/2, 0]) circle(M3_H3_DRILL_R);
|
|
|
+
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+module PIU_board_support_base() {
|
|
|
+ _cr = 8;
|
|
|
+ //px = 2*PIU_width/3;
|
|
|
+ //py = 2*PIU_height/5;
|
|
|
+ px = _base_platform_width;
|
|
|
+ py = _base_platform_height;
|
|
|
+ difference() {
|
|
|
+ union() {
|
|
|
+ hull() {
|
|
|
+ translate([-px/2, py/2]) circle(_cr);
|
|
|
+ translate([-px/2, -py/2]) circle(_cr);
|
|
|
+ }
|
|
|
+
|
|
|
+ hull() {
|
|
|
+ translate([ px/2, py/2]) circle(_cr);
|
|
|
+ translate([ px/2,-py/2]) circle(_cr);
|
|
|
+ }
|
|
|
+
|
|
|
+ hull() {
|
|
|
+ translate([ -px/2, 0]) circle(_cr);
|
|
|
+ translate([ px/2, 0]) circle(_cr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ translate([-px/2, 0]) circle(M3_H3_DRILL_R);
|
|
|
+ translate([-px/2, py/2]) circle(M3_H3_DRILL_R);
|
|
|
+ translate([-px/2,-py/2]) circle(M3_H3_DRILL_R);
|
|
|
+
|
|
|
+ translate([ px/2, 0]) circle(M3_H3_DRILL_R);
|
|
|
+ translate([ px/2, py/2]) circle(M3_H3_DRILL_R);
|
|
|
+ translate([ px/2,-py/2]) circle(M3_H3_DRILL_R);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
module PIU_face() {
|
|
|
+ang = 10;
|
|
|
difference() {
|
|
|
|
|
|
// central face
|
|
|
@@ -58,6 +158,7 @@ module PIU_face() {
|
|
|
|
|
|
// mag
|
|
|
//
|
|
|
+ //translate([-40, -5])
|
|
|
translate([0, -5])
|
|
|
union() {
|
|
|
square([MAG_ACCESS_total_height, MAG_ACCESS_small_width], center=true);
|
|
|
@@ -65,19 +166,20 @@ module PIU_face() {
|
|
|
square([MAG_ACCESS_section[1], MAG_ACCESS_total_width], center=true);
|
|
|
translate([ MAG_ACCESS_section[3]/2 + MAG_ACCESS_section[2]/2, 0])
|
|
|
square([MAG_ACCESS_section[3], MAG_ACCESS_total_width], center=true);
|
|
|
- rotate( 15, [0,0,1]) translate([-MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
|
|
|
- rotate( 15, [0,0,1]) translate([ MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
|
|
|
- rotate(-15, [0,0,1]) translate([-MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
|
|
|
- rotate(-15, [0,0,1]) translate([ MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
|
|
|
-
|
|
|
- rotate( 15, [0,0,1]) translate([-MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
|
|
|
- rotate( 15, [0,0,1]) translate([ MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
|
|
|
- rotate(-15, [0,0,1]) translate([-MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
|
|
|
- rotate(-15, [0,0,1]) translate([ MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
|
|
|
+ rotate( ang, [0,0,1]) translate([-MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
|
|
|
+ rotate( ang, [0,0,1]) translate([ MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
|
|
|
+ rotate(-ang, [0,0,1]) translate([-MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
|
|
|
+ rotate(-ang, [0,0,1]) translate([ MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
|
|
|
+
|
|
|
+ rotate( ang, [0,0,1]) translate([-MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
|
|
|
+ rotate( ang, [0,0,1]) translate([ MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
|
|
|
+ rotate(-ang, [0,0,1]) translate([-MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
|
|
|
+ rotate(-ang, [0,0,1]) translate([ MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
|
|
|
}
|
|
|
|
|
|
// RFID
|
|
|
//
|
|
|
+ //translate([-30,-55])
|
|
|
translate([0,-55])
|
|
|
union() {
|
|
|
translate([-RFID_screw_dw/2,0]) circle(RFID_screw_diam/2);
|
|
|
@@ -130,10 +232,30 @@ module PIU_back_bracket() {
|
|
|
translate([ _dx, -_dy]) circle(_drill_r);
|
|
|
translate([ _dx, _dy]) circle(_drill_r);
|
|
|
translate([ -_dx, _dy]) circle(_drill_r);
|
|
|
+
|
|
|
+ translate([ -_dx, 0]) circle(_drill_r);
|
|
|
+ translate([ _dx, 0]) circle(_drill_r);
|
|
|
+ translate([ 0, _dy]) circle(_drill_r);
|
|
|
+ translate([ 0, -_dy]) circle(_drill_r);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-PIU();
|
|
|
-translate([0,240]) PIU_back_bracket();
|
|
|
|
|
|
+module all() {
|
|
|
+ PIU();
|
|
|
+ translate([0,240]) PIU_back_bracket();
|
|
|
+ translate([0,240]) PIU_board_support_base();
|
|
|
+
|
|
|
+ translate([0,-180]) PIU_board_plate();
|
|
|
+ //translate([0,-300]) PIU_board_support_base();
|
|
|
+
|
|
|
+ /*
|
|
|
+ translate([220,-35]) rotate(0, [0,0,1]) PIU_board_plate();
|
|
|
+ translate([-230,-35]) rotate(0, [0,0,1]) PIU_board_support_base();
|
|
|
+ */
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//all();
|
|
|
+PIU();
|
|
|
|