Go Down

Topic: Amplificare un segnale in tensione (Read 16 times) previous topic - next topic

contecavour

qualcuno ah nozioni di amplificatori operazionali epr aiutarmi ad amplificare un segnale di oltre 1000 volte?
Grazie

Easyelectronic

Ciao,

non ho ben capito la tua domanda:

Quote
amplificare un segnale di oltre 1000 volte


Per segnale intendi forse che vuoi incrementare la tensione in uscita?
Ad esempio inserendo 5V che te ne escano 5000?  :smiley-roll:


contecavour

Me ne entrano 4.8 mV al massimo e devo portarli a 5V.
Il minimo deve essere zero.

N

Michele Menniti

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

flz47655

Direi proprio di evitare l'anello aperto, gli operazionali sono instabili in quella configurazione.

Allora un'amplificazione di 1000 è abbastanza elevata se hai un segnale che cambia rapidamente (alta frequenza) in genere servono più op-amp (ad esempio 2, uno che amplifica x30 uno che amplifica x34, 30x34=1000)

Se hai un segnale che cambia lentamente (es. DC o pochi hertz) con un op-amp con buon GBW riesci a fare tutto

Che banda ha il tuo segnale? Ovvero quanto cambia rapidamente?

Ciao

Michele Menniti

se devi complicargli così la vita, tanto vale mettere un tiny con l'ADC configurato a 1,1V. Ho specificato che può usarla se deve fare solo quello, proprio perché è instabile, ma l'instabilità in questo caso è trascurabile, visto che l'effetto che deve ottenere è quello di avere in uscita la tensione di alimentazione, quando in ingresso ha un valore, pur minimo, alternativo a 0.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

flz47655

Più che altro ad anello aperto come imposti il guadagno?
Ad anello aperto basta un disturbo di 5nV con un operazionale come il comune LM358 che ha una banda di 1.1MHz per ritrovarsi l'uscita saturata

Ciao

Michele Menniti

Non lo imposti, sappiamo che il guadagno è teoricamente infinito, quindi, qualunque sia la tensione in ingresso (in base alla sensibilità dell'op amp) avrai sull'uscita la tensione di alimentazione; è una cosa che ho fatto alcune volte, proprio in casi simili, cioè per effettuare una conversione AD con range di valori di piccole dimensioni.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

flz47655

#8
Aug 01, 2012, 11:13 pm Last Edit: Aug 02, 2012, 02:36 pm by flz47655 Reason: 1
Quote
Me ne entrano 4.8 mV al massimo e devo portarli a 5V.
Il minimo deve essere zero.


Avevo capito che voleva amplificare senza distorsioni, ha in input un valore da 0 a 4.8mV che deve essere amplificato nel range 0 - 4.8V, in anello aperto avrebbe solamente una soglia ON/OFF tra l'altro non "super-immune" ai disturbi.

Ad ogni modo aspettiamo notizie da contecavour per capire bene cosa vuole fare e, se vuole amplificare senza distorsioni, se ha un segnale che varia velocemente o lentamente

Ciao

contecavour

Grazie flz47655, da come scrivi, ho capito che hai capito il mio livello. Sono un softwarista.

Allora in un post internazionale mi hanno anche consigliato un AD7715.
Oppure come OP un
Quote
TI LMV358 (dual) or the TI LMV324 (quad)
.

Allora io ho un sensore di carico loading cell
http://www.phidgets.com/documentation/Phidgets/3132_0_Datasheet.pdf
Lo alimento a 5V quindi mi esce con un  valore da 0 a 4,0 mV.
Arduino legge in analogico 0-5V quindi devo ampificare di 1025 volte.
Potrei anche settare il fondo scala del mio MEGA a 1.1 V ma qualcosa dovrei fare ugualmente.

Il mio obiettivo è fare il minor sforzo con l'elettronica e concentrarmi sul progetto.
Cosa mi consigliate.
L'operazionale (doppio o triplo stadio) o il AD7715 ?
E quest'ultimo come lo devo collegare?

Grazie














contecavour

Michele Menniti, non ho capito.
Cos'è il tiny?

contecavour

A scusate, la larghezza di banda penso sia minima, devo fare una pesata, quindi posso anche aspettere un certo tempo che si stabilizza.
N

flz47655

#12
Aug 02, 2012, 03:04 pm Last Edit: Aug 02, 2012, 03:06 pm by flz47655 Reason: 1
Ciao, anch'io sono stato a lungo tempo softwarista prima di buttarmi sull'elettronica  :)

L'AD7715 diciamo che è più complicato e costoso dell'utilizzo di un semplice operazionale anche se sicuramente permette buoni risultati. Se non sei molto pratico però rischi di incasinarti, ti consiglio di provare prima le altre soluzioni.

L' LMV358 e l'LMV324 sarebbero ideali perché rail-to-rail (ovvero in uscita possono andare da 0 a 5 Volt se l'alimentazione è 5 volt) ma purtroppo sono disponibili solamente in SMD, se costruisci tu il circuito potresti avere problemi se non hai mai saldato questi componenti.

Se ti accontenti di un segnale amplificato nel range 0-3 volt, rilevabile senza problemi dall'ADC interno ad arduino, soprattutto se impostato a 3.3V potresti amplificare di 750 volte con un semplice LM358 (non è rail to rail quindi la sua uscita non raggiunge 5 volt e quindi se non vuoi alimentarlo a parte con una tensione superiore devi impostare un amplificazione più bassa per non farlo saturare) che trovi in formato DIP con semplicità e saldarlo senza problemi. Secondo me questa soluzione può andare bene, naturalmente testala per bene per vedere se hai problemi di accuratezza, hai eventualmente un oscilloscopio a disposizione?

Riesci a fare tutto addirittura con un singolo operazionale (l'IC ne contiene due al suo interno) e quindi potresti gestire addirittura 2 sensori perché se non hai un segnale che varia velocemente l'amplificazione è maggiore.

Per amplificare devi utilizzare ad esempio l'amplificatore in configurazione invertente http://it.wikipedia.org/wiki/Amplificatore_operazionale#Amplificatore_invertente con le due resistenze dimensionate in modo da averne una (tra uscita e ingresso non invertente) 750 volte più grande dell'altra. Non scegliere valori assurdi, ad esempio 100 e 75K dovrebbero andare bene (ho visto che il suo sensore ha un'impedenza di uscita di 1K ohm, se c'è qualcuno più esperto di me dica se i valori che ho scelto non sono ottimali)

In parallelo alla resistenza "grossa" se metti un condensatore riesci a filtrare il rumore, per calcolare il condensatore puoi semplicemente usare la formula del circuito RC passa basso http://it.wikipedia.org/wiki/Filtro_passa_basso impostando come frequenza una decina di Hertz, la resistenza sarà 75K se usi il valore che ti ho dato prima. Ti lascio questo conto, fammi sapere se hai difficoltà.

In pratica gli operazionali hanno un parametro GBW che sarebbe il guadagno massimo in continua, l'LM358 ha 1.1MHz quindi in teoria può amplificare di un milione di volte un segnale costante (l'uscita naturalmente si fermerà alla tensione di alimentazione meno qualche volt e si dirà saturata quando non può più crescere).

Se però hai un segnale che varia, ad esempio 10 volte al secondo, o a 10 Hz (è una semplificazione, il segnale dovrebbe essere una sinusoide perfetta in questo esempio) non puoi amplificare più di GBW / f quindi non più di 110K volte. E' bene non avvicinarsi troppo ai limiti per evitare distorsioni però.

Ciao

PS: Non leggerai mai il valore 0 perché il sensore da sempre almeno 0.8mV in uscita, da software devi quindi tarare correttamente il sensore

contecavour

Intanto grazie.

Non ci sono rail to rail da montare su breadboard quindi? Neanche comprando online all'estero?

Io ho un Arduino MEGA:
DEFAULT: the default analog reference of 5 volts (on 5V Arduino boards) or 3.3 volts (on 3.3V Arduino boards)
INTERNAL1V1: a built-in 1.1V reference (Arduino Mega only)
INTERNAL2V56: a built-in 2.56V reference (Arduino Mega only)
Quindi posso scegliere o 1.1 o 2.56 o 5V

Parliamo per adesso del LM358. Io lo alimenterei con le tensioni di power di arduino che sono o 5V o 3V (3.3???)
Di sensore comunque ne ho solo uno, quindi posso usarlo come 2 stadi?

Perchè mi consigli invertente? E mui sai spiegare nella pratica che differenza c'è?
In tutti gli esempi che avevo selezionato lo avevo trovato non invertente.

Come filtro passa basso intendi l'attivo vero?
Non dovrei aver difficoltà a calcolarlo
C= 1/ 2 piGreco R f

Come frequenza non vedo valori...devo fare una pesata. quindi aspettare che il segnale si stabilizzi (credo)
Che ne dici?

N





V


contecavour


PS: Non leggerai mai il valore 0 perché il sensore da sempre almeno 0.8mV in uscita, da software devi quindi tarare correttamente il sensore


Mi ero perso questa cosa.
Ma perchè?
N

Go Up