I decided to finally get unlazy and start working on hall effect again, starting with characterizing the hall effect sensors. Official documentation supports a scanrate of 100KHz so it should be pretty quick. I'm running this from a 5V precision power supply and I'm using a pull up resistor that "should" be 10K but it's measuring 14K for some reason. These are the new "single magnet" switches. The board I got these from was made in 1992. Switches are labelled 11B1A and are the infamous "clicky" hall effect switches which are terrible to type on or actually use so I don't feel bad about sacrificing them. You can see the board they came out of here:
http://imgur.com/a/Ai5foDS1Z_QuickPrint3 by
dork_vader_exe, on Flickr
Here is the "press event, it initially shoots up to about 2.0V, then falls a bit, then finally goes up to the final value of 4.8V in about 2.2 us (Microsecond). That's pretty quick! Keep in mind that most contact switches settle on the order of milliseconds. This turned out to be extremely repeatable. The first 20 or so presses looked exactly the same. If it falls this fast, then we get a total cycle time of about 5 us, which should support 500kHz scanrate. woot! You can see there is a tiny overshoot, and other than the little jitter at the beginning, there is no bouncing or ringing that you get with contact based switches. Since it's so repeatable, you could easily trigger on that first spike.
DS1Z_QuickPrint1 by
dork_vader_exe, on Flickr
This is the "release" event. it is very smooth and falls from 4.8V to 0 in about 6 us (microsecond) since it's so "slow" the totally cycle time is about 8 us which is just fast enough for 100KHz
DS1Z_QuickPrint2 by
dork_vader_exe, on Flickr
This is the same "press" event as before, but it's on the same horizontal scale as the release event so you can compare them head to head
DS1Z_QuickPrint4 by
dork_vader_exe, on Flickr
Finally, if we don't count that miniscule overshoot, the "press" event time is even shorter:; onle 1.4 us to 4.8v! awesome.
What about power consumption: Well I didn't measure it with the DMM, but the PSU readback system is 4 digits with high accuracy anyway, so it's close enough for our purposes. (update, just checked and the readback accuratcy for an HP 66332A is 0.01%+0.6 microAmps, plenty good for us here.) Unpressed the system draws 0.0013A (1.3 mA) and pressed it's 0.0040A (40 mA). With 500 mA on USB to play with, I can easily power a whole board. Note: I think this will also depend on the value of pull up resistor used. I have pictures of this but I need to get them from my phone.
I also tried this at 4.5V, 4.0V and 5.0V. In all cases the actual time was the same, and the curve was just a little more steep or less steep, but otherwise almost identical. This makes sense because there's basically an amplifier in there. I accidentally applied reverse voltage to a switch and other than chewing up like 500 mA and starting to heat up a lot, it still worked when I put it back.
Unfortunately I was not able to get one of the older dual magnet switches to work at all in this system, so I'll have to get a different board out to test this. The one I was using was made in the early 1970's and might be broken. I have better boards that I know work, I just need to cut some traces to isolate a switch and then go for it.
In short: it looks like I can support a 100 kHz scanrate on hall effect pretty easily. This is easily three orders of magnitude better than contact switching, and the sensors are quite robust as well. This will be my new "gaming" keyboard when I'm done.
OK I'll be working on this slowly and posting updates here. next steps are to
1. see how fast I can turn the switch "on"
2. order a bunch of pull up resistor networks and a teensy.
3. re-wire the board I have. I'll be using a keyboard from a broken TI Silent 700. The board is one layer, so I already drilled it and prepped it for re-wiring. Provided the switches turn "on" quickly (they should, since they are basically just a hall sensor and an amplifier) I can strobe the power and sense the lines to get NKRO without diodes
4. also have to test how well they work with crummy power. Might need to put a little cap by every switch to ensure it turns "on" fast enough to scan at 100 kHz.