Ardu-Aquarium Controller v. 3.3.1

Ho aperto un topic nella sezione Software per riuscire a sistemare l'acquisizione dei dati Luci utilizzando array.
Link http://arduino.cc/forum/index.php/topic,151218.0.html

il tutto per rendere il tutto più comodo e facilmente gestibile. :stuck_out_tongue:

Ciao a tutti,
ho un problemino, sto cercando di usare questo sensore di livello:
http://www.milonetech.com/About_eTape.php
e di fatto ho già letto, utilizzando il circuito con divisore di tensione, i valori in analogread ed ho ottenuto già dei buoni risultati, nel senso che usando una R da 560 Ohm, le letture variano da 790 (acqua a livello minimo) a 512 (acqua a livello 20cm del sensore), quindi 278 rampe pari ad una rampa ogni 0,71mm che già è una buona precisione, solo che siccome usero il sensore in acquario, con acqua relativamente calda circa 28/29°, vorrei usarei il cicuito con amplificatore operazionale, che mi permette di usare anche la rref per compensare la temperatura ed anche per aumentare il range di lettura in modo da ottenere una precisione maggiore ( il terzo circuito)

il problema è che non ho la più pallida idea di quale ic dovrei usare, mi aiutate per favore? :smiley:

il datasheet: http://www.milonetech.com/uploads/eTape_Datasheet_12110215TC-8.pdf

Grazie Riccardo.

L'LMV358 (disponibile sia in PDIP che in SOIC) va più che bene per questa applicazione, è lo stesso usato su Arduino per la com parazione di tenzione per la selezione della fonte di alimentazione.

Ciao Michele,
grazie infinite per la segnalazione, sto cercando, ma in formato dip è introvabile, mi hanno proposto in alternativa l'NE5532AP o N finale, può andare bene?

Poi ho visto che vengono alimentati con vcc+ e vcc- , significa che ho bisogno anche dei -5v?
O lo collego a massa?

:blush:Perdonatemi, ma non capisco molto/niente di queste cose...

Riccardo

s', quella 'A' in più significhe che è più immine al rumore (magari ti costa anche qualche centesimo iin più..)

infatti mike è un buon comporatore di tenZione!! :stuck_out_tongue_closed_eyes:

lesto:
s', quella 'A' in più significhe che è più immine al rumore (magari ti costa anche qualche centesimo iin più..)

Si anche per la domanda sull'alimentazione? ovvero vanno alimentati a +5 e -5 ?

Grazie :blush:

Ok, mi rispondo da solo e mi scuso per la domanda inutile, i datasheet sia del lmv358 che del NE5532AP parlano chiaro,
ora però ho un'altro problema, nel senso che ho i +12v ed i +5v, quindi non saprei da dove tirar fuori i meno -5v, a furia di googlare, avrei trovato il TC660, seccondo voi può fare al caso mio? (datasheet in allegato)
Altrimenti che alternativa avrei?

:blush: Scusate ma sono in confusione, sono veramente ignorante in materia...

Grazie in anticipo per il tempo che vorrete dedicarmi

Riccardo

TC7660.pdf (83 KB)

riciweb:
Ciao Michele,
grazie infinite per la segnalazione, sto cercando, ma in formato dip è introvabile

hai ragione, scusa, una mia svista; allora puoi:
1 - usare un adattatore SOIC->PDIP (ma in genere costa più dell'integrato)
2 - prendere l'LM358 standard, dovrebbe comunque andare più che bene per le tue esigenze (RS codice 810-194)

mi hanno proposto in alternativa l'NE5532AP o N finale, può andare bene?

ne ho sentito parlare bene, ma non l'ho mai usato

Poi ho visto che vengono alimentati con vcc+ e vcc- , significa che ho bisogno anche dei -5v?
O lo collego a massa?

queste le caratteristiche da data-sheet dell'LM358 (che contiene due op-amp):
Wide power supply range:
— Single supply: 3V to 32V
— or dual supplies: ±1.5V to ±16V
— Very low supply current drain (500 ?A)
— essentially independent of supply voltage
— Low input offset voltage: 2 mV
— Input common-mode voltage range includes ground
— Differential input voltage range equal to the power supply voltage
— Large output voltage swing
a mio modestissimo parere sono di tutto rispetto (l'LMV ha in più fondamentalmente il fatto di essere un rail-to-rail, se non ricordo male) e sufficienti per il tuo scopo.

@ mad: mi stai chiamando ignorante? in quella frase ci sono ben 4 "zione", è come la storia della panca e della capra. Invece spiegami tu cos'è un

buon comporatore

, io almeno scrivo cose buone oltre a commettere qualche errore veniale, tu la cag.. perfino con le strnzt :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:

l'LMV358 opera a 2,7-5V tensione singola, ho detto che è usato su Arduino, dove la trovi su Arduino una tensione duale, Lesto è un seminatore di zizzania :grin:

Grazie infinite Michele,
mi rimetto a caccia e a breve come mia abitudine ormai vi metto al corrente dei miei strafalcioni XD

Riccardo.

Un op-amp valido che si trova in formato DIP8 è il TLC2262, è rail-to-rail e può lavorare anche con una tensione singola.
Lavora a 5V senza problemi.

io mi riferivo al NE5532AP vs NE5532P

Ciao a tutti,
ho provato ad usare l'LM358, con il circuito consigliato dal datasheet, pensavo di ottenere un aumento del range di lettura, ma non è cambiato nulla, prima in analogread
con circuito divisore di tensione leggevo da 790 (acqua a livello minimo) a 512 (acqua a livello 20cm del sensore), quindi 278 rampe pari ad una rampa ogni 0,71mm con tensione che variava da 2,5v a 1,25
con circuito op-amp leggo da 3 (acqua a livello minimo) a 252 (acqua a livello 20cm del sensore), quindi 249 rampe pari ad una rampa ogni 0,8mm con tensione che varia da 0,.03v a 1,20v
Da quel poco che ho capito però con l'amp-op avrei dovuto avere in uscita un guadagno pari almeno alla tensione di alimentazione, ma non è così dove sbaglio?
Cosa devo fare per arrivare a sfruttare il più possibile tutte le rampe di lettura in analogread?

Ho usato i circuiti che metto qui sotto:

nel circuito con op-amp, ho usato valori per r1 e r2 pari per entrambe e corrispondenti a 560, 1k, 1,5k, 2,2k ma il risultato è sempre lo stesso.

Non so cosa fare... :roll_eyes:

L'amplificatore differenziale amplifica la differenza di potenziale che cè tra i due rami. Se ho ben capito la RRef deve avere il valore di partenza della RSense ed R1-R2 devono essere uguali e rapportate a RRef-RSense. Io proverei con due da 10k, mentre la RRef deve corricpondere al valore di partenza del sensore.
Ciò detto a me pare che le due R finali da 100k rappresentino un guadagno unitario, quindi questo circuito ti porta in uscita solo la differenza di potenziale tra i due ingressi. Poiché disponi di un secondo op-amp nel 358 potresti usarlo come amplificatore vero e proprio del segnale in uscita da primo o, più semplicemente, la prova che farei io è quella di aumentare la R da 100k posta tra - e Vout, che dovrebbe generare il rapporto di amplificazione; metti una 330k e dovresti avere una amplificazione di circa 3 volte, ma fino al limite della tensione di alimentazione (credo un poò meno in realtà, mi pare che quella sia una caratteristica essenziale dei modelli rail-to-rail). Per la verità la formula che mi ritrovo sembrerebbe richiedere un valore inferiore rispeto a quello iniziale, quindi se ottieni un risultato attenuato invece che amplificato, prova a mettere una 33k.
Le mie conoscenze sugli op-amp sono minime e scadenti, ho iniziato a leggere qualcosa, ma mille altri impegni mi hanno impedito di approfondire e soprattutto di sperimentare. Prova, male che vada non succede nulla e proviamo ad aggiungere un secondo stadio :sweat_smile:

Ciao Michele, grazie per il tempo che mi stai dedicando, :slight_smile:
ho avuto tempo di fare un pò di prove ed ecco i risultati:

Rsens al minimo = 2k Rref = 2K

R sul vout 330K
R1 e R2 liv min liv max Vliv min Vliv max
1K 686 402 1,37 2,33
1,5K 587 309 2,00 0,97
2,2K 489 230 1,66 0,85
10,0K 230 60 0,57 0,2

Il bello è che cambiando la R sul Vout e mettendola 33K il risultato non cambia. :blush:

P. S. Oggi a furia di googlare sono incappato in questi due link

null - YouTube Video lezioni di elettrotecnica
null - YouTube Video lezioni di elettronica applicata

Magari possono tornare utili nel tuo post sui link, ho iniziato a guardarli...

Ma la RRef te la sei calcolata? non la riporti nei tuoi esperimenti, invece è un fattore fondamentale, perché in pratica stabilisce il punto di partenza del tuo sensore.
La tua tabella è fatta bene, ma io come la leggo? alla prima riga quei 686 e 402 sono dei valori che corrispondono ai livelli minimo e massimo, ma la loro unità di misura qual'è? e dove rilevi questi valori?
Come detto non sono praticissimo di op-amps, sicuramente quel circuito è un amplificatore differenziale, ma i componenti devono essere correttamente "tarati", altrimenti puoi avere comportamenti strani in uscita.

Ciao,
La RRef, l'ho misurata, così come la RSens, anche se sul datasheet la danno per 1,5k bho!!!
Mentre i valori di cui parli li leggo in analogread() perdonami, dovevo specificarlo :blush:

byte levelsensor = A0; 
int levelvalue = 0;
void setup() {
   Serial.begin(9600);  
}

void loop() {

  levelvalue = analogRead(levelsensor);    
  Serial.println(levelvalue);
            
}

Nel file in allegato, c'è un circuito che sfrutta un operazionale, ma utilizzando "virtual ground", da quello che ho capito però serve per gli operazionali a doppia alimentazione...

Riccardo

eTape_AppNotes.pdf (512 KB)

Che vuol dire che la RRef l'hai misurata?
Non è una resistenza di riferimento che devi scegliere tu?
Puoi mettere un link al datasheet del tuo sensore?
Infine, affinché possa capirci qualcosa, prendiamo p.es. la riga con R1-R2 = 1k5, i due valori 587 e 309 li stai leggendo col micro all'uscita dell'op amp con l'analogRead? ed invece i due valori 2,00 e 0,97 che sono? Di sicuro non una corretta conversione delle letture analogiche in Volt.
L'altro circuito lascialo stare, questo deve funzionare; vuoi fare una prova semplicissima, abbandonando un attimo questo tuo circuito?
0 - predisponi il sensore come in quello schema: R1 da 1k5 tra +5 e sensore, l'altro capo del sensore a GND, il punto in comune è l'uscita del sensore.
1 - collega l'uscita del tuo sensore al + dell'op-amp
2 - metti una R da 10k tra il - dell'op-amp e GND
3 - metti una R da 22k tra il - e l'uscita dell'op-amp
4 - misura con un multimetro la tensione che hai all'uscita del sensore: p.es. 1V
5 - sull'uscita dell'op-amp dovresti trovarti tale tensione moltiplicata x3,2, quindi appunto 3,2V
Vediamo i valori minimo e massimo che escono; non so nemmeno se il sensore lavora in "positivo" o in "negativo", ma la cosa non dovrebbe cambiare, al massimo invertiamo di posizione R1 e sensore.

Michele, grazie infinite :slight_smile:

Ecco il link: http://www.milonetech.com/uploads/eTape_Datasheet_12110215TC-8.pdf
Come vedi la Rref è fissa, i valori sono letti in analogread all'uscita dell'operazionale ed anche i voltaggi li ho misurati li, ora non posso fare la prova che mi chiedi, ma appena posso ti aggiorno.
Grazie ancora.

Riccardo

P.S. Hai visto i link delle videolezioni?