Non hai sbagliato .
I sensori ACS712 (che adoro) hanno i loro limiti e bisogna conoscerli per farli lavorare correttamente.
Partiamo dallo zero.
Quando non scorre corrente nel sensore ,la tensione in uscita sarà uguale a metà dell'alimentazione.
Questo significa che se alimentato a 5V troverai sul Vout 2.5V .
Bé è giusto ,ma bisogna tenere in considerazione delle possibili differenze .
La soluzione più semplice è far misurare ad Arduino la tensione del sensore senza carico e sfruttare tale valore come zero del sensore .
Si chiama Offset

.
Quindi misurando l'offset prima delle misurazione avrai l'indicazione a 0.
Per le oscillazioni invece dipendono da tanti fattori.
Esistono due metodi per ridurli e eliminarli ,uno hardware ed uno software.
L'hardware è un semplice filtro passa basso composto da una resistenza e un condensatore.
In molui casi risolve completamente le fastidiose oscillazioni .
Una R da 22K e un condensatore da 100nF dovrebbero essere sufficienti .
Il metodo software è far eseguire al Micro diverse letture e calcolarne la media.
Vabbe' questa è la teoria ...
Appena posso ti posto un codice di esempio
Un saluto
Elettro