Lettura instabile ingresso adc

  • marcoilgrande
  • Autore della discussione
  • Giovane Utente
  • Giovane Utente
Di più
1 Settimana 1 Giorno fa #1 da marcoilgrande
Lettura instabile ingresso adc è stato creato da marcoilgrande
Buongiorno a tutti,
sto cercando di leggere un valore di tensione variabile da 0 a 5v proveniente da un sensore di corrente ad effetto hall. Il problema e che le letture sono molto instabili leggo anche valori differenti di 50 bit mentre il segnale apparentemente con il tester e sempre costante a 2,44v.
ho provato a mettere un condensatore ma senza grandi risultati. Purtroppo non ho un oscilloscopio per vedere come e il segnale. Che posso fare?

grazie mille a tutti

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
1 Settimana 11 Ore fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Lettura instabile ingresso adc
Salve Marco,

potresti fornire più informazioni sul sensore (Modello) e come questo è collegato con il PIC?
potresti condividere la parte di codice che inizializza l'ADC e la lettura del canale ADC?
Come viene alimentato il PIC, hai uno schema dell'alimentatore?

Saluti,

Mauro Laurenti

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • marcoilgrande
  • Autore della discussione
  • Giovane Utente
  • Giovane Utente
Di più
6 Giorni 22 Ore fa #3 da marcoilgrande
Risposta da marcoilgrande al topic Lettura instabile ingresso adc
il pic è un 18f46k22. E' alimentato da un dc/dc cinese basato su LM2576 che restituisce 5v che a sua volta è alimentato da un dc/dc 48v/12v meanwell. 
Leggo anche delle tensioni, e qui l'errore massimo non supera i 4 bit.
Dimenticavo di dire che faccio anche 4-5 letture e poi ne ricavo una media, ma su letture consecutive trovo anche 30 bit di differenza mentre la tensione sull'ingresso del pic con il tester resta invariata. ovviamente le masse del pic e quella del sensore sono collegate.
ecco il codice:

unsigned int leggi_ADCHQ (unsigned char NUMERO_CAMPIONI, unsigned long int canalee, unsigned int canal) {

        char volte=0;
        int letture=0;
        int lettura=0;

        for(volte=0;volte<NUMERO_CAMPIONI;volte++){
            ADC_select_channel (canalee);
            ADC_start_conversion();
            while(ADC_is_converting());
            delay_ms(50);
            lettura=ADC_read_value();
            letture =letture+lettura;

        }

        //calcolo la media
        letture=letture/NUMERO_CAMPIONI;
        //restituisco la media
        return (letture);
}

man.c

ADC_open(CH_IPP + CH_IP1 + CH_IP2);  
LIpp=  leggi_ADCHQ (6,CH_IPP,4);

Purtroppo come già detto ho un errore molto alto, anche 30 bit.
cambierebbe qualcosa alzare i tempi di campionamento?
Come posso arrivare a massimo 3 bit di errore?

Grazie,
Marco
 

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
6 Giorni 5 Ore fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Lettura instabile ingresso adc
Salve Marco,
probabilmente il problema è il LM2576 . 
In particolare molte schedine cinesi su ebay non hanno Cout idoneo e il ripple è molto alto.
Vcc è usato dal microcontrollore come tensione di riferimento per il modulo ADC.
Se Vcc non è una tensione stabile puoi avere i problemi che vedi.

prova ad aggiungere 100-470uF 16V o più sulle linee + e - dei 5V con cui alimenti il microcontrollore, con in parallelo 100nF.
Dovresti avere anche 100nF in parallelo a tali linee in prossimità sia del sensore che del microcontrollore.
Dovresti avere dei miglioramenti con errore a pochi quanti.

Successivamente si deve vedere anche il tempo di acquisizione e l'impedenza del sensore rispetto all'ADC. Questo può contribuire ad un errore ma nel tuo caso è probabile che sia del secondo ordine.

Saluti,

Mauro Laurenti

Si prega Accesso o Crea un account a partecipare alla conversazione.

Moderatori: Mauro LaurentiStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Forum - Ultimi messaggi