cancel
Showing results for 
Search instead for 
Did you mean: 

ST25R3911 Capacitance measurement

RFlod.2
Associate III

I have RFID reading with ST25R3911 working now with RFAL and  I would like to sense if there is a RFID tag nearby before starting RFID reading.

 

I did not find any example code in RFAL. I looked into data sheet and tried to read the registers:

st25r3911ReadRegister(0x3C, &c);
printf("CapA %d\n\r", c);
st25r3911ReadRegister(0x3D, &c);
printf("Cap %d\n\r", c);
st25r3911ReadRegister(0x2B, &c);
printf("Volt %d\n\r", c);

but I just get zeros:

CapA 0
Cap 0
Volt 176

 

How shall this be done?

1 ACCEPTED SOLUTION

Accepted Solutions

Hi RFlod.2,

yes. But as said I strongly recommend to start from ST25R3911B-DISCO board. It will be working out of the box.

We have looked into the X-NUCLEO-NFC05 and have not found any obvious reason for it to to not work.

Regards, Ulysses

View solution in original post

11 REPLIES 11
Ulysses HERNIOSUS
ST Employee

Hi,

Capacitance measurement is a feature of the Wake-up system. Best if you get the ST25R3911B-DISCO whose GUI has a tab for experimenting with it. Also the related AN4985 will give some explanation. 

From RFAL perspective you have the following entries:

  • st25r3911MeasureCapacitance()
  • st25r3911CalibrateCapacitiveSensor()
  • rfalWakeUpConfig.cap

Please beware that this feature will also react to water/human body and is more susceptible to emission from other radios / fluorescent lamps, etc. than the inductive wake-up system.

BR, Ulysses

I tries the functions and they seem to work. But I get very small changes (on ST devkit) like :

No card: 140

One card:  137

Another card:142

 

When using 

st25r3911MeasureCapacitance(&c);
printf("Cap %d\n\r", c);

Is this expected?

Hi, 

which devkit are you using?

BR, Ulysses

X-NUCLEO-NFC05A1

Hi,

I was not expecting such results. But in my quick experiments I was also not able to get it working as expected X-NUCLEO-NFC05A1. Likely this needs some more investigation.

But I tried again on ST25R3911B-DISCO where this feature was mostly evaluated and there it works within its boundaries. I recommend you get one yourself and use this as basis?

BR, Ulysses

What values do you get with  ST25R3911B-DISCO using st25r3911MeasureCapacitance  when card is present/not present?

 

Would be nice to get it work on NUCLEO-NFC05A1 since I alredy have it. Maybe changing capacitators and/or resistors?

Hi,

I have done quick analysis and didn't spot any difference to the ST25R3911B-DISCO schematic and BOM. So, this will need some detailed analysis. Sorry, but I cannot promise a short term solution for the NFC05. The value I am getting there is 116 at the settings shown here:

ST25R3911BDiscoveryGUI_capwakeup.png

BR, Ulysses

Can you show difference from 116 when a RFID card is close to reader?

I first approached with my hand and then with a small ~22mm ST25TV02K.

BR, Ulysses

ST25R3911B_cap_wu_hand_then_22mmtag.png