As Ruben alluded to in a previous log entry, one of the first proof-of-concept prototypes we want to deliver for testing is a smart remote with an array of 15 buttons. Depending on how a user decides to hit a button, a parameter we want to play with is how much force or effort it takes to hit a button. For me typing on a keyboard, I have pretty good control of all my fingers and won't mistakenly hit the wrong keys. In my case, I would want something with low resistance and low force. If we are designing for somebody with less motor control, mistakenly hitting wrong buttons (false positives) is a concern with regular remote control designs. One way we can avoid hitting wrong buttons is changing the button sensitivity to make them harder to press.
The main button type we have keyed in on are mechanical keyboard switches. Advantages of using these buttons are they are extremely common to find, come in a standard size, can withstand millions of cycles, and have a relatively low profile compared to other options we were considering (arcade buttons, limit switches, etc.). We were also thinking of making our own switches if we wanted a low profile button, but at least for this first prototype, it's not the highest priority.
For a mechanical switch where the button is either on or off, how do we change sensitivity? If we had an analog "button" like a force sensor, we could change the sensitivity on the software side by simply adjusting the pressure threshold. Similarly for a mechanical switch, the way we would do this is by changing the spring stiffness inside the key. Cherry MX sells a bunch of different types of key switches with varying parameters such as actuation force (sensitivity) and key travel distance. We have ordered 9 different types of buttons to use in our test panel to vary some of these parameters, including button sensitivity. However, after thinking about it some more, the actuation force of different key switches really didn't vary too much. From their website, all of the keys' actuation force lied within the range of 45-80 gF. Even though we ordered a bunch of different keys, the actuation force didn't span a broad enough range. We decided to first open up a key switch to see how feasible it was to replace the spring with one that was stiffer.
It turns out these keys are really easy to open and are relatively simple to disassemble with only 4 components, one being the spring. By replacing the spring with another with a different spring stiffness or length, the hope is that we can have much stiffer keys switches that is at least an order of magnitude higher than the original switch. As a quick test, two springs were pulled out from ballpoint pens. Below is an image of two longer and stiffer springs, compared to the shorter spring from the key switch.
Each of the springs were installed inside the key switch to test the actuation force required with each spring To estimate this force, a kitchen scale was used. The first test was with the original short spring that came with the key switch and it required about 50 gF to actuate. The rated force from the website is 45 gF, so this was pretty good validation for using this kitchen scale for measuring force.
The next two videos show testing of the springs from the ballpoint pens. For the longest spring, I had trouble closing the housing, meaning I probably exceeded the fully compressed length allowed inside the housing. Regardless, testing of both springs showed actuation forces of about 450 gF and 600 gF, which was the order of magnitude increase I was hoping for.
The next step was to find a source of springs to integrate within our proof of concept prototype buttons. From Mcmaster Carr, I selected a few springs and made a quick calculation based on the specifications of the actuation force required to actuate a switch. Based on the constraints of the housing, any spring should have an outer diameter between 3-4.3 mm with a fully compressed length less than about 5 mm. The key assumption that was estimated was that the housing confines the spring to a height of 7.5 mm in the key's unpressed state. This estimate was guessed based on dimensions from Cherry's developer page. With this assumption, the equation to calculate the actuation force is the spring equation:
where k is the spring constant, L is the length of an uncompressed spring, and d is the housing's height confinement of 7.5 mm. With this simple equation, I selected 5 springs that fit the housing constraints and were evenly spread out in terms of actuation force, summarized in the table below.
|#||Spring Length (in)||Spring Constant (lb/in)||Force (lbF)||Force (gF)|
If these forces are correct, there's a good chance the force required to actuate spring #5 would not be able to be contained by the key's housing clips. Regardless, it's worth a shot to see how far we can push the limit. The next step for this prototype is looking at the full assembly of the board, including the recess plate which works in tandem with the button sensitivity to prevent hitting wrong buttons. This will be discussed in a future log once we make more progress on that end.