108 lines
2.7 KiB
OpenSCAD
108 lines
2.7 KiB
OpenSCAD
/***************************************************************
|
|
Parameterized Battery pack with electrical connections
|
|
(c) 2010 Juan Gonzalez-Gomez (Obijuan) juan@iearobotics.com
|
|
This design is derived from the Battery comparment generator
|
|
(c) Nikolaus Gradwohl (guru (at) local-guru.net)
|
|
http://www.thingiverse.com/thing:5051
|
|
Other contributors:
|
|
* Chris Thompson (http://eagleapex.com/): Connection in series along the case
|
|
-----------------------------------------------------------
|
|
The nuts (two per battery) are embedded into the battery pack.
|
|
The screws (two per battery) are inserted from the outside and
|
|
touch the batteries.
|
|
-----------------------------------------------------------
|
|
GPL LICENCE
|
|
****************************************************************/
|
|
|
|
//-- Battery sizes
|
|
|
|
AA = [ 14.5, 50.5 ];
|
|
AAA = [ 10.5,44.5 ];
|
|
C = [ 26.2, 50 ];
|
|
D = [ 34.2, 61.5 ];
|
|
|
|
// CHOOSE BATTERY TYPE AND COUNT
|
|
typ = AA;
|
|
num =3;
|
|
|
|
|
|
//---------------------------------
|
|
//-- Battery pack parameters
|
|
//-- Can be set by the user
|
|
//---------------------------------
|
|
|
|
//-- Battery pack thickness
|
|
bottom_thick=1.5;
|
|
fr_thick=3.5; //-- Front and rear parts
|
|
side_thick=2; //-- Side part
|
|
|
|
//-- Distance beween batteries
|
|
distance_bat=1;
|
|
|
|
//-- Nut parameters
|
|
nut_h = 2.5;
|
|
nut_radius = 6.4/2;
|
|
nut_drill = 3.1;
|
|
|
|
//------------------------------
|
|
//-- IMPLEMENTATION
|
|
//------------------------------
|
|
//-- Battery dimensions: width, height and length. Change ser for batteries in series along the case.
|
|
|
|
ser=1;
|
|
w=typ[0];
|
|
h=w;
|
|
l=typ[1]*ser;
|
|
|
|
//-- Dimensions of the inner part of the compartiment
|
|
ip_l = l;
|
|
ip_w = w + (w+distance_bat)*(num-1);
|
|
ip_h = h;
|
|
|
|
//-- Dimensions of the mother cube
|
|
mc_l = ip_l+2*fr_thick;
|
|
mc_w = ip_w+2*side_thick;
|
|
mc_h = ip_h+bottom_thick;
|
|
|
|
//-- The process of building the battery pack is just substracting
|
|
//-- things to the mother cube
|
|
rotate([0,0,90])
|
|
difference() {
|
|
//-- The mother cube
|
|
translate([0,0,-bottom_thick/2])
|
|
cube(size=[mc_l, mc_w, mc_h],center=true);
|
|
|
|
//-- Array of batteries
|
|
translate([0,0,h/2])
|
|
cube(size=[ip_l,ip_w,ip_h],center=true);
|
|
|
|
translate([0,-mc_w/2+w/2+side_thick,0])
|
|
for ( i = [0:num-1] ) {
|
|
|
|
translate([0,i*(w+distance_bat),0])
|
|
union() {
|
|
translate([0,0,h/2])
|
|
cube(size=[l,w,h],center=true);
|
|
|
|
rotate([0,90,0])
|
|
cylinder(r=w/2, h=l-0.01, center=true, $fn=50);
|
|
}
|
|
}
|
|
|
|
//-- Array of contacts
|
|
translate([0,-mc_w/2+w/2+side_thick,0])
|
|
for ( i = [0:num-1] ) {
|
|
//-- Drills
|
|
translate([0,i*(w+distance_bat),0])
|
|
rotate([0,90,0])
|
|
cylinder(center=true,h=l+20, r=nut_drill/2, $fn=50, center=true);
|
|
|
|
//-- Room for the embedded nuts
|
|
translate([0,i*(w+distance_bat),0])
|
|
rotate([0,90,0])
|
|
cylinder(h=l+2*nut_h, r=nut_radius, $fn=6, center=true);
|
|
}
|
|
|
|
}
|
|
|