Adjust the housing based on expert feedback from Mike

This commit is contained in:
Starbeamrainbowlabs 2019-07-01 15:04:45 +01:00
parent a4f8ad6138
commit d65462b8aa
1 changed files with 41 additions and 9 deletions

View File

@ -3,14 +3,16 @@
////////////////
// The thickness of the walls
wall_thickness = 2;
wall_thickness = 4;
// The dimensions of the box on the inside
box_inside = [ 130, 140, 110 ];
// Screw dimensions
screw_diameter = 3;
screw_length = 6.3;
// The size of a breadboard
bb_size = [ 46, 35 ];
// -------------------------------------------
@ -26,13 +28,15 @@ box_outside = [
// -------------------------------------------
// Offset of the Arduino - i.e. where it should be mounted in the box
offset_arduino = [53.4+8, 40, wall_thickness];
// Breadboard mounting specs
breadboard = [ bb_size[0], bb_size[1]+24+13, 49 ];
offset_breadboard = [70, 20, wall_thickness - 0.1];
bb_mount_height = 5;
// Battery location
battery = [ 60, 19, 70 ];
offset_battery = [
wall_thickness + corner_piece_size + 10,
@ -40,6 +44,7 @@ offset_battery = [
0
];
// Power regulator mount settings
power_reg = [ 54, 31, 12 ];
power_reg_underneath = 9;
offset_power_reg = [
@ -48,7 +53,13 @@ offset_power_reg = [
wall_thickness
];
// Location of the lid - should not be touching the box - default is to the side of the box itself for easy 3d printing
offset_lid = [ box_outside[0] + 25, 0, 0 ];
// Based height of the lid
lid_base_height = wall_thickness * 1.5;
// Height of the extra lip to make the lid fit snugly
lid_lip_height = 2;
//offset_lid = [ 0, 0, box_outside[2] + 25 ];
// -------------------------------------------
@ -81,7 +92,7 @@ module corner_piece() {
cube([
corner_piece_size,
corner_piece_size,
box_inside[2]
box_inside[2] - lid_lip_height
]);
translate([
corner_piece_size / 2,
@ -210,28 +221,49 @@ translate(offset_power_reg) {
// Lid
// -------------------------------------------
module screw_hole_indent() {
indent_depth = lid_lip_height + wall_thickness / 2;
indent_size = screw_diameter + 1.25;
translate([-indent_size/2, -indent_size/2, 0]) cube([
indent_size ,
indent_size ,
indent_depth
]);
translate([0, 0, indent_depth - 0.1]) cylinder(h = screw_length, d = screw_diameter, $fn = 25);
}
translate(offset_lid) {
difference() {
cube([ box_outside[0], box_outside[1], wall_thickness * 1.5 ]);
union() {
cube([
box_outside[0],
box_outside[1],
lid_base_height
]);
translate([wall_thickness, wall_thickness, lid_base_height]) cube([
box_outside[0] - (wall_thickness * 2),
box_outside[1] - (wall_thickness * 2),
lid_lip_height
]);
}
translate([0, 0, -0.1]) union() {
inset = corner_piece_size / 2 + wall_thickness;
translate([
inset,
inset,
]) cylinder(h = screw_length, d = screw_diameter, $fn = 25);
]) screw_hole_indent();
translate([
box_outside[0] - inset,
inset,
]) cylinder(h = screw_length, d = screw_diameter, $fn = 25);
]) screw_hole_indent();
translate([
box_outside[0] - inset,
box_outside[1] - inset
]) cylinder(h = screw_length, d = screw_diameter, $fn = 25);
]) screw_hole_indent();
translate([
inset,
box_outside[1] - inset
]) cylinder(h = screw_length, d = screw_diameter, $fn = 25);
]) screw_hole_indent();
}
}
}