Page 1 of 1

[Idea]Dynamic magnetic switch

Posted: 21 May 2017, 20:17
by g3rain1
Imagine a switch that could be configured on the fly. One where you could change the weight, tactile feel, and activation point, all in software/firmware without ever having to open the keyboard or the switch.

Imagine a switch with a small neodymium magnet in the slider and an electromagnet in the base set to repel the slider. This would work not too different from a hall effect switch, except instead of spring it uses magnetic repulsion. This would create a quasi linear switch where the weight increased exponentially instead of linearly, so not really linear. But in keyboard switch terms this would not have a tactile bump.

Now from here if we add a small bit of logic we can achieve much more. Now we can adjust the weight by increasing or decreasing the magnetic field strength. Further more, when you press it to activation(which could be set to anywhere we want) it could quickly alter its's field strength, decreasing it, turning it off all together or even inverting it. This would cause a tactile feel that could be changed wildly and on the fly. We could even switch it back on right before the bottom of the stroke to create a soft landing if that's what you want. With this level of control it would even be possible to crate a true linear switch by gradually decreasing the field strength as the slider moves down.

I'm envisions a piece of software where the user could draw a force graph and then upload that to the board and have it implement automatically.

It should even be possible have pressure sensitive buttons and emulation of analogue joysticks for gaming.

Now this of course would require a much more advanced controller, or more likely, a simple controller under each switch that controls the magnetic field and reports back activations to the main controller. The main controller would only need to program each switches controller with the right force graph. Naturally this would be very expensive....

Posted: 21 May 2017, 20:27
by x64051
Interesting concept, but would 500mA from an USB port suffice to power a keyboard with 60,80 or 100 of these switches?

Posted: 21 May 2017, 20:31
by ohaimark
Clearly it needs a 5+ ampere external power supply. In addition, the case will need to be filled with magnetic suppression material to prevent regular and unscheduled platter hard drive wipes.

Cool concept, but quite impractical.

Posted: 21 May 2017, 20:50
by seebart
Great idea, but even without being having any idea of the technical side I can tell you now your biggest challenges will be hardware and magnet related.

Re: [Idea]Dynamic magnetic switch

Posted: 21 May 2017, 20:51
by Techno Trousers
20 kg keyboard, filled with lead shielding! :D

Posted: 21 May 2017, 21:02
by j0d1
The concept has a lot of challenges: the space in a switch is limited, the current of USB 2.0 (500 mA) or 3.0 (900 mA) is limited, the switches need to be constantly driven by a micro-controller to apply the force graph (each position on the force graph requires to set a different current on the electromagnet), ...

Also, applying the force graph is one part of the problem.
You also need a way to know where you are on that force graph when you are pressing / depressing the switch. Did you think about that?

That said, I like the idea.
I would love to be able to switch the feeling of my switches for work (tactile) and gaming (linear).

I guess a first step to know how practical / impractical this idea is would be to know exactly how much current you need to drive one switch. Two tiny magnets (neodymium one, electro one) and a micro-controller could tell you that. Good luck!

Posted: 21 May 2017, 22:30
by Laser
How about having some knobs on the keyboard so that you can tune the switch pressing force curve, on the fly? So you adjust that curve (not unlike a High / Low filter combo) by tweaking the knobs till it feels just right for your hand.

Posted: 21 May 2017, 22:51
by g3rain1
j0d1 wrote: The concept has a lot of challenges: the space in a switch is limited, the current of USB 2.0 (500 mA) or 3.0 (900 mA) is limited,
USB 3.1 over type-c connector can handle up to 5A (100W/20V)
j0d1 wrote: Also, applying the force graph is one part of the problem.
You also need a way to know where you are on that force graph when you are pressing / depressing the switch. Did you think about that?
Yes. Current hall effect switches use the same principal so I'd assume similar to that, except you'd have to calculate away generated magnetic field and get the difference to 'see' where the permanent magnet is.
j0d1 wrote: I guess a first step to know how practical / impractical this idea is would be to know exactly how much current you need to drive one switch. Two tiny magnets (neodymium one, electro one) and a micro-controller could tell you that. Good luck!
Thank's but I'm not an electrical engineer so I'd not have a shot in hell in pulling off. I'm just an enthusiast tossing ideas out there.

Posted: 21 May 2017, 23:23
by Findecanor
I have seen this idea posted now and then here and on Geekhack...

The exponential resistance is not that easy to adjust in real-time... To get around that you would need the force curve to adjust itself under some kind of electrical control and then you would find the problem that there is an inherent round-trip delay between the key moving and the feedback.
The analogue sensing mechanism would need to be not only fast or accurate but fast and accurate at the same time. Then the actuation mechanism would also need to be fast and accurate.

And it would still be an unstable system. I once worked on the application-side of a force-feedback system. There were vibration-artefacts near thresholds and an inherent soft springiness to everything. I know people who have built unstable robots - and those have the motors whirring pretty much all the time to act and counteract inertia. In other words, the motors were ringing. You would not want the switch to be vibrating.

I think the only feasible system would be one that has previously been proposed: two settings only: on and off. Full electromagnet strength - with an exponential force curve - up to the actuation point where the electromagnet is switched off. Then a weak helper spring would bring the key back up.
g3rain1 wrote:
j0d1 wrote: The concept has a lot of challenges: the space in a switch is limited, the current of USB 2.0 (500 mA) or 3.0 (900 mA) is limited,
USB 3.1 over type-c connector can handle up to 5A (100W/20V)
That's a charging protocol. I'm not so sure that the device is allowed to do much else than charging when it uses it... That would be something to look up.

But USB Type C is starting to look more and more like a failure because of the jungle of standards and all the existing cables and devices out there that either don't work as advertised or can even be dangerous and fry your device.
Hey, there was a popular smartphone that came with a charging cable wasn't safe to use with other Type C devices than this particular phone.

Posted: 21 May 2017, 23:38
by vvp
I posted something similar on geekhack long time ago. But instead of a magnet I was considering only a ferrite core and a linear force bias from a spring. The coil with ferrite core would modify this linear force. This can save some power since the coil does not need to generate any force for the switches which are not pressed. The travel-force curve adjustment would be activated only after a switch gets pressed some defined length. It may be possible to get rid of the hall sensor by trying to detect coil inductance change. The inductance will change because of different length the ferrite core is inserted into the coil.