Sunday, December 16, 2018

Redesigning keyboard structure for DSKY Substitue

WORKING ON KEYBOARD DESIGN FLAW

Flaw in design

The keyboard design is comprised of a honeycomb plastic structure attached to the face of the keyboard printed circuit board. This honeycomb has cells which are square as viewed from the faceplate of the DSKY and extend down from the inside of the faceplate to the surface of the PCB.

A pushbutton switch is installed on the PCB in the center of each honeycomb cell. A rectangular solid plunger with a hollow bottom rides in the cell channel and sits atop the pushbutton with a coil spring holding the plunger above the switch face.

Tabs on the plunger ride in slots in the wall of the honeycomb cells. These limit the up and down movement of the plunger so that the face of the plunger is at the right height relative to the faceplate when held up by the spring. It also controlled the downward movement to give the user a total depth of 1/4" when the key was depressed.

The plunger is printed of a translucent plastic to allow light from LEDs on the PCB to diffuse up and light through the keycap. Each keycap has its text legend cut so that the shape is illuminated from below - one would see the marking on each key by the light coming from below.

This all seemed fine when I committed to 3D printing my honeycomb, but I realized at some point later that there is no way to assemble the plungers inside the honeycomb. An astute reader of the blog realized this almost as quickly as I did.

The plunger is nearly the size of the cell, so it can't tilt much at all. Its tabs are 1/8" thick and extend out almost 1/8" on each side.

Plunger in honeycomb cell, tab slides in slot in cell wall
The slots in the walls of the honeycomb start near a corner, minimizing the amount that the cell wall could bend away. Whatever small flexing is possible in both honeycomb and plunger, even combined together, is insufficient to allow the plunger to be pushed into the cell.

Developing a solution

There are a few possible ways I can resolve this. One constraint I imposed on the solution is that I not have to throw away the >$100 I spent on the first 3D printing of the honeycomb. One would suspect that the more practical fixes would involve a changed honeycomb, but I was loathe to waste the money.

It is possible that an altered plunger design could work with the honeycomb as it was designed. It is possible that I could develop a rework on the honeycomb once it arrives. I struggled with ways to make the plunger out of multiple pieces that are assembled while in the honeycomb cell.

The simplest method I came up with is a rework of the honeycomb, cutting the slots to extend all the way down to the PCB. The plunger can be slipped in the cell from the bottom, the honeycomb placed face down, coil springs placed in the hollows of the plungers and the PCB attached to the top.

Cut away bottom of slots to allow plunger to be inserted from bottom
This assumes I can cut the slots without damaging or destroying the honeycomb, but I expect that it will be possible.It does leave a problem, however, in both the downward travel and perceived resistance of the key to the person pressing it down.

Without a bottom to the slot, the key will continue down until the pushbutton itself bottoms out. This won't be a major additional distance but enough for a purist to notice. Also, the pushbuttons I selected are two stage - they activate one set of contacts initially and resist with a certain force, then when the reach full travel they activate the second set of contacts. The additional force of that second stage will put the resistance of the key over the top limit of the DSKY specification.

My rework will foil my attempt to match the real DSKY depth and resistance behavior. It will move slightly further down and resist slightly more at that depth than a real key. I just have to let it go.

After all, this project is to build a DSKY substitute, not a replica. I am not attempting to make it look, feel and act exactly the same as a Raytheon produced DSKY. All I want is to interface with the AGC in a realistic enough way to satisfy our testing and demo needs.

No comments:

Post a Comment