arduino pro mini 3.3v + sensore FSR

Salve a tutti,

Questa è una delle prime volte che scrivo nel playground e spero di aver azzeccato la sessione. Come da titolo, ho necessità di collegare ad un pro mini 3.3 v un sensore di forza (https://www.sparkfun.com/products/9376). Come consiglia la guida del sensore, ho collegato il sensore al pin Vcc dell'arduino ed al pino A0 usando una resistenza da 10Kohm. Se con questa configurazione utilizzo un arduino duemilanove alimentato a 5v, tutto funziona correttamente e, tramite analogRead(A0) riesco a leggere i valori da 0-1023 del sensore. Quando però lo collego, con la stessa configurazione all'arduino pro mini, il sensore da delle letture diverse. In particolare, sembra diventare ipersensibile. Mentre usando l'arduino duemilanove, per restituire un valore di 600/700, era necessario spingere molto sul sensore, ora basta appena sfiorarlo per ottenere un valore del genere. Cos'è che non sto considerando? Come potrei risolvere il problema?ho dato un occhiata in giro ma ho trovato poco, solo riferimenti alla funzione analogReference(). Mi farebbe molto piacere se qualcuno riuscisse anche a spiegarmi la teoria che c'è dietro questa cosa in modo tale che, se mi si dovesse ripresentare un simile problema, saprei come comportarmi.

Grazie a tutti

Non sono un elettronico ma abbozzo l'idea che centri qualcosa la differenza di come alimenti il sensore. Con Arduino lavori a 5V e con la mini lavori a 3,3V Il convertitore digitale prende come riferimento la Vcc che tra i due è diversa. Come "correggere" il circuito, attendi risposta da chi è più qualificato di me.

Leggendo le caratteristiche del sensore, si evince che la curva forza/resistenza non è lineare se non in un limitato tratto.

Teoricamente il sensore funziona tra 0 e 10000 grammi, ma la linearità è garantita tra 200 e 1000 g oppure tra 5000 e 10000 g.

Detto questo, la fig. 9 del manuale propone uno schema con la RM da 10k posta verso massa con una alimentazione di +5V,

L'operazionale non invertente a guadagno unitario può essere equiparato al convertitore AD a +3.3V di Arduino PRO MINI rammentando che l'ingresso ha una impedenza massima di 10k.

Quindi, per riportare le tensioni a valori corretti occorre abbassare il valore di RM: suggerisco 4.7k

These sensors are simple to set up and great for sensing pressure, but they aren't incredibly accurate. Use them to sense if it's being squeezed, but you may not want to use it as a scale.

cyberhs: Leggendo le caratteristiche del sensore, si evince che la curva forza/resistenza non è lineare se non in un limitato tratto.

Teoricamente il sensore funziona tra 0 e 10000 grammi, ma la linearità è garantita tra 200 e 1000 g oppure tra 5000 e 10000 g.

Detto questo, la fig. 9 del manuale propone uno schema con la RM da 10k posta verso massa con una alimentazione di +5V,

L'operazionale non invertente a guadagno unitario può essere equiparato al convertitore AD a +3.3V di Arduino PRO MINI rammentando che l'ingresso ha una impedenza massima di 10k.

Quindi, per riportare le tensioni a valori corretti occorre abbassare il valore di RM: suggerisco 4.7k

Intanto ti ringrazio molto per la tua risposta.Detto ciò, potresti spiegarmi come hai fatto a calcolare il valore della RM? Dal manuale, io avevo capito che il sensore e la RM funzionano come un partitore di tensione, è corretto?

Se così fosse, dovrei abbassare la RM perché, visto che V=RI , abbassando la RM ridurrei il valore di tensione misurabile sulla RM?

Sì, esatto: la RM fa parte di un partitore resistivo sottoposta ad alcune condizioni. 1 - Il valore della resistenza non deve essere superiore a 10k, limite dato dall'impedenza dell'ADC di Arduino; 2 - la tensione di alimentazione applicata è 3.3V, anche questo è condizionato dal tipo di Arduino in tuo possesso, 3 - il corretto valore va scelto in funzione del range di forza che si desidera monitorare.

Poiché la tensione ai capi del resistore RM è data dalla formula V = 3.3 * RM / (RM + Rx) dove Rx è la resistenza che il sensore presenta con la forza applicata: con forza zero, Rx è molto alta quindi (> 1M) la V tende a zero, mentre con forza = 10000 g la Rx vale circa 250 ohm e la tensione V vale praticamente 3.3V se RM è almeno dieci volte più grande di Rx.