Salve a tutti,
Sto lavorando alla progettazione di un ADC a doppia rampa e ammetto di non essere molto pratico in materia, quindi volevo chiedere aiuto. Ho optato per una risoluzione di 10 bit e una frequenza di campionamento di 1 kHz. Il clock del mio microcontrollore è di 8 MHz, quindi ho un tempo di integrazione di circa 128 μs.
Il mio problema sta nella scelta dei valori di resistenza (R) e capacità (C) per il mio integratore e, di conseguenza, il calcolo della costante di tempo. Qualcuno sa come potrei procedere per il calcolo della costante di tempo?
Grazie.
Calcolo dei Valori di R e C per ADC a Doppia Rampa a 10-bit
Moderatori: carloc,
IsidoroKZ,
g.schgor,
BrunoValente
11 messaggi
• Pagina 1 di 2 • 1, 2
0
voti
Ho optato per una risoluzione di 10 bit e una frequenza di campionamento di 1 kHz. Il clock del mio microcontrollore è di 8 MHz, quindi ho un tempo di integrazione di circa 128 μs.
Non mi ricordo bene come procedere.
10 bit sono un conteggio di 1024 valori.
1 kHz sono 1 ms intervallo campionamento
1/ 8 MHz sono 0,125 us
1024 x 0,125 us = 128 us ok.
Supponiamo una tensione di riferimento Vrif = 5 V, vuoi che scenda con una rampa a zero al massimo in 128 us.
Quindi deltaV = 5 V
delta V = (1/tau) x 5 x 128 us
tau = 5x128/V = 128 us costante di integrazione
tau = R x C , supponiamo R = 10 kohm
viene C = 128 u /10k = 12,8 n quindi 12,8 nF nanofarad.
Il valore non deve essere preciso, perché quello che interessa è il rapporto fra i due conteggi.
Chissà se quanto ho scritto è corretto?
Dovresti disegnare lo schema di principio per evitare malintesi

corretto ora 128, prima era 138 errore stampa.
0
voti
Ciao, grazie per la tua risposta. Se devo essere sincero, non ho capito cosa hai fatto. Hai preso in considerazione la formula della tensione di uscita dall'integratore, giusto? ma quel 138us da dove ti viene?
Comunque allego la foto dello schema.
Comunque allego la foto dello schema.
0
voti
errore stampa corretto 138 in 128
Se imponi che la rampa duri non più di 128 us, calcoli di conseguenza la costante RC, poi imponi (quasi a caso R) e ricavi C o meglio viceversa...
Un valore di R di 10 kohm pare adeguato, non troppo basso per avere correnti elevate nell'ingresso, non troppo alto per essere confrontabile con la corrente di bias e la resistenza di ingresso dell'operazionale. Ma forse un 100 kohm va meglio.
Si può discutere sul tempo di commutazione dell'operazionale che deve essere trascurabile rispetto al clock
.. che componente scegli?
Come Vref 5V, 1 V ? che componente scegli?
A fare le cose per bene tutto influisce e complica il progetto.
Se imponi che la rampa duri non più di 128 us, calcoli di conseguenza la costante RC, poi imponi (quasi a caso R) e ricavi C o meglio viceversa...
Un valore di R di 10 kohm pare adeguato, non troppo basso per avere correnti elevate nell'ingresso, non troppo alto per essere confrontabile con la corrente di bias e la resistenza di ingresso dell'operazionale. Ma forse un 100 kohm va meglio.
Si può discutere sul tempo di commutazione dell'operazionale che deve essere trascurabile rispetto al clock
.. che componente scegli?
Come Vref 5V, 1 V ? che componente scegli?
A fare le cose per bene tutto influisce e complica il progetto.
0
voti
Il tuo schema di principio non è completo:
cosa succede se la Vi = 0 ?
A cosa serve l'interruttore ai capi del condensatore?
Il progetto lo svolgi solo a scopo didattico?
Per 10 bit, un ADC doppia rampa è sprecato, meglio un ADC a ladder con logica ad approssimazioni successivo.
Meglio ancora utilizzare un componente di serie.
cosa succede se la Vi = 0 ?
A cosa serve l'interruttore ai capi del condensatore?
Il progetto lo svolgi solo a scopo didattico?
Per 10 bit, un ADC doppia rampa è sprecato, meglio un ADC a ladder con logica ad approssimazioni successivo.
Meglio ancora utilizzare un componente di serie.
0
voti
MarcoD ha scritto:Il tuo schema di principio non è completo:
cosa succede se la Vi = 0 ?
A cosa serve l'interruttore ai capi del condensatore?
Il progetto lo svolgi solo a scopo didattico?
Per 10 bit, un ADC doppia rampa è sprecato, meglio un ADC a ladder con logica ad approssimazioni successivo.
Meglio ancora utilizzare un componente di serie.
Se la tensione in ingresso è uguale a 0 allora la codifica sarà semplicemente 0, secondo la formula che ho scritto nella foto N=Vi/Vr * 2^n.
l'interruttore serve semplicemente per resettare il sistema prima della conversione di un nuovo segnale in ingresso, cortocircuitando il condensatore.
Si il progetto è a scopo didattico, quindi devo per forza usare un doppia rampa a 10 bit.
0
voti
0
voti
Si lo avevo già visto questo sito, però non viene spiegato come posso ricavarmi i valori di R e C. Mi è stato consigliato di calcolare la costante di tempo calcolandomi il tempo di scarica del condensatore, per caso sai come posso procedere?
0
voti
Correggo e integro quanto scritto in un precedente post:
Supponiamo una tensione di riferimento Vrif = - 5 V, vuoi che faccia risalire la rampa dal valore minimo, che suppongo sia -5 V, a zero in 128 us.
Quindi deltaV = 0-(-5)= 5 V escursione massima della rampa.
Formula generica integrazione di un valore costante:
Vu = (1/tau) x Vi x t
Nel nostro caso:
delta V = (1/tau) x 5 Vref x tempo 128 us
tau = 5x128/V = 128 us costante di integrazione
tau = R x C , supponiamo R = 10 kohm si calcola C.
Come progettista devi confermare/scegliere
i valori di Vrif (5v ?), valore minimo rampa (-5v ?) e
tempo voluto per il conteggio (128 us).

p.s. : la logica di controllo la realizzi con arduino ? e adoperi il contatore interno di arduino? Complimenti: Io non saprei farlo.
Supponiamo una tensione di riferimento Vrif = - 5 V, vuoi che faccia risalire la rampa dal valore minimo, che suppongo sia -5 V, a zero in 128 us.
Quindi deltaV = 0-(-5)= 5 V escursione massima della rampa.
Formula generica integrazione di un valore costante:
Vu = (1/tau) x Vi x t
Nel nostro caso:
delta V = (1/tau) x 5 Vref x tempo 128 us
tau = 5x128/V = 128 us costante di integrazione
tau = R x C , supponiamo R = 10 kohm si calcola C.
Come progettista devi confermare/scegliere
i valori di Vrif (5v ?), valore minimo rampa (-5v ?) e
tempo voluto per il conteggio (128 us).

p.s. : la logica di controllo la realizzi con arduino ? e adoperi il contatore interno di arduino? Complimenti: Io non saprei farlo.
0
voti
Di solito non conviene partire con l'integratore a zero, si aggiunge un offset che rende piu` sicuro l'attraversamento della soglia, che puo` anche essere messa sul comparatore.
A parte cio`, volevo solo ricordare di scegliere bene il tipo di condensatore. E` vero che la capacita` e` poco importante, ma la linearita` e altri effetti secondari lo sono. E` opportuno evitare condensatori ceramici, in cui la capacita` dipende dalla tensione applicata, e fare attenzione anche all'isteresi dielettrica.
A parte cio`, volevo solo ricordare di scegliere bene il tipo di condensatore. E` vero che la capacita` e` poco importante, ma la linearita` e altri effetti secondari lo sono. E` opportuno evitare condensatori ceramici, in cui la capacita` dipende dalla tensione applicata, e fare attenzione anche all'isteresi dielettrica.
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
11 messaggi
• Pagina 1 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Majestic-12 [Bot] e 212 ospiti