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.
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.
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.
Stai semplicemente facendo un'operazione matematica ... una proporzione ...
VOUT sta a VIN come R2 sta a (R1+R2)
chè vuoi perdere?
Guglielmo
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.
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?
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.
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.
Grazie mille ragazzi, @docdoc ho anche appena visto il video che mi hai mandato, non mi resta che fare delle sperimentazioni
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.