Buongiorno a tutti,Avrei bisogno di creare un lettore di un sensore di pressione con uscita analogica da 0 a 10 volt, qualcuno in grado di aiutarmi?o meglio come faccio a collegare ad Arduino questo sensore con uscita a 10 v se la porta analogica arriva a 5?grazie
Buonasera e benvenuto nella sezione Italiana del forum,
prima di tutto ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana ... la prossima volta potrebbe venire direttamente eliminato, dopo di che ...
... cortesemente, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15) e poi, come da suddetto regolamento, fai la tua presentazione NELL'APPOSITA DISCUSSIONE spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.
Grazie,
Guglielmo
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto. ![]()
Porgo le mie scuse ,in futuro cercherò di fare piu attenzione ,grazie per il messaggio
Dovrebbe bastare un partitore resistivo con rp (rapporto di partizione) 0.5.
Vout = Vin x rp = 10 x 0.5 = 5
2 resistori da 10000 ohm (10k) in serie collegati così:
+___________ 10k _____________ A0
10V |
____ 10k ____
-_______|______________________ GND
Ciao.
Come ti è stato detto, devi fare un "partitore di tensione" il cui schema corretto è però il seguente:
Puoi trovare tutti i dettagli e le formule QUI.
Guglielmo
@Maurotec: nel tuo schema hai connesso A0 a GND ... ![]()
Buongiorno,inanzitutto parto col ringraziarvi delle risposte tempestive,ho un'altra domanda...siccome il 10 v in questione è l'output segnale che il sensore mi rimanda portandolo da 10 a 5 v avrò lo stesso letture del segnale giuste?avrò un segnale pulito o dovrò utilizzare dei filtri?grazie in anticipo
Stai solo facendo una divisione quindi tutto srà rapportato linearmente senza altre variazioni.
Ti suggerisco di fare il partitore resistivo in modo che il valore finale sia <5V che è il massimo che il pin di Arduino può sopportare, questo perché, se a causa delle tolleranze dei componenti, ti ritrovi poi in uscita un valore >5V hai problemi.
Ricordando che:

calcoli facilmente che, con R1 di 1500Ω ed R2 di 1000Ω, con 10V su Vin hai 4V su Vout che sarà sempre ben distante dai 5V massimi. Il rapporto lineare è 0.4 quindi, con 1V in ingresso avrai 0.4V in uscita, con 5V in ingresso avrai 2V in uscita e con 10V in ingresso avrai 4V in uscita ... salvo tolleranze dei componenti (il che significa che dovrai verificare con il multimetro i valori esatti
)
Guglielmo
Ecco la tolleranza la stavo tralasciando...contando che è sempre x difetto avrei avuto >5 ..grazie di avermelo ricordato ...ora provo a farlo e vi farò sapere ,grazie
Dal punto di vista hardware si può aggiungere un condensatore 100 nF tra ingresso analogico e GND (in parallelo alla R2 dello schema precedente), dal punto di vista software si può fare la media di N letture (magari spaziate di 10 ms per annullare eventuale ronzio di rete a 50 Hz).
Poi come dice gpb01 serve una calibrazione per eliminare gli errori dovuti alle tolleranze delle resistenze e dell'alimentazione. Basta una sorgente 10 V precisa e leggere il valore massimo riportato dall'ADC, dopo di che passare aritmeticamente da Pmin/Pmax a 0/10V a ADCmin/ADCmax e di nuovo a Pmin/Pmax è solo una trasformazione lineare.
il tutto sta ad avere un 10 v stabilizzati....l'unica cosa che posso fare è usare un'alimentazione da banco stabilizzata per il test...scrivere il programma e poi affidarmi all'uscita che il sensore (molto costoso (250 euri)ma ciò nn vuol dire che sia perfetto)mi da...
Da misurare col multimetro più preciso che hai, non basta affidarsi alla lettura dello strumento dell'alimentatore.
E poi, visto che Arduino usa la tensione di alimentazione 5V come riferimento per l'ADC, e questa da un alimentatore all'altro può variare anche di più di 0.1V, la lettura dell'ADC va fatta usando l'alimentazione 5V definitiva.
Puoi anche usare il riferimento interno di Arduino Uno a 1,25V facendo un partitore 10 : 1,25, quindi con due resistenze proporzionali a 8,75 e 1,25 (la cui somma è 10). Per esempio, puoi usare 8k2 più un trimmer da 1kohm per R1 e 1k2 per R2. Con il trimmer farai la taratura.
Cambia poco, il riferimento interno è stabile, ma NON preciso, quindi, comunque occorre calibrare. ![]()
Guglielmo
Infatti ho previsto il trimmer! ![]()
Almeno, però, è indipendente da fluttuazioni e rumore sui 5V.
il problema è che non avrò MAI la stessa alimentazione, sicuramente dovrò pensare ad una soluzione
E allora la cosa più semplice per non aggiungere altri componenti è usare il riferimento di tensione interno, che può essere diverso da un tipo di Arduino all'altro, ma è stabile. Va ricalcolato il partitore per rientrare nei limiti del riferimento e comunque eseguita una calibrazione con una tensione 10V di riferimento precisa.
voglio utilizzare un nano v3...anche x questioni di spazio...appena faccio la prova (in questi giorni) vi aggiorno, grazie per i preziosi consigli.
Fai sapere! ![]()
Ciao
Gianluca
Buongiorno,eccomi ancora, allora il sensore è arrivato : è un 4 fili
ovviamente differente da quello a cui mi riferivo...entrata da 14-28 volt e sempre un'uscita da 10 v che seguendo questa tabella
potrei farlo uscire a 5 volt ...ho interpretato bene?ora mi chiedo....usando un'alimentatore esterno da 24 volt e mettendo 2 resistenze da 10 k tra il neutro e il vout dovrei avere un'uscita di 5 volt esatto?grazie
Ragazzi buongiorno,ho un serio problema,ho collegato il sensore e ho provato a lanciare un semplice "analogRead(A0)" ma i dati che mi tornano sono spropositati ...un range da 0 a più di 9000 molto salterino...allora ho provato a togliere il pin e ho gli stessi dati ......ho provato col multimetro a misurare la porta A0 e o 0.5 v (102) ma se provo a fare una conversione cioè il mio dato di porta A0 * 0.34 che è il valore ottenuto suddividendo i dati del sensore con 1024 ,a schermo mi da sempre 0.....ho provato su 3 board ed è sempre lo stesso risultato quindi penso che il problema sia a livello di programma o collegamenti....qualche anima pia che può darmi una mano?grazie in anticipo




