Thursday, October 27, 2011

Better optical sensor, hopefully

I sent an email over to Avago Technologies today to inquire about where to obtain some ADNS-9500 optical sensors.  None of the US distributors were stocking them, so they indicated they may be able to send me some samples.  Hopefully I will be able to begin working with these to see just how good this can get.  I really like the ADNS-7550 version I'm using now, but I'm eager to see their better chip in action.  I'm crossing my fingers that a small package of them shows up.

In the mean time, I've taken a little break.  The PCB cap needed to be redesigned with more internal clearance, but the milling of the new design failed...again.  It is very frustrating having a small CNC router that is just not so good at prototyping these larger parts.  Maybe one of these days I'll get my hands on a little more beefy CNC mill for doing these sorts of things...

Saturday, October 22, 2011

New Socket Milled & Hand Support Update

A day off of work does wonders for making progress on personal projects.  Yesterday, I was able get the silicone hand support filled with sand and the latest version of the ball base socket milled.  Fair progress.

In consulting with my wife regarding the hand support, we came to the decision that using oil instead of water would be best for the long term keep of the sand in the enclosed space of the hand support.  We explored several different kinds of oils and we settled on a type that has a very long shelf life.  I was drawing on her expertise as a soap maker, where oils of many kinds are used.  We have many kinds in stock.  So, the hand support is filled with sand and oil now.  There is some air trapped inside which needs to be removed.  I figure using a hyperdermic needle to suck the air out would be best, however, I don't have any needles handy at the moment, so that will be on the shopping list.  The hand support feels like an oversized beanbag chair for your hand, extending all the way down to the wrist.  It is very comfortable.  Once the air is removed, it will firm up a bit.

The latest version of the ball socket was a long time in the making.  I've had several setbacks that kept it from getting done.  Most of the issues have been related to my CNC router.  This successful version comes after five other failed attempts to create it.  The failures all had a machining error of some sort or another.  It all boils down to the fact that this is a tiny little CNC router with weak stepper motors and I'm asking it to do more than it was designed to do.  After a 3.5 hour marithon session last night, I eventually got it done by running the machine at about 40% of the job speed.  It made for a late night (I didn't get done until about 1:30 AM), but at least it is done.  The piece was milled out of a polycarbonate block measuring 1.75" square and 0.75" tall using a 0.125" ball end-mill.  The stepdown was backed way off to 0.01" per pass, so it took about 75 passes to mill down.  This was a single-sided milling effort this time.  None of my double-sided attempts were successful.  I'll just have to manually locate and drill the eight holes on the underside with a template and drill press, so not so hard and probably the right way to do it anyway.

Ball Base Socket (0.75" tall):

Ball Base Cap.  It covers the circuit board that hugs the bottom of the Ball Base Socket (shown above).  The hole in the bottom is for the eight wires that need to connect back to the microprocessor unit:

All components:

 All Components, combined 

 Hand support shown next to the combined trackball assembly:

Sunday, October 16, 2011

Scroll Wheel - First Draft

I've spent most of today working on the new scroll wheel design.  Now that the trackball, buttons and hand support all have working prototypes, I need to get the scroll wheel into protytype too.  Below is the first draft.  It is 1" in diameter and 0.375 wide.  The slots along the side are spaced to match up with an Avago AEDR-8300 Series Encoder to act as the encoder wheel.  This makes the wheel both functional to receive input from the end-user and increment the encoder.  The goal is to minimize the footprint both in width and height as much as possible.  An axel will be added through the middle and I'll have to mill out a support (think faris wheel), PCB mounting spot and some sort of case for it all to fit into.

Saturday, October 15, 2011

First Rotocast & Dead Spindle

I managed to get my first successful rotocast of silicone rubber in a plaster mold.  I applied 9% silicone thinner to the liquid silicone and two drops of accelerator before pouring it into the two-part plaster mod.  It took about an hour if slowly rolling it around in all directions until the silicone was cured enough to leave it alone.  I should probably use a little more accelerator next time.  Silicone was mixed 90A:9B (measured in grams).  It came out of the mold looking like a child's toy rubber ball, even full of air.  Still, there is a blob of silicone on one side that didn't get evenly distributed.  I suspect that it was the result of the mold sitting on the table while it fully cured out.  More accelerator and a real rotocasting machine should take care of this. 

This evening, I also was successful in milling out the bottom PCB cap for version 4 of the ball support.  Unfortunately, the motor on my spindle failed, so I won't be able to mill the other half of this support until the new motor arrives.  I also bought two more spares for next time.  They are only about $18 on Amazon.  The motor started to fail about half way through the job by running much slower and losing about half its power.  I slowed the job down to about 30% to take it easy and try to finish out the job.  I managed to get down to about two minutes left on the finishing pass (after 1.5 hours) and the spindle came to a full stand-still.  I was able to manually finish the part with some sanding luckily, so all was not lost.

Picture below includes the rotocast silicone ball for the hand support, the version 4 ball support cap that covers the PCB and the latest PCB that hasn't been populated with parts yet (shown inside the newly milled cover). 

Tuesday, October 11, 2011

Successful Test Drive

I took what parts I have and cobbled together a complete functional prototype and played three hours of World of Warcraft with it.  I managed to used this new trackball in place of my Logitech Trackman for the entire time.  It is certainly a learning curve and getting the buttons in just the right spot is important.  Once everything was where it belonged and adjusted, it was awesome.  I really like it.  According to the performance meter, I was top of my class in the game too.

I cut some little single sided copper clad board pieces and soldered wires to them for buttons and taped them to the sand glove.  I pulled the trackball over beside the sand glove for thumb operation. 

Having a successful test and support from the community has really inspired me to keep moving forward.  Thanks!

Monday, October 10, 2011

Double-Sided Milling with MeshCAM

For those interested in my discoveries in how to do two-sided milling with MeshCAM, here are my notes:

Secure material to spoiler board with either double-side carpet tape or masking tape on all sides.  Remember, if you put double-side tape under the model to start with, you'll need to be sure to use it on both sides so that that Z height doesn't change (or re-zero the Z axis after flip if you don't use it on the second side)

Zero x0y0z0 at lower left, top(z0) of model, but leaving room to drill registration holes in -XY areas

Determine best distance from center of material for registration holes.  Best locations are equidistant from the Y centerline, outside the millable area.
Example: Millable Area=1.75" square and 0.75" tall:  First Pin=x-0.25y-0.25 Second Pin= x-0.25y2 (z-1 = 0.25 into spoiler board)

Optionally, add two extra pins at x2y2 and x-0.25y2 to further secure the model so it will not move.

Manually drill registration holes by jogging the machine to the proper coordinates and drilling down through the material and into the spoiler board in one operation.

Install registration pins through holes in top of material, taking care to be sure they sink all they way into the spoiler board holes you just drilled.

Mill Top or Bottom

Flip in Y axis, line-up holes in material with pins to registration holes in spoiler board, secure material.  So, the edge that was on the bottom is now at the top after being flipped.

Mill other side

*Milling notes: 

1) I used registration pins that were shorter than my model (just 0.125" round brass stock, cut into short pieces).  Since they sink into the spoiler board about 0.25", they are below the stock surface.  With the vibrations generated via the actually milling a couple of them started rising up in their hole and sticking out above the material surface.  Obviously, if they have come up more than 0.25", they are no longer helping to keep our material centered.  I ended up stuffing some wadded up masking tape balls into the holes to keep them in place. 

2) Before you start, test the bit/end mill you plan to use to make the registration holes on the drill press.  Even though I tried four different 0.125" bits (end mills and drill bits), only two of them produced a nice, tight registration hole.  The others produced holes that were too large and would allow too much play, causing side-to-side registration issues.  The winners for me were both end mills measuring about 0.124" in diameter (one two-flute ball-nose and the other a four-flute flat-nose).  The surprising last place choice with too much wiggle room was an actual 0.125" drill bit.

Implementation Challenges

Updates on the project are lagging behind some milling issues I'm having.  The latest designs of the ball support socket and PCB bottom cover have proven to be difficult to mill on my small CNC router.  I have tried about six times with some degree of incremental success.  The issues primarily stem from getting into two-sided milling and a more complex design.  While I have the process figured out, my machine is throwing fits and messing up jobs.  I'm having to slow down quite a bit, which makes each piece take 2+ hours per side.  I just about had one side of the PCB cover complete last night, only to have the finishing pass skip a couple steps about half way through and take huge chunks out of the model.  I've added a waterline finish middle step to mitigate this issue and ordered some new deep cut ball end mills that should help.  I'll update with pictures once the new design is done.

I tried my hand at rotocasting some silicone into a plaster mold.  I added too much accelerator to the mix and made what looked like a large snot ball at first.  The second run looked better, but still had some holes and thin spots.  I have some silicone thinner on order to help make this stuff flow more evenly inside the mold.  The plaster mold was made from a 4.5" Christmas ornimate ball I bought at the local store, so the end product will end up being a hollow sphere that gets filled with wet sand. 

Tuesday, October 4, 2011

Capacitive Touch Fine Tuning

I spent most of the last 3 days working through the finer points of the capacitive touch buttons.  While they were working, they would pulse on and off randomly, making it impossible to drag anything while holding down a mouse button.  I now have a very solid, responsive system working with 4 buttons (right, middle, left and resolution).  It took quite a bit of fine tuning to be both reliable and responsive so I can still easily double-click.  I had to formulate an averaging algorithm that samples each button and keeps a rolling average to get the genaral idea if someone is touching the button or not.  It works really well.  Apparently the capacitance draw of a person isn't very stable.  It's so nice to have a totally silent trackball system with just the ball as the moving part.  "Clicking" (or touching in this case) is lighting fast.  I've been using the new one to browse the web more than the other one lately, though it is currently a two hand arrangement with buttons on left hand and trackball on right hand.  It'll be sweet once it is all integrated.

I'm gearing up to finish up on the ball support, version 4.  It will be double tall this time and have a bottom cap mated up to cover up the circuit board.  I had to order some special #2 screws as the local hardware stores don't carry little stuff like that.  They will be in tomorrow.

Silicone is on order for the hand support.  I plan to rotocast that into a thick silicone balloon of sorts, then fill that with semi-wet sand.  That'll be covered partially with velcro to arrange the buttons around. 

The ball support will need double-sided milling, so working through the front-side and back-side registration with MeshCAM.  I think I have it worked out, but we'll see...

The new ball support design and smaller screws means I'll need to re-mill and make the circuit board.  I scored some soldering paste from a relative in the electronics business and I'll be using my toaster oven I bought a few years ago when I first planned to be making circuit boards.  I probably should get a proper thermocouple setup going to be a little more accurate on the of these days...