Ben Counterweight
Sign in or create your account | Project List | Help
Ben Counterweight Git Source Tree
Root/
| 1 | Counterweight |
| 2 | ============= |
| 3 | |
| 4 | This project defines a counterweight to prevent the Ben NanoNote from |
| 5 | falling over, and describes the process of making a wooden mold for |
| 6 | casting the counterweight using a lead alloy commonly used for |
| 7 | soldering. |
| 8 | |
| 9 | |
| 10 | Problem statement |
| 11 | ----------------- |
| 12 | |
| 13 | The weight distribution of the Ben NanoNote makes the device unstable |
| 14 | and often fall over when the display is opened. This can be remedied by |
| 15 | adding a counterweight near the front of the bottom shell. |
| 16 | |
| 17 | Experiments have shown that a torque of about 2.5 mNm is sufficient to |
| 18 | balance the device with the display fully opened. A feeling of solid |
| 19 | stability is reached around 6.5 mNm. |
| 20 | |
| 21 | The counterweight defined in this project is made of plumbing solder, a |
| 22 | Pb67Sn33 alloy with a density of about 10.0 g/ccm. The counterweight |
| 23 | has a nominal mass of 17.9 g and a nominal torque of 7.3 mNm. Due to |
| 24 | mold compression (which one could compensate for) and process |
| 25 | tolerances, the mass achieved in DIY casting ranges from about 14.5 g |
| 26 | to 17 g. This mass is slightly increased by the addition of protective |
| 27 | painting. |
| 28 | |
| 29 | In experiments, the torque produced by these counterweights proved to |
| 30 | be sufficient to give the user the feeling that the Ben is solidly |
| 31 | standing on its feet. |
| 32 | |
| 33 | |
| 34 | Mechanical stacking |
| 35 | ------------------- |
| 36 | |
| 37 | From the bottom to the top, we have the following elements: |
| 38 | |
| 39 | - Ben case, bottom shell |
| 40 | - a few drops of glue or silicone, to hold the counterweight in place |
| 41 | - the counterweight, covered by protective paint |
| 42 | - a few drops of glue or silicone, to keep the cover sheet in place |
| 43 | - a cover sheet of thin hard plastic, e.g., the type of plastic film |
| 44 | used to make transparencies |
| 45 | - isolating tape, applied to tall components of the Ben's main PCB |
| 46 | - the Ben's main PCB |
| 47 | |
| 48 | |
| 49 | Dangers and protection |
| 50 | ---------------------- |
| 51 | |
| 52 | The counterweight contains lead, which is toxic and also conducts |
| 53 | electricity. While the health risk caused by handling the counterweight |
| 54 | is very low compared to other lead sources, it's still a good idea to |
| 55 | prevent accidental exposure. While there is normally an air gap between |
| 56 | the PCB and the counterweight, they may touch if the countereight is |
| 57 | improperly installed, if the PCB gets bent, or if the counterweight |
| 58 | comes loose for some reason. Electrical contact can cause the Ben to |
| 59 | malfunction and may even result in permanent damage. |
| 60 | |
| 61 | The counterweight is covered by one or more layers of paint, to prevent |
| 62 | direct skin contact with the lead during handling. The paint may also |
| 63 | offer some amount of protection against electrical contact. |
| 64 | |
| 65 | A layer of hard plastic is placed on top of the counterweight, to |
| 66 | isolate it from electrical contact. The plastic also resists being |
| 67 | punctured by pointy components or solder joints of the main PCB. |
| 68 | |
| 69 | Finally, all elements on the main PCB that are unusually tall are taped |
| 70 | over, to further reduce the risk of them working their way into the |
| 71 | counterweight. Right now, the only component where problems are |
| 72 | considered likely is the buzzer. |
| 73 | |
| 74 | |
| 75 | Workflow |
| 76 | -------- |
| 77 | |
| 78 | This is the workflow for generating the CAD model and making a mold for |
| 79 | gravity casting with a Roland Modela MDX-15 CNC mill. |
| 80 | |
| 81 | - analyze geometry, e.g., by viewing ben-bottom-inside-500um |
| 82 | - define CAD model in cw.py |
| 83 | - generate in HeeksCAD with "import cw" (requires HeeksCNC and |
| 84 | HeeksPython) |
| 85 | - define Zig-Zag operation (*) |
| 86 | - generate Python script and run it (takes a while, about 10-20 |
| 87 | minutes for the Python script on my Q6600, plus 20-100 minutes for |
| 88 | HeeksCAD to read the data back) |
| 89 | - save NC file, using the name specified in "doit" (see below) |
| 90 | - mount piece and determine geometry with millp |
| 91 | (from http://svn.openmoko.org/developers/werner/cncmap) |
| 92 | - define conversion in "doit" script |
| 93 | - coordinate transform and conversion to Roland's RML-1 (**) |
| 94 | ./doit >job |
| 95 | - send job with cncmap/spool |
| 96 | |
| 97 | (*) In this case, the following parameters were used: |
| 98 | |
| 99 | - 32 mil Carbide End Mill |
| 100 | - step over 0.2 mm (default) |
| 101 | - step down 2 mm |
| 102 | - start depth 0.5 mm |
| 103 | - final depth 6.5 mm |
| 104 | - rapid down to height 0.5 mm |
| 105 | |
| 106 | These parameters depend on the mill, the tool, and the material. |
| 107 | Note that, in my setup, tool speed and the clearance height are |
| 108 | set by the "doit" script, and HeeksCAD's settings have no effect. |
| 109 | |
| 110 | The CAD model uses only an approximation of machine coordinates. |
| 111 | The final transformation and alignment is also made by "doit". |
| 112 | |
| 113 | Total machine time is about 7 hours for 2" pine, about 11 hours |
| 114 | for 3". Zig-Zag is quite inefficient and repeats some paths many |
| 115 | times. A better tool path could reduce machine time to about a |
| 116 | third. |
| 117 | |
| 118 | (**) HeeksCAD currently doesn't generate RML-1 output. I'm using a set |
| 119 | of utilities that process toolpaths in the gnuplot format and |
| 120 | generate RML-1 from that. Hence the detour. |
| 121 | |
| 122 | |
| 123 | Gravity casting |
| 124 | --------------- |
| 125 | |
| 126 | Gravity casting is an efficient process for producing small numbers of |
| 127 | counterweights. The mold is milled from a block of pinewood and has a |
| 128 | life expectancy of about 20-40 cycles. |
| 129 |
Branches:
master
