Intro: Linear-Cam Driven Keyboard Drawer
...(2) cams synchronize the height and angle of the drawer during deployment, providing an ergonomic improvement over the traditional drawer at the cost of some complexity. Using it is simple - just push it in or pull it out - but that gives you access to two optimized positions:
1) As usual, when deployed, the keyboard tray is level and at the proper height (just off the legs) for typing and mouse usage.
2) When stowed, the front edge of the keyboard tray is in a higher higher vertical position, providing additional clearance for the legs when doing tasks on the physical desktop such as paperwork and reading books. At the same time, the difference in the slope of the two cam grooves tips the keyboard tray downward to match the natural approach angle to the higher position, minimizing wrist strain.
This Instructable is mostly a description of the design goals, process, and review of the result. I have, however, included a sketch, parametric model, and documentation of a working implementation.
Step 1: Design
This gets really technical. Feel free to skip it.
The design of the keyboard tray is motivated by the "features" described in the introduction: improved leg clearance and wrist positioning in the stowed position; proper ergonomic placement when deployed. Technically, that gives the following constraints:
1) Leg clearance in the stowed position should be comfortably larger than that in the deployed position. Honestly, it doesn't take much - I think this design, as built, gives about 1.5" extra, and that's plenty.
2) Hand working volume in the stowed position should be sufficient. In the product, I think it's about 2.75" vertical... which ain't really enough for typing, and I have small hands, so in the sketch, I've drawn it as 3". If building this again, I would investigate the cost of increasing this height by lowering the tray or sinking the keyboard into the tray surface.
3) In the deployed position, the tray should be level.
4) In the deployed and stowed position, the forearm should be parallel to the tray surface.
5) Shoulder and upper arm position should be kept nearly constant between stowed and deployed conditions. This, theoretically, would lead to constant posture - think upper back positioning and the like - between the two positions.
These are sufficient to rough in the design of the tray using pen-and-paper math, but when you make a formal parametric sketch of the human-drawer interaction, you find that they are almost impossible to actually satisfy while getting reasonable performance on other outcomes. The problem is that constraints 3, 4, 5 combine to be really restrictive... which is why, in the attached Pro-E sketch, I've treated #5 as a "soft constraint" - just a value to be minimized by hand, with a mind to the side-effects, rather than an actual constraint in the drawing.
In an optimal world, we would address this in one of two ways:
A) By building an optimization model that includes costs for shoulder displacement, upper arm displacement angle, wrist-drawer incidence angle, having to move the chair back-and-forth, hand working volume, and leg clearance - and probably other things.
B) Notice that a human already does that... and make an adjustable drawer.
Briefly... we need three adjustments. For fun, the derivation:
The deployed and stowed positions have three degrees of freedom each: X position, Y position, and angle. 2*3 = 6 DoF
Fixing deployed angle as horizontal eliminates one: 6 - 1 = 5 DoF.
If tray X travel (how far out it travels) and initial X relative to the desk is fixed: 5 - 2 = 3 DoF → 3 variables we need to adjust. These are stowed Y, stowed angle, and deployed Y... and I'll let you figure out the mechanics of allowing the user to adjust them
Step 2: Implementation
I wanted a quick proof of concept, so there's no adjustment or advanced human-interface models here. Most of my detail on the actual implementation is in the drawing captions, but a couple notes:
1) Gravity wants the tray to deploy, but using the springiness of the angle-iron cam pickup arm to press against the sides of the drawer and thus allow the tray to stay where you leave it... actually works pretty well, but could be improved on with either small detent(s) or some sort of locking lever. Ideally, you'd want a detent in the half-deployed position too - I actually put my tray there a lot.
2) Likewise, the removable cam roller pins work well. Friction is minimal and they allow the tray to be installed in the drawer, easily, after the drawer is mounted to the desk.
3) I think the 'lil black metal end-of-groove covers are just the coolest things ever.