AnsweredAssumed Answered

PCF8883 capacitive touch sensor unreliable in push-button mode

Question asked by Ted Jackson on Aug 11, 2019
Latest reply on Aug 15, 2019 by Ted Jackson

Hi.  I'm testing the PCF8883 aboard the UM10370 demo board.  I'm finding that if jumpered into Pulse or Toggle mode, it works quite reliably.  However, if jumpered to Push-Button mode, it is unreliable.  The LED aboard the demo usually just stays on indefinitely (locks up).  But I need Push-Button mode, because I need to capture the moment when the touch pad is no longer touched as well as when it is first touched.  Can anyone offer me any suggestion as to how I might get Push-Button mode to work reliably?  Thanks so much.




My need requires a rather large sensor plate area (about 15 cm x 7.5 cm) and about a 10 cm coax to the sensor electronics and I'm using a solid (unhatched) pcb ground plane of sorts, so I suspect the lock-up in push-button mode is related to a too high input capacitance.  I might try hatching the large sensor area (and the ground plane) if other remedies prove futile.  I'm using the demo board with its default component values described in doc UM10370.  One of the posters mentioned:


"If the sensitivity of Ccpc is set closer to the upper limits or the sampling frequency is increased, the sensor can be put in a state where a sense event triggers and the output remains high forever after. The type pin is grounded (pushbutton mode), but the capacitive event should clear when your hand is pulled away. This lock up does not occur with middle range Ccpc and Clin values.  We are trying to push the sensing distance out as far as possible, so there may be an increased susceptibility to noise, but it only seems to lock after a sense trigger."


The documents recommend first getting the sensor to switch reliably, which I assume the lock-up to be symptomatic of, so the 5 step process in UM10370 for first getting reliable switching would seem to be the first task, which I read as follows:


1) "CIN is the total input capacitance (CSensor + Ccable + CF). CF should be chosen such that CIN is about 30 pF. This can be checked by measuring the voltage over CCPC which should then be about 1/2 VDD."  On the demo board, I should measure VCPC @ TP2 (jumpering J12 and then J16 to avoid CMOS lock-up of the on-board buffer).  Since I'm powering the demo board from the USB, I must assume (never stated therein) a VDD of 3.3V.  Thus, I should expect a VCPC of about 1.65V at TP2.  So I should vary CF to arrive at that voltage.


2) "RS and CF form a low pass filter. The typical values are likely to be correct for most applications." and a typical value of 6.8k is mentioned.  6.8k is not the value of the resistor (5.1k) currently aboard the demo board.  RS(R2) along with CF(C1) form a low pass filter at the input, so to reduce sensitivity to high frequencies, I'd need to increase RS(R2) to increase the time constant to decrease the 3dB point frequency of the filter.  Cutting the 5.1k resistor right off the board (or cutting its trace) and substituting another resistor at RU2 would be the only way to increase the input effective series resistance, otherwise I'd just get a (lower) parallel resistance by adding another at RU2 without the cut.


3) "This resistance (RC) compensates large input capacitances (long coaxial cable, larger sensor plate area). Smaller resistor values should be used with larger input capacitances."  I'll observe the 5k(min) 39k(typ) 50k(max) criteria for the effective resistance. In that case, I can leave the default R1 resistor in parallel and just add an additional RC resistor at RU1 to reduce the effective resistance with a parallel resistance.


4) "CCPC determines the sensitivity of the sensor. If the sensitivity is increased, the possibility of incorrect switching due to interfering electrical fields is also increased."  Since my large sensor plate increases the sensitivity and I'm evidently getting 'incorrect switching', I should reduce CCPC for lower sensitivity using an X7R (low leakage) ceramic chip capacitor observing 90nF(min), 470nF(typ), 2500nF(max).  Unfortunately, the only way to reduce CCPC is to cut the default CCPC(C6) right off the board and substitute another between the holes/pads at CU6, since adding a parallel CCPC will only increase the effective CCPC.


5) "CCLIN determines the internal sampling frequency and therefore the reaction time of the switch. Smaller values of CCLIN correspond to shorter reaction times."  Shorter reaction times correspond to higher sampling frequencies, so I should increase Clin for a lower sampling freq observing 0nF(min), 22(typ), 100pF(max).  So, to get a larger value, I can leave the existing CCLIN and place and another capacitor between the CU4 holes/pads, since parallel capacitances are cumulative. that order.  But I think it would best to go straight for steps 4 and 5 though, considering the poster's advice.