Analog read different with external and usb power

First of all: I don't know your code, but if reading is not in a fast loop, for a correct value you have to do two readings:

analogRead(Ain); value=analogRead(Ain);