jbod

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

constants.scad (4717B)


      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_height = chassis_height;
     66 separator_depth = chassis_depth;
     67 separator_thickness = 1.5;
     68 
     69 // disk retainer
     70 retainer_width = chassis_width;
     71 retainer_depth = chassis_depth;
     72 retainer_thickness = 1.5;
     73 
     74 // disk (-group/-row/-block) constants
     75 // ===========================================================================
     76 // - disks will be placed in caddies
     77 // - disks are treated logically in groups, with one backplane per group
     78 // - groups are further combined into rows, and rows into blocks
     79 
     80 //disk_width  =  26.11;
     81 //disk_height = 146.05;
     82 //disk_depth  = 101.60;
     83 
     84 disk_width  =  27; // with caddy
     85 disk_height = 157; // with caddy
     86 disk_depth  = 112; // with caddy
     87 
     88 disk_conn_width = 6;
     89 disk_conn_height = 4;
     90 disk_conn_depth = 42.37;
     91 
     92 disk_conn_off_width = 0;
     93 disk_conn_off_height = -1;
     94 disk_conn_off_depth = 4.665;
     95 
     96 disk_pad_width = 1;
     97 disk_pad_height = 1;
     98 disk_pad_depth = 2.5;
     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 disk_row_pad_width = 0;
    111 disk_row_pad_depth = 0;
    112 
    113 function disk_row_width(groups = disk_groups_per_row, disks = disks_per_group) =
    114 	(2 * disk_row_pad_width) + (groups * disk_group_width(disks));
    115 function disk_row_depth(groups = disk_groups_per_row, disks = disks_per_group) =
    116 	(2 * disk_row_pad_depth) + disk_group_depth(disks);
    117 
    118 disk_rows_per_block = 3;
    119 disk_block_pad_width = 0;
    120 disk_block_pad_depth = 0;
    121 
    122 function disk_block_width(rows = disk_rows_per_block,
    123 			  groups = disk_groups_per_row,
    124 			  disks = disks_per_group) =
    125 	(2 * disk_block_pad_width) + (rows * disk_row_width(groups, disks));
    126 
    127 function disk_block_depth(rows = disk_rows_per_block,
    128 			  groups = disk_groups_per_row,
    129 			  disks = disks_per_group) =
    130 	(2 * disk_block_pad_width) + (rows * disk_row_depth(groups, disks));
    131 
    132 // miscellaneous constants
    133 // ===========================================================================
    134 //
    135 
    136 fan_width = 141;
    137 fan_height = 141;
    138 fan_depth = 30;
    139 
    140 fan_pad_width = 1.0;
    141 fan_pad_height = 20; // account for pcb + cable routing area
    142 fan_pad_depth = 1.0;
    143 
    144 fan_group_pad_width = 0;
    145 fan_group_pad_height = 0;
    146 fan_group_pad_depth = 0;
    147 
    148 function fan_group_width(fans) =
    149 	(2 * fan_group_pad_width) + (fans * (fan_width + (2 * fan_pad_width)));
    150 function fan_group_height() =
    151 	(2 * fan_group_pad_height) + (fan_height + (2 * fan_pad_height));
    152 function fan_group_depth() =
    153 	(2 * fan_group_pad_depth) + (fan_depth + (2 * fan_pad_depth));
    154 
    155 fan_wall_thickness = 1.5;
    156 fan_wall_width = chassis_width;
    157 fan_wall_depth = fan_wall_thickness + fan_group_depth();
    158 
    159 psu_width = 73.5;
    160 psu_height = 40;
    161 psu_depth = 185;
    162 
    163 psu_pad_width = 1.0;
    164 psu_pad_height = 1.0;
    165 psu_pad_depth = 0.0;
    166 
    167 psus_per_group = 2;
    168 psu_group_width = psu_width;
    169 function psu_group_height(psus = psus_per_group) =
    170 	psus * (psu_height + (2 * psu_pad_height));
    171 
    172 io_width = 80;
    173 io_height = 40;
    174 io_depth = 80;
    175 
    176 io_pad_width = 1.0;
    177 io_pad_height = 1.0;
    178 io_pad_depth = 0.0;