I know this thread is relatively old, but just for the sake of correctness.
You say, you’ re using the ACS722 in the 20A AC version, which indicates that you are working with the bidirectional device ACS722LLCTR-20AB. Furthermore, assuming your system voltage for the ACS722 and the ADC is 3.3V, following is the correct explanation:
If you read 0.5 with the AnalogIn read function, it means half the supply voltage. With the ACS722 connected to the analog input it means 0A ( zero amps ). This sounds reasonable if no current is flowing.
The formular for this situation should be like ((ain.read() - 0.5)*VCC)/0.066. Result is in Ampere with a range of +/- 20A. This works for other supply voltage, too. If you use a unidirectional device, just remove the “-0.5” and it should work. If you use a different sensitivity, replace the 0.066 by the appropriate value.