Salve a tutti, sono nuovo qui nel forum e spero di non aver sbagliato sezione. Ho un problema con lo sketch di un mio progetto. Ho realizzato un manometro per monitorare la pressione del turbo sulla mia autovettura tramite un sensore di pressione (5V) ed un TM1637. il tutto funziona abbastanza bene, ma i valori che mi compaiono sono diversi dai valori effettivi della turbina. Esempio, al minimo la mia auto vettura dovrebbe avere un valori di -0,70 e nel momento del picco turbina arrivare a circa 1,1 Bar di pressione. Sul manometro leggo come valore minimo -1,41 e come massimo 0,60 Bar. Esiste un modo di correggere i valori convertiti sullo Sketch? Vi allego il mio Sketch.
Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiIN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il succitato REGOLAMENTO ...
... dopo di che, in conformità al suddetto regolamento , punto 7, cortesemente edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita che si trova in basso del tuo post), seleziona TUTTA la parte di codice e premi l'icona </> nella barra degli strumenti per contrassegnarla come codice.
Inoltre, così com'è, non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmdT su un Mac all'intero del IDE). Per maggiori informazioni ... punto 17.2 del succitato regolamento. Grazie.
Guglielmo
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread e sistemato il codice come da regolamento, nel rispetto del citato regolamento nessuno ti risponderà (eventuali risposte verrebbero temporaneamente nascoste), quindi ti consiglio di fare il tutto al più presto.
Il primo problema è che come riferimento per l'ADC di Arduino usi l'alimentazione a 5V che ... tutto è meno che stabile e quindi avrai sempre delle misure che non sono esatte.
Una possibiità sarebbe di abbassare il valore che genera il sensore esterno (es. con un partitore resistivo) nel range 0V .. 1V ed usare il generatore di tensione costante interno ad Arduino che genera circa 1.1V piuttosto stabili (guarda analogReference()).
Poi, naturalmente occorre sempre fare una calibrazione ed agguungere al valore calcolato la correzione data dalla suddetta calibrazione.
Si, sul monitor seriale il sensore da come valore zero! Però appena accelero ed il turbo entra in funzione i valori cambiano notevolmente, è come se non rispettasse la realtà.
Occhio che quello è un sensore 4-20mA ... NON genera una tensione in uscita, ma una corrente ... devi tu, con un carico resistivo trasformarla in tensione da dare in pasto ad Arduino !!!
Cerca su Google, troverai esempi di come si usano questo tipo di sensori.
Inoltre serve trovare il datasheet del sensore, per sapere se misura pressioni assolute o relative, e conoscere esattamente il fondo scala, dato che viene venduto in 5 differenti fondo scala (citati 3 ed elencati due uguali, già questo la dice molto sull'affidabilità della documentazione)
Certo. Partendo dal presupposto che per la realizzazione di questo progetto mi son basato su alcuni video caricati su Youtube di qualche persona inglese che usava il mio stesso sensore (con massimale 100psi). il mio sensore ha un massimale di 30 PSI = 2,08Bar (Ciò che mi serve per la mia auto). Queste persone ho visto che lavoravano su delle costanti ed impostavano loro manualmente il valore ZERO a circa 102,4, il valore massimo a 921,6 che sommati otteniamo sempre 1024.
in Allegato il video su cui sto basando le mie teorie
Emmm ... scusa ma non capisco il senso di questa affermazione ...
Il ADC di arduino da un numero INTERO ch va da 0 a 1023 (ovvero 1024 gradini diversi) ... ritorna 0 quando sul pin analogico sono presenti 0V e 1023 quando sul pin analogico è presente una tensione pari o superiore alla tensione di riferimemto scelta (sempre nei limiti della massima tensione che Arduino sopporta). Ovviamente, per valori intermedi di tensione, da valori intermedi INTERI compresi tra tali due estremi.
Quindi ... non riesco a capire i valori con la vigola che riporti ... cosa sono? I valori del ADC sono solo numeri interi ...