Devo svolgere una funzione in cui bisogna fare una misurazione di un segnale analogico senza però un riferimento fisso cio'è si deve adattare al primo valore iniziale letto. In pratica si fa la calibrazione: si legge il segnale e viene posto come il 100% (misurazione in %) poi da quel momento in poi mano a mano che cala deve calare in proporzioni percentuali.
Per fare questo ho pensato al pi16f1788 con un adc e un dac interni, in maniera che alla prima misurazione leggo con l'adc il valore effettivo di tensione lo memorizzo e lo riporto all'esterno riconvertito con il dac lo pongo fisso sulla tensione di riferimento dell'adc, in maniera che da ora in poi legga il 100% in base a quel riferimento, così dovrei riuscire a svolgere questa funzione in teoria, ma in pratica qualcuno di voi l'ha già fatto?? può funzionare??
Altrimenti per non utilizzare il dac avevo pensto a calcoli matematici cervellotici ma rimane un certo tasso d'errore, abbastanza elevato.
O magari qualcuno ha uno spunto differente al riguardo, ringrazio anticipatamente.
Conversione A/D con riferimento di tensione variabile
Moderatori:
carloc,
g.schgor,
BrunoValente,
IsidoroKZ
8 messaggi
• Pagina 1 di 1
0
voti
redfox001 ha scritto:Altrimenti per non utilizzare il dac avevo pensto a calcoli matematici cervellotici ma rimane un certo tasso d'errore, abbastanza elevato.
Cosa ci sarebbe di tanto cervellotico a calcolare la percentuale del segnale attuale rispetto al primo segnale già memorizzato? Naturalmente i calcoli vanno fatti con le solite cautele, sfruttando i bit a disposizione. Siamo sicuri che adottando un riferimento esterno minimizzato in quel modo, la precisione migliorerebbe?
0
voti
Infatti non dico che non sia fattibile tramite dei calcoli, ho provato va non mi viene un valore molto preciso, ma in calcoli aritmetici con i PIC infatti non sono un esperto.
Ok quindi mettiamo che alla prima misurazione il valore letto in digitale come riferimento sia 173 come lo dividi per 100, risultato 1,73 numero decimale che va scalato mano a mano per ottenere sulla visualizzazione di lettura un numero intero 99, 98, 97% e così via, come faresti tu in assembler??
Ok quindi mettiamo che alla prima misurazione il valore letto in digitale come riferimento sia 173 come lo dividi per 100, risultato 1,73 numero decimale che va scalato mano a mano per ottenere sulla visualizzazione di lettura un numero intero 99, 98, 97% e così via, come faresti tu in assembler??
1
voti
Domande:
1) Da dove arriva il segnale?
2) Puoi quantificare la variabilità del primo campione? Ovvero, ti aspetti che possa variare, p.es., tra 1 mV e 1 V o tra 0,9 V e 1,1 V?
3) Sei sicuro che i valori successivi siano sempre inferiori al primo?
1) Da dove arriva il segnale?
2) Puoi quantificare la variabilità del primo campione? Ovvero, ti aspetti che possa variare, p.es., tra 1 mV e 1 V o tra 0,9 V e 1,1 V?
3) Sei sicuro che i valori successivi siano sempre inferiori al primo?
It's a sin to write
instead of
(Anonimo).
...'cos you know that
ain't
, right?
You won't get a sexy tan if you write
in lieu of
.
Take a log for a fireplace, but don't take
for
arithm.
instead of
(Anonimo)....'cos you know that
ain't
, right?You won't get a sexy tan if you write
in lieu of
.Take a log for a fireplace, but don't take
for
arithm.-

DirtyDeeds
55,9k 7 11 13 - G.Master EY

- Messaggi: 7012
- Iscritto il: 13 apr 2010, 16:13
- Località: Somewhere in nowhere
0
voti
Allora funziona così questo segnale arriva a un massimo di 2 volt analogico facciamo conto che arriva a 0,70 volt con una lettura con tensione di riferimento 4,096 (buffer fvr) e una risoluzione 10 bit 1024 vuol dire che il campionamento minimo sarà di 4 mV e quindi 0,7 volt li leggerà con un numero digitale di 175, d'ora in poi questo sarà il 100%.
La lettura sul display ha una risoluzione dell' 1% senza decimali, quindi ora come calcolare lo scostamento minimo dell' 1% da scalare mano a mano che il segnale analogico lentamente con il tempo cala in maniera lineare e uniforme??
La lettura sul display ha una risoluzione dell' 1% senza decimali, quindi ora come calcolare lo scostamento minimo dell' 1% da scalare mano a mano che il segnale analogico lentamente con il tempo cala in maniera lineare e uniforme??
0
voti
E le risposte alle domande che ti ho posto?
It's a sin to write
instead of
(Anonimo).
...'cos you know that
ain't
, right?
You won't get a sexy tan if you write
in lieu of
.
Take a log for a fireplace, but don't take
for
arithm.
instead of
(Anonimo)....'cos you know that
ain't
, right?You won't get a sexy tan if you write
in lieu of
.Take a log for a fireplace, but don't take
for
arithm.-

DirtyDeeds
55,9k 7 11 13 - G.Master EY

- Messaggi: 7012
- Iscritto il: 13 apr 2010, 16:13
- Località: Somewhere in nowhere
0
voti
Effettivamente, se il segnale ha valori di tensione molto più bassi rispetto al riferimento massimo del convertitore, può essere utile intervenire sul riferimento di tensione quando la risoluzione del convertitore non è molto elevata, ed esempio nei comuni convertitori a 10 bit od a 12 bit. Avevo fatto così in un progetto poi anche pubblicato in un articolo sul mio blog. Regolando il riferimento si ottiene tutto il campo di lavoro del convertitore per il range di tensione desiderata.
La via software è più comodo ed agevole quando il convertitore ha una risoluzione più elevata, ad esempio, un 16 bit avrebbe, con tensione di riferimento a 5 V, una risoluzione di 8 uV, permettendo praticamente di risolvere tutto via software.
Quindi in primo luogo dovresti capire quale risoluzione minima ti occorre, a questo punto, imposterai il problema, o con il riferimento variabile tra alcuni valori selezionabili tramite multiplexer, oppure con un riferimento di tensione a sua volta variabile, ma in questo caso, con molta attenzione alla stabilità del riferimento.
La via software è più comodo ed agevole quando il convertitore ha una risoluzione più elevata, ad esempio, un 16 bit avrebbe, con tensione di riferimento a 5 V, una risoluzione di 8 uV, permettendo praticamente di risolvere tutto via software.
Quindi in primo luogo dovresti capire quale risoluzione minima ti occorre, a questo punto, imposterai il problema, o con il riferimento variabile tra alcuni valori selezionabili tramite multiplexer, oppure con un riferimento di tensione a sua volta variabile, ma in questo caso, con molta attenzione alla stabilità del riferimento.
-

Candy
32,5k 7 10 13 - CRU - Account cancellato su Richiesta utente
- Messaggi: 10123
- Iscritto il: 14 giu 2010, 22:54
0
voti
Ok grazie della risposta, ma appena mi arriva il programmatore pickit3 necessario per il pic16f1788 voglio provare la soluzione detta inzialmente con il DAC che gli da il riferimento all' ADC in base alla prima lettura e vediamo come va, l'unico timore è che dando questo riferimento su +vref dall'uscita del DAC magari venendo da circuiteria interna allo stesso PIC magari non funzioni correttamente.
8 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 55 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

