Rev 4143 Rev 4188
1 heatsink_xsize = 50.1; 1 heatsink_xsize = 50.1;
2 heatsink_ysize = 50.1; 2 heatsink_ysize = 50.1;
3 heatsink_zsize = 45; 3 heatsink_zsize = 45;
4 heatsink_thickness = 2; 4 heatsink_thickness = 2;
5   5  
6 TEG_xsize = 40.1; 6 TEG_xsize = 40.1;
7 TEG_ysize = 40.1; 7 TEG_ysize = 40.1;
8 TEG_zsize = 8; 8 TEG_zsize = 8;
9   9  
10 mount_hole = 3.5; // mounting screw hole diameter 10 mount_hole = 3.5; // mounting screw hole diameter
11 clearance = 0.175; // spare clearance for printing tolerances. 11 clearance = 1.0; // spare clearance for printing tolerances.
12 sealing_ring_width = 3; // width of sealing gab under the cover 12 sealing_ring_width = 3; // width of sealing gab under the cover
13 wall_thickness = 12; // thickness of the box wall 13 wall_thickness = 12; // thickness of the box wall
14 volume_encore = 10; // space added to the size of internar heatsink 14 volume_encore = 10; // space added to the size of internar heatsink
15   15  
16 height = heatsink_zsize + TEG_zsize+volume_encore; 16 height = heatsink_zsize + TEG_zsize+volume_encore;
17   17  
18 module box () { 18 module box () {
19   19  
20 difference () { 20 difference () {
21 union (){ 21 union (){
22 cube([heatsink_xsize+2*wall_thickness+volume_encore,heatsink_ysize+2*wall_thickness+volume_encore,height]); // overal plastic brick 22 cube([heatsink_xsize+2*wall_thickness+volume_encore,heatsink_ysize+2*wall_thickness+volume_encore,height]); // overal plastic brick
23 // cube([heatsink_xsize+2*wall_thickness,heatsink_ysize+2*wall_thickness,heatsink_zsize+wall_thickness]); // overal plastic brick 23 // cube([heatsink_xsize+2*wall_thickness,heatsink_ysize+2*wall_thickness,heatsink_zsize+wall_thickness]); // overal plastic brick
24 } 24 }
25   25  
26 translate ([wall_thickness-clearance+volume_encore/2, wall_thickness-clearance+volume_encore/2, TEG_zsize-clearance]) 26 translate ([wall_thickness-clearance+volume_encore/2, wall_thickness-clearance+volume_encore/2, TEG_zsize-clearance])
27 cube([heatsink_xsize+2*clearance, heatsink_ysize+2*clearance, heatsink_xsize+2*clearance]); // hollow for heat sink 27 cube([heatsink_xsize+2*clearance, heatsink_ysize+2*clearance, heatsink_xsize+2*clearance]); // hollow for heat sink
28 28
29 translate ([wall_thickness, wall_thickness, TEG_zsize+heatsink_thickness]) 29 translate ([wall_thickness, wall_thickness, TEG_zsize+heatsink_thickness])
30 cube([heatsink_xsize+2*clearance+volume_encore, heatsink_ysize+2*clearance+volume_encore, heatsink_xsize+2*clearance+volume_encore]); // hollow for heat storage liquid. 30 cube([heatsink_xsize+2*clearance+volume_encore, heatsink_ysize+2*clearance+volume_encore, heatsink_xsize+2*clearance+volume_encore]); // hollow for heat storage liquid.
31   31  
32 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2 - clearance, ((heatsink_ysize+2*wall_thickness+volume_encore)-TEG_ysize)/2 - clearance, 0]) 32 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2 - clearance, ((heatsink_ysize+2*wall_thickness+volume_encore)-TEG_ysize)/2 - clearance, 0])
33 cube([TEG_xsize+2*clearance, TEG_ysize+2*clearance, wall_thickness]); // hollow for the thermoelectric generator 33 cube([TEG_xsize+2*clearance, TEG_ysize+2*clearance, wall_thickness]); // hollow for the thermoelectric generator
34   34  
35 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2, 0, 0]) 35 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2, 0, 0])
36 cube([4, wall_thickness+volume_encore, TEG_zsize-1]); // hollow for the thermoelectric generator 36 cube([4, wall_thickness+volume_encore, TEG_zsize-1]); // hollow for the thermoelectric generator
37 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2 +TEG_xsize-4, 0, 0]) 37 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2 +TEG_xsize-4, 0, 0])
38 cube([4, wall_thickness+volume_encore, TEG_zsize-1]); // hollow for the thermoelectric generator 38 cube([4, wall_thickness+volume_encore, TEG_zsize-1]); // hollow for the thermoelectric generator
39 39
40 40
41 translate ([wall_thickness, wall_thickness, height-sealing_ring_width]) 41 translate ([wall_thickness, wall_thickness, height-sealing_ring_width])
42 union () { 42 union () {
43 difference () { 43 difference () {
44 minkowski() { 44 minkowski() {
45 cube([heatsink_xsize+volume_encore, heatsink_xsize+volume_encore, sealing_ring_width]); // Rib for o-ring. 45 cube([heatsink_xsize+volume_encore, heatsink_xsize+volume_encore, sealing_ring_width]); // Rib for o-ring.
46 cylinder(r=wall_thickness/2,h=0.1); 46 cylinder(r=wall_thickness/2,h=0.1);
47 } 47 }
48   48  
49 translate ([sealing_ring_width/2, sealing_ring_width/2, 0]) 49 translate ([sealing_ring_width/2, sealing_ring_width/2, 0])
50 minkowski() { 50 minkowski() {
51 cube([heatsink_xsize-sealing_ring_width+volume_encore, heatsink_ysize-sealing_ring_width+volume_encore, sealing_ring_width]); // Rib for o-ring. 51 cube([heatsink_xsize-sealing_ring_width+volume_encore, heatsink_ysize-sealing_ring_width+volume_encore, sealing_ring_width]); // Rib for o-ring.
52 cylinder(r=wall_thickness/2,h=0.1); 52 cylinder(r=wall_thickness/2,h=0.1);
53 } 53 }
54 } 54 }
55 } 55 }
56 56
57 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, heatsink_xsize+2*wall_thickness+volume_encore-wall_thickness/3, height-wall_thickness/2]) 57 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, heatsink_xsize+2*wall_thickness+volume_encore-wall_thickness/3, height-wall_thickness/2])
58 { 58 {
59 translate([-4, -3, -1.5]) 59 translate([-4, -3, -1.5])
60 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut 60 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut
61 translate([0, 0, 1.8]) 61 translate([0, 0, 1.8])
62 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 62 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
63 } 63 }
64   64  
65 translate ([wall_thickness/3, wall_thickness/3, height-wall_thickness/2]) 65 translate ([wall_thickness/3, wall_thickness/3, height-wall_thickness/2])
66 { 66 {
67 translate([-8, -3, -1.5]) 67 translate([-8, -3, -1.5])
68 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut 68 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut
69 translate([0, 0, 1.8]) 69 translate([0, 0, 1.8])
70 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 70 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
71 } 71 }
72 72
73 translate ([wall_thickness/3, heatsink_xsize+2*wall_thickness+volume_encore-wall_thickness/3, height-wall_thickness/2]) 73 translate ([wall_thickness/3, heatsink_xsize+2*wall_thickness+volume_encore-wall_thickness/3, height-wall_thickness/2])
74 { 74 {
75 translate([-8, -3, -1.5]) 75 translate([-8, -3, -1.5])
76 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut 76 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut
77 translate([0, 0, 1.8]) 77 translate([0, 0, 1.8])
78 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 78 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
79 } 79 }
80   80  
81 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, wall_thickness/3,height-wall_thickness/2]) 81 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, wall_thickness/3,height-wall_thickness/2])
82 { 82 {
83 translate([-4, -3, -1.5]) 83 translate([-4, -3, -1.5])
84 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut 84 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut
85 translate([0, 0, 1.8]) 85 translate([0, 0, 1.8])
86 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 86 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
87 } 87 }
88   88  
89 } 89 }
90 } 90 }
91   91  
92   92  
93   93  
94 // Heat reservoir cover 94 // Heat reservoir cover
95 module cover (){ 95 module cover (){
96 translate ([0, 0, 3*height]) 96 translate ([0, 0, 3*height])
97 { 97 {
98 difference () { 98 difference () {
99   99  
100 cube([heatsink_xsize+2*wall_thickness+volume_encore,heatsink_ysize+2*wall_thickness+volume_encore,wall_thickness]); 100 cube([heatsink_xsize+2*wall_thickness+volume_encore,heatsink_ysize+2*wall_thickness+volume_encore,wall_thickness]);
101 101
102 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, wall_thickness/3,0]) 102 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, wall_thickness/3,0])
103 { 103 {
104 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 104 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
105 } 105 }
106 translate ([wall_thickness/3, wall_thickness/3,0]) 106 translate ([wall_thickness/3, wall_thickness/3,0])
107 { 107 {
108 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 108 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
109 } 109 }
110 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, heatsink_ysize+2*wall_thickness-wall_thickness/3+volume_encore,0]) 110 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, heatsink_ysize+2*wall_thickness-wall_thickness/3+volume_encore,0])
111 { 111 {
112 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 112 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
113 } 113 }
114 translate ([wall_thickness/3, heatsink_ysize+2*wall_thickness-wall_thickness/3+volume_encore,0]) 114 translate ([wall_thickness/3, heatsink_ysize+2*wall_thickness-wall_thickness/3+volume_encore,0])
115 { 115 {
116 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 116 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
117 } 117 }
118 } 118 }
119 } 119 }
120 } 120 }
121   121  
122 cover (); -  
123 122 //cover ();
-   123 box();
-   124
124 125