- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!
Solved! Go to Solution.
- Labels:
-
PSoC 4 Architecture
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
rawcount is a testing result, not a calculate value, I think the user has no right to avoid it drifting.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
rawcount is a testing result, not a calculate value, I think the user has no right to avoid it drifting.