Pages: 1 [2]   Go Down
Author Topic: come ottenere -3.3v  (Read 2129 times)
0 Members and 1 Guest are viewing this topic.
Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

comunque ecco un pò di modi per avere una tensione duale tramite il giochino della massa fittizia:
http://tangentsoft.net/elec/vgrounds.html
Logged

TN (Italy)
Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@Uwe
Mi sono espresso male io. Supponendo di avere a disposizione un'alimentatore che fornisce una tensione positiva V+ riferita ad un certo GND. Intendevo dire che è sufficiente prendere come riferimento per il circuito una tensione compresa tra V+ e GND, ad esempio dimezzando per comodità V+ tramite un partitore. Proprio come nel link postato da BrainBooster (molto bello domani me lo leggo fuori).
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 272
Posts: 21939
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il problema del partitore resistivo é che deve circolare ca 5 a 10 volte piú corrente attraverso le resistenze che corrente che puoi prendere dal partitore. Se questa condizione non é data la tensione del partitore non é stabile.

La domanda alla base di tutto: serve veramente una tensione negativa o si puó fare anche co una singola alimentazione da 5V? Io dico nó, non serve una tensione negativa.

Dubito anche se la tua idea misurare delle acelerazioni minime con un acelerometro non funzioni. Spiegaci cosa vuoi fare.

Ciao Uwe
 
Logged

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quoto uwefed .
A volte la gente non si accorge che chiede aiuto proponendo già una soluzione smiley ma che forse è sbagliata.
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 272
Posts: 21939
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quoto uwefed .
A volte la gente non si accorge che chiede aiuto proponendo già una soluzione smiley ma che forse è sbagliata.
Eh sí. E poi non dice neanche per cosa lo vule usare la soluzione scelta.
Ciao Uwe
Logged

italia
Offline Offline
Full Member
***
Karma: 2
Posts: 135
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Cerco di spiegare perché mi serviva il -3.3 volt, però non è detto che era la soluzione esatta.

Considerando l'accelerometro MMA7361, che oscilla intorno al valore 1650 mv (asse X e Y) e intorno a 800 mv (asse Z)
Il massimo valore di oscillazione è di 30 mv. Quindi oscilla tra 1620 e 1680, o 770 e 830.
Siccome mi interessa misurare semplicemente il valore dell'oscillazione (che con un ADC a 10 bit sono circa solo 10 count).
Avevo pensato di sottrarre il valore medio e poi amplificare il valore dell'oscillazione.

Da qui l'esigenza dei -3.3 v.

Suggerimenti in merito ?

grazie.



Logged

0
Online Online
Shannon Member
****
Karma: 136
Posts: 10525
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok per il Maxim660.

si è vero che il valore 1650 mv indica all'incirca lo zero.
il problema che voglio risolvere è di acquisire valori di accelerazione molto bassi, che con i 10 bit di arduino non posso fare.
Quindi se faccio oscillare intorno allo zero, posso amplificare un segnale di pochi mv anche di 256 volte. mentre partendo da 1650 non lo posso fare.
C'è poi il problema di acquisire valori negativi, ma questo dovrebbe essere risolvibile. (un passo alla volta)

grazie
gcam

magari fosse così facile, tu vuoi semplicementente amplificare L'ERRORE di X volte. L'accelerometro deve essere in grado di gestire quella precisione.

a parte che la soluzione più semplice è prendere un ADC a più di 10bit (la crescita della precisione è esponenziale), ma comunque darei un'occhiata al datasheet alla precisione max del sensore
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 138
Posts: 9887
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Da qui l'esigenza dei -3.3 v.
Suggerimenti in merito ?

Premesso che come ti ha detto Lesto la cosa non è così semplice come pensi, in tutti i casi non ti serve nessuna tensione negativa per risolvere.
Hai due vie, una molto semplice e sicura e una più complessa e abbastanza critica.
Modo semplice, setta il riferimento di tensione dell'ADC del ATmega su quello interno della mcu di 1.1V, molto preciso e stabile, usa un opamp in configurazione voltage follower (guadagno unitario) collegando sull'ingresso invertente una tensione di 1V, la puoi ottenere tramite un partitore resistivo sul quale devono scorrere almeno 5 mA, sull'ingresso non invertente mandi il segnale dell'asse, in pratica stai sottraendo 1V quindi la tensione in uscita sarà circa 0.65 V a riposo.
Dato che l'ADC sta usando come riferimento 1.1V la sensibilità diventa di circa 1.1 mV, in pratica l'hai aumentata di circa 5 volte e ora puoi leggere 50 count invece di solo 10, a questo punto puoi usare tecniche di oversampling per aumentare la risoluzione dell'ADC di 1-2 bit, ovvero passi a 11 o 12 bit di risoluzione totale ottenendo rispettivamente 100 e 200 count di variazione.
Modo complesso, tramite l'opamp applichi sia un offset negativo alla tensione in ingresso, e non serve una tensione negativa per farlo, e al tempo stesso amplifichi il segnale, la cosa si complica abbastanza dal punto di vista circuitale, sarebbe bene farlo tramite due opamp in cascata, e introduce varie criticità dovute alle correnti di bias che vanno compensate.
Se non ti basta la soluzione semplice, e devi comunque verificare la reale sensibilità del sensore e il livello del rumore per capire quali sono i reali limiti di questa misura, vediamo di affrontare la soluzione complicata.


Logged

italia
Offline Offline
Full Member
***
Karma: 2
Posts: 135
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per quanto riguarda la soluzione complicata non ciò capito molto.
Per quanto riguarda la soluzione semplice, in parte la applico, come VRef utilizzo 3.3 v e non 5.0 v.
Inoltre applico l'oversampling portando la risoluzione a 12 bit (acquisisco 16 valori li sommo e divido per 4).

Non voglio portare la VRef a 1.1 volt se è possibile.

Se utilizzo un amplificatore operazione in modalità amplificazione differenziale (la sto buttando lì, però non ho idea)
può funzionare, ho letto:
'Per amplificatore differenziale si intende un circuito in grado di amplificare la differenza tra due segnali applicati in ingresso.'

grazie, in ogni caso.

gcam

Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 138
Posts: 9887
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per quanto riguarda la soluzione semplice, in parte la applico, come VRef utilizzo 3.3 v e non 5.0 v.
Inoltre applico l'oversampling portando la risoluzione a 12 bit (acquisisco 16 valori li sommo e divido per 4).

Ho dato un'occhiata al data sheet dell'accelerometro che stai usando, è inutile che amplifichi, sei già al limite delle sue prestazioni, se ti serve maggiore risoluzione devi passare ad un sensore migliore.
Logged

italia
Offline Offline
Full Member
***
Karma: 2
Posts: 135
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

grazie per la risposta. Un altro sensore che utilizzo è il bma180. che è notevolmente diverso, in quanto restituisce una uscita digitale.
Praticamente leggendo dal registro dell'accelerometro restituisce un valore compreso tra -32768 e + 32768. Però nel data sheet per un range di 1 g
loro parlano di un range tra -8192 e + 8192.
Che natura e intensità di errore mi porto dietro ?

Per caso conosci un altro sensore più sensibile. L'MM7361 tra tutti quelli che ho visto sembrava il più performante dal punto di vista delle prestazioni.
1.5 g a 800 mv/g.

EDIT: dimenticavo quale sono le caratteristiche che consentono di differenziare due sensori (accelerometri) dal punto di vista prestazionale.
sempre grato.

« Last Edit: March 05, 2012, 03:00:12 am by gcam » Logged

Pages: 1 [2]   Go Up
Jump to: