Page 1 of 1
Alternate ways of sensing teh Fs...
Posted: 04 Jan 2016, 09:25
by __red__
Some 3am thoughts, they may not be completely coherent
Back with God was typing "Let there be light" on his beamspring and Adam and Eve invented the F and Cain Killed Abel for inventing the rubber dome, analog covered the Earth.
A fair amount of complexity of the boards that we have are due to trying to be as uniform in the responsiveness of each of the keys relative to the other keys because the original controllers and xwhatsit's controller make this assumption.
3am thoughts... What if it didn't have to be that way? What if we could calibrate the time of sample and the trigger voltage on a per key basis?
Sure, it wouldn't forgive absolute stupidity in the PCB design but it may provide us with a significantly less stringent design process.
So picture the scene...
ADC on each row.
The uC holds a lookup table of delay and threshold per key.
uC strobes the line.
Triggers the ADC sample at the configured delay.
Reads the analog value, compares against per-key lookup table.
Thoughts?
Posted: 04 Jan 2016, 13:06
by XMIT
I've suggested exactly this in the past and I think others have too. IIRC the consensus was that IBM engineers did things the way they did because back in the 1970s it was cheaper and easier to design a PCB with consistent values than it was to throw extra ROMs onto the board. Also, the entire board can drift slightly with environmental conditions so it is good if the board can auto calibrate somehow.
Posted: 04 Jan 2016, 14:28
by __red__
Well I'm glad to hear it's not too far out of left field and cost was really what I thought was the driving factor too, especially given how horrifically expensive ROM was in those days. Now you can get an 8 channel 8 bit A2D for under $2.
We could still have auto-calibration I think if we were to assume (dangerous I know) that the environmental factors were fairly consistent across the board.
I'm going to chew on this for a few hours and see how it tastes.
__red__
Posted: 04 Jan 2016, 17:50
by Muirium
I'd love to be able to set key threshholds independently. Xwhatsit's controller's principal weakness is the one value fits all approach. On beamsprings especially, this can be one son of a canine to work with.
Autocalibration is nice, but flaky when forced into that extreme of one value for the entire board. I don't know how IBM did such a nice job, when Xwhatsit did everything right as far as I can tell but with very different consequences. There's nothing quite as hard to handle as a Model F or Beamspring with missing keys or ghost tsunamis.
Autocalibration per row, then? Is this system of yours intended strictly for custom PCBs? (Sense cards in IBM speak.)
Posted: 04 Jan 2016, 18:18
by andrewjoy
Muirium wrote: ↑I'd love to be able to set key threshholds independently. Xwhatsit's controller's principal weakness is the one value fits all approach. On beamsprings especially, this can be one son of a canine to work with.
Autocalibration is nice, but flaky when forced into that extreme of one value for the entire board. I don't know how IBM did such a nice job, when Xwhatsit did everything right as far as I can tell but with very different consequences. There's nothing quite as hard to handle as a Model F or Beamspring with missing keys or ghost tsunamis.
Autocalibration per row, then? Is this system of yours intended strictly for custom PCBs? (Sense cards in IBM speak.)
\Thats been a problem for me , my 107 has shifted and now i cannot get it to work consistently , the only think i can think of is to replace the foam.
Re: Alternate ways of sensing teh Fs...
Posted: 04 Jan 2016, 23:15
by __red__
Okay, so there is an actual need then other than my late-night thoughts.
YOu may be able to do some kind of auto-calibration power key.
I'll order some a2d this evening from element14 and try to write some code tomorrow evening.
I'll use an old F122 as my test board.
IC I'm looking at is only available in tssop and I have a tssop zif socket adapter.
I'm convinced that using that adapter is going to cause me noise issues. Argh.
Pcb adapter it is then...
__red__
Posted: 05 Jan 2016, 13:56
by __red__
Disclaimer - I am not an expert, this is my reading and understanding of the scope. I'm completely prepared to be wrong. In fact I'm really very good at being wrong, it should be my vocation.
Every strobe actually consists of eight 5V pulses over ~700us period.
- DS2_QuickPrint1.png (46.59 KiB) Viewed 4332 times
On the uptick there's about a 40mV spike which dissipates pretty quickly. I don't know if this dissipates this quickly because of the bleed resistor in the circuit or whether the input impedance of my scope is having significant influence. Schrödinger's Oscilloscope as it were...
- DS2_QuickPrint4.png (37.91 KiB) Viewed 4332 times
So here's the shot we're interested in:
- DS2_QuickPrint5.png (38.1 KiB) Viewed 4332 times
We have a whole 80mV to play with in a 30ns window. To put that in perspective I need to sample at at least 100Mhz to have a (finger in air) chance of getting a decent S/N ratio.
Now I'm starting to understand the difficulty in detecting this in pure software at a somewhat economical price.
Relative Permittivity FR4: 4.8
Relative Permittivity Mylar: 3.15
Relative Permittivity Cellolose Acetate: 3.2 - 7
Re: Alternate ways of sensing teh Fs...
Posted: 10 Jan 2016, 18:18
by __red__
Wow, controlling noise is hard while prototyping...
Posted: 10 Jan 2016, 18:44
by Muirium
IBM did a sterling job with the original controllers. It's not just an age thing. I have literally never seen a single false key in all the months I've spent typing on vintage Model Fs with their stock controller. I can't begin to say the same for Xwhatsit's! IBM had a big blue advantage in resources, of course. Yet with all the progress in the decades since, you'd think we would have off the shelf components aplenty to meet an old challenge like this.
Apparently, we do not!
Re: Alternate ways of sensing teh Fs...
Posted: 29 Feb 2016, 20:22
by __red__
Muirium wrote:IBM did a sterling job with the original controllers. It's not just an age thing. I have literally never seen a single false key in all the months I've spent typing on vintage Model Fs with their stock controller. I can't begin to say the same for Xwhatsit's! IBM had a big blue advantage in resources, of course. Yet with all the progress in the decades since, you'd think we would have off the shelf components aplenty to meet an old challenge like this.
Apparently, we do not!
Well, we do but we're all just intent of trying to re-create the original design. There may be better ways of doing this now that we have CPLDs and the like dirt cheap.
Posted: 01 Mar 2016, 17:18
by Halvar
My understanding is that xwhatsit isn't doing the sensing in software, but with some simple off-the-shelf DA converter components, while IBM used dedicated sensing chips, and we don't even know how those worked. What do you mean by "trying to re-create the original design"?
Re: Alternate ways of sensing teh Fs...
Posted: 02 Mar 2016, 08:01
by hasu
xwhatsis uses external comparator chip with controllable voltage reference chip, iirc.
I think dfj looked into IBM sensor chip and may know how it works. also soarerer or John Elliott may know, I think.
any of those guys is difficult to reach, anyway
Posted: 02 Mar 2016, 08:58
by Halvar
Yes, an external comparator and DAC, here is a discussion:
https://geekhack.org/index.php?topic=45097.0
Re:
Posted: 02 Apr 2019, 07:19
by Luns
__red__ wrote: ↑05 Jan 2016, 13:56
Disclaimer - I am not an expert, this is my reading and understanding of the scope. I'm completely prepared to be wrong. In fact I'm really very good at being wrong, it should be my vocation.
Every strobe actually consists of eight 5V pulses over ~700us period.
Just to be clear, the eight pulses are the controller walking through all eight rows on the same column. The column pulses once per key.
__red__ wrote: ↑05 Jan 2016, 13:56
On the uptick there's about a 40mV spike which dissipates pretty quickly. I don't know if this dissipates this quickly because of the bleed resistor in the circuit or whether the input impedance of my scope is having significant influence. Schrödinger's Oscilloscope as it were...
The uptick is the rising edge of the column signal being capacitively coupled to the sense amplifier input, before the amplifier has a chance to respond. The amplifier itself, when it responds, presumably drives its output low. There's an integrating capacitor from this output back to the input, and it's the amplifier output going low that drives its the input back to where it started from.
__red__ wrote: ↑05 Jan 2016, 13:56
So here's the shot we're interested in:
We have a whole 80mV to play with in a 30ns window. To put that in perspective I need to sample at at least 100Mhz to have a (finger in air) chance of getting a decent S/N ratio.
The amplitude and timing are much more relaxed than that, but you have to sample the output of the amplifier, not its input. Only one sample is necessary in the time that the column line is high, and in fact, the sample should be taken after the spikes you see, not during. That is, sample after things have been transferred from the amplifier input to output.