ben-counterweight/README

129 lines
4.9 KiB
Plaintext

Counterweight
=============
This project defines a counterweight to prevent the Ben NanoNote from
falling over, and describes the process of making a wooden mold for
casting the counterweight using a lead alloy commonly used for
soldering.
Problem statement
-----------------
The weight distribution of the Ben NanoNote makes the device unstable
and often fall over when the display is opened. This can be remedied by
adding a counterweight near the front of the bottom shell.
Experiments have shown that a torque of about 2.5 mNm is sufficient to
balance the device with the display fully opened. A feeling of solid
stability is reached around 6.5 mNm.
The counterweight defined in this project is made of plumbing solder, a
Pb67Sn33 alloy with a density of about 10.0 g/ccm. The counterweight
has a nominal mass of 17.9 g and a nominal torque of 7.3 mNm. Due to
mold compression (which one could compensate for) and process
tolerances, the mass achieved in DIY casting ranges from about 14.5 g
to 17 g. This mass is slightly increased by the addition of protective
painting.
In experiments, the torque produced by these counterweights proved to
be sufficient to give the user the feeling that the Ben is solidly
standing on its feet.
Mechanical stacking
-------------------
From the bottom to the top, we have the following elements:
- Ben case, bottom shell
- a few drops of glue or silicone, to hold the counterweight in place
- the counterweight, covered by protective paint
- a few drops of glue or silicone, to keep the cover sheet in place
- a cover sheet of thin hard plastic, e.g., the type of plastic film
used to make transparencies
- isolating tape, applied to tall components of the Ben's main PCB
- the Ben's main PCB
Dangers and protection
----------------------
The counterweight contains lead, which is toxic and also conducts
electricity. While the health risk caused by handling the counterweight
is very low compared to other lead sources, it's still a good idea to
prevent accidental exposure. While there is normally an air gap between
the PCB and the counterweight, they may touch if the countereight is
improperly installed, if the PCB gets bent, or if the counterweight
comes loose for some reason. Electrical contact can cause the Ben to
malfunction and may even result in permanent damage.
The counterweight is covered by one or more layers of paint, to prevent
direct skin contact with the lead during handling. The paint may also
offer some amount of protection against electrical contact.
A layer of hard plastic is placed on top of the counterweight, to
isolate it from electrical contact. The plastic also resists being
punctured by pointy components or solder joints of the main PCB.
Finally, all elements on the main PCB that are unusually tall are taped
over, to further reduce the risk of them working their way into the
counterweight. Right now, the only component where problems are
considered likely is the buzzer.
Workflow
--------
This is the workflow for generating the CAD model and making a mold for
gravity casting with a Roland Modela MDX-15 CNC mill.
- analyze geometry, e.g., by viewing ben-bottom-inside-500um
- define CAD model in cw.py
- generate in HeeksCAD with "import cw" (requires HeeksCNC and
HeeksPython)
- define Zig-Zag operation (*)
- generate Python script and run it (takes a while, about 10-20
minutes for the Python script on my Q6600, plus 20-100 minutes for
HeeksCAD to read the data back)
- save NC file, using the name specified in "doit" (see below)
- mount piece and determine geometry with millp
(from http://svn.openmoko.org/developers/werner/cncmap)
- define conversion in "doit" script
- coordinate transform and conversion to Roland's RML-1 (**)
./doit >job
- send job with cncmap/spool
(*) In this case, the following parameters were used:
- 32 mil Carbide End Mill
- step over 0.2 mm (default)
- step down 2 mm
- start depth 0.5 mm
- final depth 6.5 mm
- rapid down to height 0.5 mm
These parameters depend on the mill, the tool, and the material.
Note that, in my setup, tool speed and the clearance height are
set by the "doit" script, and HeeksCAD's settings have no effect.
The CAD model uses only an approximation of machine coordinates.
The final transformation and alignment is also made by "doit".
Total machine time is about 7 hours for 2" pine, about 11 hours
for 3". Zig-Zag is quite inefficient and repeats some paths many
times. A better tool path could reduce machine time to about a
third.
(**) HeeksCAD currently doesn't generate RML-1 output. I'm using a set
of utilities that process toolpaths in the gnuplot format and
generate RML-1 from that. Hence the detour.
Gravity casting
---------------
Gravity casting is an efficient process for producing small numbers of
counterweights. The mold is milled from a block of pinewood and has a
life expectancy of about 20-40 cycles.