jbod

jbod.git
git clone git://git.lenczewski.org/jbod.git
Log | Files | Refs | README

constants.scad (5125B)


      1 // see enclosure.scad for more details on the constants
      2 
      3 enclosure_rack_units = 4;
      4 
      5 rack_unit_dims = [
      6 	[undef, undef, undef, undef],		// "0U"
      7 	[44.45, 43.65, 31.75, 5.95],		// 1U
      8 	[88.90, 88.10, 44.45, 21,83],		// 2U
      9 	[133.35, 132.55, 57.15, 37.70],		// 3U
     10 	[177.80, 177.00, 101.60, 37.70],	// 4U
     11 	[222.25, 221.45, 146.06, 37.70],	// 5U
     12 	[266.70, 265.90, 190.50, 37.70],	// 6U
     13 ];
     14 
     15 // enclosure parameters
     16 // ===========================================================================
     17 
     18 disk_blocks = 2;
     19 fan_groups = 3;
     20 
     21 // fastener constants
     22 // ===========================================================================
     23 //
     24 
     25 flush_stud_height = 0;
     26 flush_stud_shoulder_height = 0;
     27 flush_stud_inner_radius = 0;
     28 flush_stud_outer_radius = 0;
     29 
     30 flush_nut_height = 0;
     31 flush_nut_shoulder_height = 0;
     32 flush_nut_inner_radius = 0;
     33 flush_nut_outer_radius = 0;
     34 
     35 standoff_height = 0;
     36 standoff_inner_radius = 0;
     37 standoff_outer_radius = 0;
     38 
     39 // chassis constants
     40 // ===========================================================================
     41 //
     42 
     43 faceplate_width = 482;
     44 faceplate_height = rack_unit_dims[enclosure_rack_units][0];
     45 faceplate_thickness = 2;
     46 
     47 handle_width = 0;
     48 handle_height = 0;
     49 handle_thickness = 0;
     50 
     51 chassis_width = 434;
     52 chassis_height = rack_unit_dims[enclosure_rack_units][0];
     53 chassis_depth = 800;
     54 chassis_thickness = 1.5;
     55 
     56 cover_width = chassis_width;
     57 cover_depth = chassis_depth;
     58 cover_thickness = 1.5;
     59 
     60 rearplate_width = chassis_width;
     61 rearplate_height = rack_unit_dims[enclosure_rack_units][0];
     62 rearplate_thickness = chassis_thickness;
     63 
     64 // chamber separator
     65 separator_width = 350;
     66 separator_height = chassis_height;
     67 separator_depth = chassis_depth;
     68 separator_thickness = 1.5;
     69 
     70 // disk (-group/-row/-block) constants
     71 // ===========================================================================
     72 // - disks will be placed in caddies
     73 // - disks are treated logically in groups, with one backplane per group
     74 // - groups are further combined into rows, and rows into blocks
     75 
     76 //disk_width  =  26.11;
     77 //disk_height = 146.05;
     78 //disk_depth  = 101.60;
     79 
     80 disk_width  =  27; // with caddy
     81 disk_height = 157; // with caddy
     82 disk_depth  = 112; // with caddy
     83 
     84 disk_conn_width = 6;
     85 disk_conn_height = 4;
     86 disk_conn_depth = 42.37;
     87 
     88 disk_conn_off_width = 0;
     89 disk_conn_off_height = -1;
     90 disk_conn_off_depth = 4.665;
     91 
     92 disk_pad_width = 1;
     93 disk_pad_height = 1;
     94 disk_pad_depth = 2.5;
     95 
     96 disk_bb_width = disk_width + (2 * disk_pad_width);
     97 disk_bb_height = disk_height + (2 * disk_pad_height);
     98 disk_bb_depth = disk_depth + (2 * disk_pad_depth);
     99 
    100 disks_per_group = 4;
    101 disk_group_pad_width = 0;
    102 disk_group_pad_depth = 0;
    103 
    104 function disk_group_width(disks = disks_per_group) =
    105 	(2 * disk_group_pad_width) + (disks * (disk_width + (2 * disk_pad_width)));
    106 function disk_group_depth(disks = disks_per_group) =
    107 	(2 * disk_group_pad_depth) + (disk_depth + (2 * disk_pad_depth));
    108 
    109 disk_groups_per_row = 3;
    110 disks_per_row = disks_per_group * disk_groups_per_row;
    111 disk_row_pad_width = 0;
    112 disk_row_pad_depth = 0;
    113 
    114 function disk_row_width(groups = disk_groups_per_row, disks = disks_per_group) =
    115 	(2 * disk_row_pad_width) + (groups * disk_group_width(disks));
    116 function disk_row_depth(groups = disk_groups_per_row, disks = disks_per_group) =
    117 	(2 * disk_row_pad_depth) + disk_group_depth(disks);
    118 
    119 disk_rows_per_block = 3;
    120 disk_block_pad_width = 0;
    121 disk_block_pad_depth = 0;
    122 
    123 function disk_block_width(rows = disk_rows_per_block,
    124 			  groups = disk_groups_per_row,
    125 			  disks = disks_per_group) =
    126 	(2 * disk_block_pad_width) + disk_row_width(groups, disks);
    127 
    128 function disk_block_depth(rows = disk_rows_per_block,
    129 			  groups = disk_groups_per_row,
    130 			  disks = disks_per_group) =
    131 	(2 * disk_block_pad_width) + (rows * disk_row_depth(groups, disks));
    132 
    133 // disk retainer
    134 retainer_width = disk_block_width();
    135 retainer_height = chassis_height;
    136 retainer_depth = disk_block_depth();
    137 retainer_thickness = 1.5;
    138 
    139 retainer_slit_margin = 20;
    140 retainer_slit_width = disk_bb_width / 2;
    141 retainer_slit_height = retainer_height - (2 * retainer_slit_margin);
    142 
    143 // miscellaneous constants
    144 // ===========================================================================
    145 //
    146 
    147 fan_width = 141;
    148 fan_height = 141;
    149 fan_depth = 30;
    150 
    151 fan_pad_width = 1.0;
    152 fan_pad_height = 20; // account for pcb + cable routing area
    153 fan_pad_depth = 1.0;
    154 
    155 fan_group_pad_width = 0;
    156 fan_group_pad_height = 0;
    157 fan_group_pad_depth = 0;
    158 
    159 function fan_group_width(fans) =
    160 	(2 * fan_group_pad_width) + (fans * (fan_width + (2 * fan_pad_width)));
    161 function fan_group_height() =
    162 	(2 * fan_group_pad_height) + (fan_height + (2 * fan_pad_height));
    163 function fan_group_depth() =
    164 	(2 * fan_group_pad_depth) + (fan_depth + (2 * fan_pad_depth));
    165 
    166 fan_wall_thickness = 1.5;
    167 fan_wall_width = chassis_width;
    168 fan_wall_depth = fan_wall_thickness + fan_group_depth();
    169 
    170 psu_width = 73.5;
    171 psu_height = 40;
    172 psu_depth = 185;
    173 
    174 psu_pad_width = 1.0;
    175 psu_pad_height = 1.0;
    176 psu_pad_depth = 0.0;
    177 
    178 psus_per_group = 2;
    179 psu_group_width = psu_width;
    180 function psu_group_height(psus = psus_per_group) =
    181 	psus * (psu_height + (2 * psu_pad_height));
    182 
    183 io_width = 80;
    184 io_height = 40;
    185 io_depth = 80;
    186 
    187 io_pad_width = 1.0;
    188 io_pad_height = 1.0;
    189 io_pad_depth = 0.0;