Salve sto testando la funzione analogRead di arduino ,ma ho riscontrato un problema un po strano .
il segnale da campionare è una sinusoide con componente continua di 2.5Volt ampiezza 0.754Volt e frequenza 50Hz
il problema è che per i primi 10-15 campioni è ok ,ma dopo si crea una sorta di inviluppo come se la frequenza di campionamento o la frequenza del segnale cambiassero
Quale è l'impedenza del generatore del segnale ? Perché se fosse troppo alta non avresti corrente sufficiente per caricare in tempo il condensatore di S/H del ADC e quindi avresti valori errati ...
Atmel specifica che l'impedenza della "sorgente" del segnale deve essere < 10 KΩ
Serial.println(Vs); dove il valore trasmesso presumo che sia di 3 cifre dura con 9600 Baud 8N1 circa 4ms. Hai in un periodo di 20ms solo ca 5 campionamenti.
Cosa succede se aumenti la velocitá della seriale?
se fosse un problema di ritardi non capisco come mai per i primi campioni sia corretto e il problema si presenti solo dopo 10 15 campioni.
appena posso provo a vedere cosa succede aumentando la velocità seriale
irolokirt:
se fosse un problema di ritardi non capisco come mai per i primi campioni sia corretto e il problema si presenti solo dopo 10 15 campioni.
... Ok per l'impedenza, va bene ... invece il problema della seriale c'è. All'inizio hai il "buffer" vuoto e quindi vai a piena velocità, dopo un po' il buffer si riempie e quindi la velocità cala ai tempi che ti ha indicato Uwe.