Author Topic: Yet Another Capsense  (Read 7589 times)

0 Members and 1 Guest are viewing this topic.

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Yet Another Capsense
« on: Tue, 13 October 2015, 03:33:08 »
A few capsense controllers already have existed in keyboard community and I've been interested for long time.
Finally I also implemented capsense controller  using Atmel QMatrix method and tested it with Topre Realfoce 106s.

https://github.com/tmk/capsense_qmatrix


Sorry, this post currently may be mess and halfway. I'll orgnaize this first post better later to offer informations and resources.



Capsense value of Realforce 106S


Capsense value of IBM 4704 62key


Capsense value



Circuit:




Test in the wild
Realforce 106s:

http://imgur.com/a/f5ehq

IBM 4704 62-key:

http://imgur.com/a/3Www5




Atmel QMatrix
Burst length
    number of charge pulses in a burst measurement
    Increasing BL increases signal resolution and sensitivity.
Sampling Resistor
    discharges Sampling Capacitor(Cs) and controls discharge slope.
    Increasing Rsmp increases sensitivity.   
X-Y 
    X transmitter, burst, drive line         
    Y receiver, sense line                   
    YA port: charge transfer control(top)   
    YB port: ADC mux input(bottom)           
self/mutual capacitance sense               
    self                                     
    mutual
ATMEL QTouch Library                         
    supports GCC tool chain                 
    works with AVR with 2K flash(QTouch only)
QTouch                                       
    self                                     
    a button per two pins                   
QMatrix                                     
    mutual                                   
    http://www.atmel.com/products/TouchSolutions/bsw/qmatrix.aspx
QTouchADC                                   
    QTouchADC only requires 1-series resistor and 1-pin per channel. No other external components are required.
    QTouchADC offers faster acquisition times with shorter burst lengths, resulting in lower power consumption.
    Also can be used promixity sensing.     
    http://www.atmel.com/products/TouchSolutions/bsw/qtouchadc.aspx
Charge transfer                             
QTouch Composer                             
    extension for Atmel Studio 6             
                                             
                                             
3.3 Tracking Base Capacitance Value         
http://www.ti.com/lit/an/slaa379/slaa379.pdf
TI explains a patent expired method here. (not mutual sensing)
                                             
Calibrating                                 
    compensate capacitance drift             
http://www.embedded.com/design/prototyping-and-development/4008781/Getting-in-touch-with-capacitance-sensor-algorithms

QTouch and QMatrix Sesitivity Tuning: http://www.atmel.com/images/qtan0062.pdf
    X-Y electrode design(capacitance)       
    Bust length                             
    Sampling Capacitor Cs = 4.7-10nF         
    Sampling Resistor Rsmp = 470K(220K-1M)Ohm
Sensor Design Guide                         
    http://www.atmel.com/images/doc10752.pdf
Promixity sensing                           
    http://www.atmel.com/Images/doc10760.pdf
    QTouch 180mm                             
    QTouchADC 250mm                         
    QMatrix 50mm                             


Resources                                   
mTouch Theory                               
    http://ww1.microchip.com/downloads/en/DeviceDoc/93064A.pdf

Capacitive sensing library for Arduino       
    http://playground.arduino.cc/Main/CapacitiveSensor?from=Main.CapSense
                                             
How Oscilloscope Probes Affect Your Measurement
    Input capacitance of Probes really affect circuit of capacitive sensor.
    http://www.tek.com/dl/51W_30013_0_MR_Letter_0.pdf
                                                                                 
Analog Devices CapTouch                     
    http://www.analog.com/media/en/technical-documentation/data-sheets/AD7147.pdf

IBM patent: Keyboard multiple switch assembly:
    http://www.google.co.ug/patents/US4274752

xwhatsit's explanation on IBM method:
    http://deskthority.net/f-o-r-s-a-l-e-f58/xwhatsit-s-grand-unified-ibm-capsense-usb-controller-thread-t7993-120.html#p165846

Model F keyboards and the 8048
    http://www.halicery.com/Hardware/Intel%208042%20and%208048/Notes%20on%20IBM%20Model%20F%20Keyborads.html


Other projects
xwhatsit's Grand Unified IBM Capsense USB controller thread:
    https://geekhack.org/index.php?topic=58138.0
    http://deskthority.net/f-o-r-s-a-l-e-f58/xwhatsit-s-grand-unified-ibm-capsense-usb-controller-thread-t7993.html

Designing a custom Topre board(attheicearcade):
    http://deskthority.net/workshop-f7/designing-a-custom-topre-board-t11734.html

DPH capsense controller:
    https://geekhack.org/index.php?topic=52922.0


Topre capsense TP1684
This is resource for analyze Topre capsense method(TP1684).

Waveforms of TP1684 and signal charts of scan switches.
http://imgur.com/a/jat2a


« Last Edit: Wed, 25 March 2020, 00:49:13 by hasu »

Offline SpAmRaY

  • NOT a Moderator
  • * Certified Spammer
  • Posts: 14667
  • Location: ¯\(°_o)/¯
  • because reasons.......
Re: Yet Another Capsense
« Reply #1 on: Tue, 13 October 2015, 06:28:15 »
I won't pretend to understand it all but it's awesome to see projects like these. Thanks for all the work you put into things like this hasu.

Offline henz

  • * Exquisite Elder
  • Posts: 1284
  • What?
Re: Yet Another Capsense
« Reply #2 on: Tue, 13 October 2015, 15:00:26 »
Im buying a realforce, love this hasu  :thumb:

Offline swimmingbird

  • * Elevated Elder
  • Posts: 2119
  • Location: Sydney, Australia
  • keyset hoarder
Re: Yet Another Capsense
« Reply #3 on: Thu, 15 October 2015, 08:09:28 »
The community is incredibly lucky to have someone like Hasu with his amazing skills and constant pushing of the envelope :)

Offline wcass

  • Posts: 506
  • Location: Fort Lauderdale, FL, USA
Re: Yet Another Capsense
« Reply #4 on: Fri, 16 October 2015, 13:48:21 »
I was looking at Atmel's SAM D21 which is a Cortex M0+ with USB and 16x16 mutual capacitance. If Atmel's QMatrix will give acceptable performance, that chip would simplify controller design.

Offline megahertzcoil

  • Posts: 34
Re: Yet Another Capsense
« Reply #5 on: Sun, 18 October 2015, 19:04:47 »
I just noticed this post and haven't had the chance to digest all of the posted information.  Anyway, I wanted to say this is super exciting work, as I have really enjoyed working with your TMK firmware on a phosphor glow Model M controller.  I have a Model F AT that could also use a new controller and would consider going this route if/when you think it's ready for wider consumption.


Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Yet Another Capsense
« Reply #6 on: Fri, 25 December 2015, 01:15:09 »
Added graphs on first post, which display change of capcitive sensing value by key stroke on Realforce 106S and IBM 4704(62key).
IBM 4704 has less variation in total compared with Realforoce, but very clear transition and hysteresis by mechanical buckling.



I'm working on analog input mouse keys with Realforce now.

Offline coffeetv

  • Posts: 1
Re: Yet Another Capsense
« Reply #7 on: Thu, 01 December 2016, 07:24:14 »
Thread arise! Any chance research like this could ever turn into an alternative controller for the Realforce? The Realforce is, all said and done, my favorite keyboard and it would be incredible to be able to make it programmable. If I knew the engineering side of this a bit better I'd dig into it myself, but I'm clueless past programming firmware and some light soldering.

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Yet Another Capsense
« Reply #8 on: Tue, 28 February 2017, 00:05:05 »
Added video of waveform of Topre capacitive sensoer TP1684 and signal charts of matrix scan in FC660C.

http://imgur.com/a/jat2a

when pressed


when released
« Last Edit: Tue, 28 February 2017, 00:10:44 by hasu »

Offline Applet

  • Posts: 487
  • Location: Sweden
Re: Yet Another Capsense
« Reply #9 on: Fri, 18 October 2019, 06:16:06 »
Sorry for necro-bumping, but did you ever make any progress on this Hasu? I'm looking at making an attempt myself using the ATSAMD21G18 for making a tray-mount 60% PCB using QTouch/Qmatrix.

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Yet Another Capsense
« Reply #10 on: Sat, 19 October 2019, 18:28:34 »
No new progress.
Interesting project! Share your findings with the community if possible.