Go Down

Topic: Campionamento sinusoide 50Hz problema (Read 163 times) previous topic - next topic

irolokirt

Oct 11, 2018, 06:15 pm Last Edit: Oct 11, 2018, 06:21 pm by irolokirt
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

Code: [Select]
byte Apin1=2;
float Vs=0;


void setup() {


  Serial.begin(9600);

  
}

void loop() {
   Vs=analogRead(Apin1)*0.00489;
   Serial.println(Vs);
}


allego un grafico di quello che ottengo in rosso ,in blu il segnale da campionare.

gpb01

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Ω

Guglielmo
Search is Your friend ... or I am Your enemy !

uwefed

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?

Ciao Uwe 

irolokirt

l'impedenza di uscita è 20ohm

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

gpb01

#4
Oct 12, 2018, 06:54 am Last Edit: Oct 12, 2018, 06:54 am by gpb01
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.

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up