cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

Anonymous
Not applicable

Hi,

I started a new design with CY8CMR3102, used a STM32F103 MCU to configure and read the raw data from Sensor by I2C.

The PCB is a round shape(6cm diameter), a 1mm wide trace on edge of board as Proxmitiy sensor's antenna ( connects to CS0 pin though a 560ohm resistors).

CMOD is 2.2nF.

Here is the problem: the raw data I retrieved from sensor drifting a lot. In amibent temperature, the board will take 1 mintues to stay on the stable reading level. Then I put the board on temperature chamber running from -20(C) degree to +70(C)degree, monitoring the raw data, it will drift singanificant amount. I did try different configuration by setting different sensitivity value, different filters, enable/disable EMC function, but none of them can stop the raw data drifting.

My first guess is the whole pcb 's capacitance would impact the CMOD pin?  Or some charging/discharing problem between the proximity sensor antenna and the ground plane?

Any suggestions/thoughts will be greatly appreciated!

0 Likes
Reply
1 Solution
Moderator
Moderator

rawcount is a testing result, not a calculate value, I think the user has no right to avoid it drifting.

pastedImage_0.png

View solution in original post

0 Likes
Reply
3 Replies
Moderator
Moderator

Why do you want to only get the rawcount? Or can you tell us why do you care the rawcount drift?

I think in some environment, the rawcount drift is normal. Capsense use the "rawcount - baseline" to decide whether the sensor has been trigger.

I think you should try to read the diff count.

0 Likes
Reply
Anonymous
Not applicable

My first attempt is get the proximity status from sensor by reading the register, however no matter what configurations I chosed, the output always not as good as expected.

Then I read the rawcounts and designed my own algorithm to determine the baseline, calculate the ‘raw - baseline'  and determine the proximity status . I did apply a certain level of differentiation, filters to distinguished different hand's movement,  the output is much better.

However the rawcount is drifting, if I can fixed it, I will be able to generate the much better software for my application.

Any inputs will be appreciated.

0 Likes
Reply
Moderator
Moderator

rawcount is a testing result, not a calculate value, I think the user has no right to avoid it drifting.

pastedImage_0.png

View solution in original post

0 Likes
Reply