From the library, to convert the sample reading to current is:
double I_RATIO = ICAL *((SupplyVoltage/1000.0) / (ADC_COUNTS));
Irms = I_RATIO * sqrt(sumI / Number_of_Samples);
Short form:
Irms = (Sample_RMS/ADC_COUNTS) * VREF * ICAL
Assume, if Sample_RMS = 500, VREF = 3.3V, ADC_COUNTS = 1024, the ct sensor is SCT-013-000, ICAL = 2000/22 = 90.9.
The Irms will equal to 146.47A which is much larger than the 100A.
What I had wrong understand at here? Is the ICAL is a random number?
No, it is the current in the c.t. primary winding (i.e the cable) that gives 1 V at the ADC input. Both current and voltage must be expressed in the same measurement type - both rms average, or both peak, or both peak-peak, etc.
Your problem is, why or how can Sample_RMS = 500 be true? If you have a true sine wave input of 1024 counts peak-peak, what will the rms be in counts?
Sample_RMS = 500 can only ever be true under one very unusual condition. What is that? (Hint: think about what shape of wave you will need, given the maximum amplitude is 512 counts.)