Convertire un segnale analogico da 5V a 3.3V

Buongiorno
Ho un sensore che mi da in uscita una tensione che varia fra 0 e 5V, non posso quindi misurarla direttamente con un Arduino Due o un Giga poiché le schede hanno una tensione massima di 3,3V. Il modo migliore per leggere il segnale senza perdere precisione è usare un ADC esterno o esiste anche qualche altro modo?

Un semplice partitore non ti basta?


Ti basta calcolare le resistenze in base al rapporto tra Vin e Vout:
Vout/Vin = R2 / (R1+R2)

Se non hai pratica, prova ad usare QUESTO per calcolare.

1 Like

Così non vado a perdere precisione nel segnale? Visto che sto riducendo la gamma di tensioni che leggo?
Sto usando un sensore che mi da i valori compresi tra 0 e 5V non solo 0 e 5V

La "precisione" è legata alla conversione in digitale, quindi alla risoluzione ed alla precisione del convertitore che usi, non nel livello.

1 Like

Ma quindi riducendo l'intervallo dei valori di tensione del segnale in modo proporzionale da 0-5V a 0-3.3V non vado a perdere alcuna informazione nel segnale? Cioè nel processo di scaling perdo informazioni cruciali dal segnale originale?

Non è uno scaling digitale nel quale puoi perdere informazioni, ma è una riduzione analogica dell'ampiezza del segnale (d'altronde l'equazione non è mica discreta...).
Vedila come quando "abbassi il volume" dello stereo, diciamo.

1 Like

Stai semplicemente facendo un'operazione matematica ... una proporzione ...

VOUT sta a VIN come R2 sta a (R1+R2)

chè vuoi perdere?

Guglielmo

1 Like

Da 0V a 5V ci sono infiniti valori.
Da 0V a 3.3V ci sono infiniti valori.
Sono infiniti perché 0.0000000001 e un valore differente da 0.00000000999999999987878787.

Si perde qualcosa quando converti il segnale analogico con un convertitore da 8-bit (256 valori), rispetto ad uno da 16-bit(65536 valori).

Il partitore introdurrà un minimo di rumore che dovrebbe essere trascurabile. Il rumore può essere ridotto attraverso un filtro che nella pratica si riduce ad un condensatore da 1÷10nF tra il pin e GND. Oppure il rumore essere sfruttato per un tecnica di oversampling ma questo è un altro discorso.

Ciao.

1 Like

Grazie mille, tu mi consigli di usare un partitore o un operazionale con guadagno appropriato per ridurre la tensione?

Dipende dalla frequenza di acquisizione, dal convertitore e dalla configurazione di questo, come pure dal sensore.
Per la sperimentazione su breadboard il partitore in genere è consigliato perché è semplice e occupa poco spazio.
Mentre in applicazione finale se necessario l'operazionale lo si impiega come buffer, cioè a guadagno unitario, ma il partitore c'è sempre. Il vantaggio è che la impedenza vista dal convertitore è ottimale.

Qual'è il sensore?

1 Like

Il sensore è quello al seguente link.

Volevo usare come convertitore analogico digitale l'adc di Arduino e raggiungere un frequenza di acquisizione di 1kHz

Procederei sperimentalmente con il partitore su breadbord.
Il codice colleziona n campioni in un array, un campione ogni 1/1000Hz.

Riempito totalmente l'array non acquisisce più campioni ma stampa quelli presenti nell'array e allora analisi post-process da cui ricavi anche i parametri di taratura.

Ti servirà un compressore e magari anche uno strumento misuratore professionale da usare come riferimento, in mancanza puoi usare il manometro con tutte le conseguenze sulla percentuale di errore assoluto.
Ma ciò che è importante è la ripetibilità della misura, cioè 10
misure di pressione differente e una di pressione di riferimento, ripetuto il tutto 10 volte. La pressione di riferimento deve essere identica a quella del manometro.

Ciao.

1 Like

A completamento di quanto detto giustamente da @Maurotec, hai provato a vedere questo video?

Ovviamente la soluzione con il partitore è praticabilissima, a patto che tu abbia le due sorgenti i alimentazione (3.3V per il Giga, e 5V per il sensore). E poi mio personale commento: sicuro che quel sensore debba lavorare per forza a 5 V? So che quel venditore è inese e già non si capisce quasi una mazza della descrizione, ma se cerchi un po' di informazioni tecniche o datasheet, magari alimentandolo a 3.3V funziona lo stesso, senza quindi né partitore né alimentazione separata.

1 Like

Grazie mille ragazzi, @docdoc ho anche appena visto il video che mi hai mandato, non mi resta che fare delle sperimentazioni :slight_smile:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.