1 / 5
Parametric Battery Organizer and Dispenser — image 1
1 / 5

Parametric Battery Organizer and Dispenser

Order a print of this model

We calculate the final price from your selected file. You review and accept it before payment.

Saved on this device.

Parametric OpenSCAD program for creating custom battery organizer/dispensers, and default STL files.

Rating
0 / 5
Likes
5
Downloads
44
Makes
0
Views
200
Reviews
0

Updated at source:

Model information

Category
Organizers
License
Creative Commons — Attribution — Noncommercial — Share Alike

This model is actually two things:

  • a fully-parameterized OpenSCAD program for modeling custom battery organizer-dispensers.

  • STL object files that will work for many situations, for users who would rather not customize and model their own in OpenSCAD.  These can be downloaded and printed as one would with any model.

Usage Instructions for OpenSCAD package:
Requirements:



Customization Procedure:

Ensure that you have downloaded "organizer.scad".

Open organizer.scad in OpenSCAD, and edit the configuration section at the top to your taste.  Once satisfied with your configuration, preview in OpenSCAD, and ensure that your customized unit meets your requirements -- i.e. that it will fit on your printer, and has sufficient capacity, etcetera.  Render the object, export to STL, and print as normal.


Instructions:

There are two principal options for customization, the user may elect to configure a single unit to hold various battery types, or to configure modular pieces for each battery type that can later be bolted-together into a single unit.  Mixing the two options is also possible, so, for example, one can configure two modular pieces that each contain 3 different battery types, that can be subsequently bolted-together.

The battery definitions are contained within the program, and can be added-to, if need be.  The default list is found at approximately line 28 and is;

batteries = [                       // Identity, type, length, and diameter.
  ["AAA", "tall", 45, 10.5 ],
  ["AA",  "tall", 50.5, 14.25 ],
  ["9V", "tall", 48.5, 22 ],       // Rectangular, average of dimensions suffices for "diameter"
  ["A23", "tall", 29.4, 10.5 ],
  ["C", "tall", 50, 25.2],
  ["D", "tall", 60.8, 33.2],
  ["CR2450", "coin", 5, 24.5],     // 'Length' is aka 'thickness' for coin batteries
  ["CR2032","coin", 3.2, 20],
  ["CR2025", "coin", 2.5, 20],
  ["CR1620", "coin", 2, 16],
  ["LR44", "coin", 5.4, 13],      // Aka "357" and "303"
  ["LR1130","coin", 3.1,11.6]
];


The "main()" module is located around line 45, and begins with a description of the organizer that the user wishes to create.  This is where you will carry-out your customization.  Several examples are provided, which must all be commented-out, except for those you wish to use, if any.

To configure a modular piece requires just one line on code.  For example;

dispenser( selector( "AAA" ), ["thread", "right"] );      // Threaded attachment hole, on the right

The "AAA" string refers to the battery identity from the default list above.  The second argument is a two-element array that defines the attachment style that will be used, in this case, a threaded hole on the right side of the unit.  To create only this object, this should be the only uncommented line in the beginning of the main() module.

Other examples of modular piece configurations:

dispenser( selector( "AA" ), ["thread","both"] );         // Threaded holes, on both sides
dispenser( selector( "9V" ), ["hole", "left" ] );         // Plain hole, on the left
coins( ["thread", "both"] ) ;                             // Horizontal coin battery shelves

The final example above is a special case.  There exists a module for creating a modular unit to hold coin-type batteries in horizontal shelves.  This module is static, and not customizable, and may or may not be useful to you.  Suggest rendering it in OpenSCAD and inspecting, if interested.


To configure a multi-battery organizer, one utilizes the same dispenser() module as above, but in a parent-child relationship which is essential for mating the pieces together in a single unit.  For example;

  // Example grouping #1, modify to taste
dispenser( selector( "AA" ), ["thread", "left" ] )
  dispenser( selector( "AAA" ), ["none" ] )
     dispenser( selector( "A23" ), ["none" ] )
        dispenser( selector( "CR2450" ), ["none" ] )
           dispenser( selector( "CR2032" ), ["none" ] )
              dispenser( selector( "CR2025" ), ["none" ] )
                 dispenser( selector( "CR1620" ), ["none" ] )
                    dispenser( selector( "LR44" ), ["thread", "right" ] )
;

Note the absence of semi-colons on each line, which makes each call to dispenser() a child of the preceding call.  In the example above, a threaded attachment is provided on the left side of the first element, and on the right side of the final element, so this whole group of 8 battery types could be bolted to other groups of arbitrary configuration -- if they feature matching attachments.  When grouping pieces together, there is no point to providing attachments on the interior pieces, since they'll never be useful.  That said, they also hurt nothing except wasting a few grams of filament.

In addition to all of the specific battery types, a "miscellaneous" bin option is also provided, for odds and ends.  For example;

  // Example grouping #2, modify to taste
misc_bin( 50, 80, ["thread", "both"] )                      // 50mm wide x 80mm tall miscellaneous bin
  dispenser( selector( "9V" ), ["none" ] )
     dispenser( selector( "C" ), ["none" ] )
        dispenser( selector( "D" ), ["thread", "right" ] ) // D-cell, with attachment for future expansion
           coins( ["thread", "both"] )                     // Horizontal coin battery shelves
;

Please see remarks above about the special coins() module.


That's all there is to it.  Decide on the battery types which you need to store, and your desired layout, and edit this section to taste.  Preview, inspect,  render, export to STL, and then print.




Printing Instructions:

Print your chosen STL object files in any rigid filament that you prefer.  Unless you increased the wall-thickness setting significantly -- which there's no reason to do -- there's hardly any infill at all, so infill settings are inconsequential.  Supports are generally unnecessary, but if your chosen filament and settings bridge poorly, or you just want to be very safe, enabling them may be desirable.

If you elected to print modular pieces, you will require the appropriate number of bolts and possibly nuts, to assemble them into a unit.  Default fastener size is M4, with a maximum supported length for "thread" connections of 10+(double the wall thickness) mm, which is 14mm by default.  Minimum supported length is 3 times the wall thickness, or 6mm by default.


Tags