Buongiorno a tutti.
Ho un sensore che mi eroga da 9 a 14 millivolt (non è un generatore sinusoidale, eroga una tensione continua variabile in funzione della concentrazione di ossigeno presente nell'ambiente). Vorrei leggerlo con arduino e so che devo amplificarlo. Se utilizzo un comune operazionale riesco ad amplificare il segnale, ma , ovviamente, il segnale in uscita non varia tra 0 e 5 volt, ma varia tra circa 2v e 2,5v
Ne capisco la ragione.
Quale circuiteria debbo adattare perchè l'uscita del mio amplificatore vari tra 0 e 5 volt?
(anche valori vicini andrebbero bene, ma si tenga presente che il segnale, all'origine, varia molto, molto lentamente, ovvero non credo di poter utilizzare condensatori di accoppiamento come si fa in amplificatori audio). Spero di essermi spiegato e vi ringrazio dell'eventuale aiuto!
Renato
Prova a postare lo schema elettrico del circuito che stai usando al momento.
questo lo schema fatto con ltspice. Al posto del sensore di ossigeno ho messo un generatore sinusoidale che genera le tensioni indicate (da 9 a14 mV). Le resistenze di "reazione" R3 e R4 in effetti le ho messe a caso per simulare, comunque, una discreta amplificazione. L'alimentazione pure (ho messo 3 volt e quindi, comunque, non posso pretendere che l'uscita mi dia 5V, ma era solo per capire come far sì che quando l'uscita del sensore è di 9mV l'uscita del generatore sia la più vicina possibile a zero...).
Non è il circuito definitivo, anzi, cercavo solo di imparare.
Nel frattempo ho capito che FORSE potrei usare un integrato che abbia i piedini "balance" tipo il LM311 ma non sono in grado di capire come simularlo con LTspice.
Per usare un op amp comune, devi alimentarlo con anche una tensione negativa, per esempio ottenuta con un ICL7660.
Non so se tra gli operazionali moderni a tensione singola ce ne sono anche veri rail to rail... Il TLC272 potrebbe funzionare:
ok, grazie per il consiglio della alimentazione duale e di come ottenerla. Sono però fermo alla questione iniziale : come fare per far sì che quando il sensore di ossigeno eroga 9 mV io abbia una uscita di =V e che quando lui eroga 14mV io abbia una uscita (diciamo) di 5V? in effetti non conta esattamente un gap di 5V, ma più è grande questo e più dovrebbe essere precisa la lettura da parte di Arduino (o sbaglio?).
Fai un amplificatore che guadagna, per esempio, 300: 300*9=2,7V; 300*14=4,2V.
Se vuoi partire da 0V in uscita, devi mettere un offset di 9mV sull'ingresso invertente, che puoi ricavare da un partitore resistivo.
Capito (spero!). Grazie!
Vero, se usi un riferimento 5V esatto e stabile, cosa che la tensione di alimentazione non è. Nel senso che tutta la precisione che speri di ottenere con un range più ampio in ingresso, potrebbe poi non esserci per altri motivi. In pratica se serve precisione tutto deve essere sottoposto a calibrazione tramite strumento di riferimento, ma prima di tutto l'ADC deve avere un riferimento stabile, che può essere anche minore di 5V, ad esempio 2.5V ottenuti da un apposito generatore di riferimento esterno, o gli 1.1V disponibili dal riferimento interno (se parliamo di un ArduinoUno). In questo caso piuttosto che amplificare esageratamente (perché anche l'amplificazione è soggetta ad errori dovuti alle tolleranze delle resistenze) ritengo più sensato ridurre la tensione di riferimento dell'ADC.
Poi, vista la bassissima tensione in ingresso, per R4 non userei una resistenza maggiore di 15 (quindici) ohm, in modo che nella rete di retroazione possa circolare circa 1mA, e gli effetti della corrente assorbita dagli ingressi siano minimizzati.
Ad esempio 15 Ω per R4 e 1 kΩ per R3. Con resistenze 5% di tolleranza ottieni un guadagno da 61.3 a 74.68, e quindi con 14 mV in ingresso un'uscita da 0.858 a 1.045V (da calibrare). Usando il riferimento ADC interno 1.1V non serve altro.
grazie!
Tutto questo però riguarda la stabilità del riferimento. Il discorso espansione della scala è ancora aperto, anche se secondo me non è così fondamentale, perché comunque è come avere un ADC da 8.5 bit.
certo! ancora graz
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
