Italian Forza centrifuga

AlpVir

Well-Known Member
Licensed User
Longtime User
Pensate che sia possibile, utilizzando i sensori (probabilmente gli accelerometri) di uno smartphone, misurare la forza centrifuga di un corpo che si muove ad una velocità non costante e variabile fra i 10 ed i 50 Km/ora su una traiettoria ovviamente non rettilinea ma fatta di curve di vario raggio (da 10 a 100 metri) ?
Ovviamente lo smartphone è collocato sul corpo in questione.
Grazie per l'attenzione all'inconsueta (credo) domanda.
 

arenaluigi

Well-Known Member
Licensed User
Longtime User
Definizione trovata in giro su google:

La forza centrifuga è la forza che tende ad allontanare il corpo dal centro di rotazione seguendo la direzione del raggio. Essa si calcola con la formula


F = m : r x v ²

Cioè la forza centrifuga è direttamente proporzionale alla massa del corpo e al quadrato della velocità e inversamente proporzionale al raggio dell’orbita .

Ma a quanto ne ho capito , tu non hai un raggio statico, ma dinamico può cambiare.
 

AlpVir

Well-Known Member
Licensed User
Longtime User
L'approccio in stile matematico non credo che porti lontano, visto che uno smarphone non è in grado di conoscere la velocità di spostamento con sufficiente approssimazione, nè (come hai evidenziato tu) il raggio di curvatura (che oltretutto potrebbe non essere costante nel tempo).
Il GPS in questo campo è oltremodo impreciso e non può essere utilizzato.
Per chiarire meglio immagina una semisfera cava in cui c'è una sferetta piena che si posiziona, ovviamente, al centro della semisfera cava.
Se il sistema si muove di moto naturale uniforme la sferetta se ne sta tranquilla sul fondo. Se fa una curva brusca la sferetta sale di un po' per poi ridiscendere; se fa una curva di raggio maggiore la sferetta sale ugualmente, ma di meno. Lasciamo perdere il fatto che la sferetta potrebbe, arrivata sul fondo, per forza di inerzia, assumere un movimento pendolare. Facciamo finta che ci sia una calamita che la trattiene in una certa misura sul fondo e ne smorza di un certo fattore i movimenti (potrebbe ad esempio essere immersa in un olio di densità opportuna).
Orbene io vorrei avere una misura "di quanto" si è spostata la sferetta e questa misura è direttamente proporzionale alla forza centrifuga. E il "quanto" non è necessario che sia un valore numerico espresso in Newton ma solo in unità arbitrarie.
L'accelerometro di cui sono totati quasi tutti gli smartphone dovrebbe sentire questo cambio dallo status quo e registrare questi cambiamenti.
O no ?
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Ciao,

la forza centrifuga che tu devi calcolare non è altro che la massa moltiplicato l'accelerazione centrifuga.

F = m * a
e l'accelerazione è:
a = v^2 / r

La massa ovviamente non è calcolabile dal telefono ma la devi impostare tu, mentre per quel che riguarda l'accelerazione la puoi ricavare direttamente dall'accelerometro del telefono e quindi non ti serve sapere nè la velocità nè il raggio di curvatura.

Devi quindi solo leggere l'accelerometro (mettendo il telefono in orizzontale) e utilizzare solo il vettore che è perpendicolare alla direzione di marcia.

Per qualsiasi altra cosa chiedi pure
Sergio
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Grazie.
Non so però quale sia la direzione di marcia in quanto lo smartphone non è in una posizione ben determinata e tantomeno orizzontale.
Comunque ho trovato una semplice app che registra i valori dei 3 vettori su un file.
Mi confermi che questi 3 valori sono proporzionali all'accelerazione nei 3 assi x, y e z dello smartphone ? In che unità saranno espressi ? (non che la cosa sia molto importante, ma capire meglio le cose è preferibile).
Mi riprometto quindi di fare un esperimento nelle condizioni reali di funzionamento e successivamente, di analizzare questo file, magari con Excel.
Utilizzando un linguaggio di programmazione (ad esempio il buon vecchio VB6) che consente una migliore e veloce analisi dei valori dei 3 vettori dovrei essere in grado di ricavare quanto desiderato. Poi il passaggio al B4A dovrebbe essere facile.
Su Google Play ho trovato "Accelerometro Monitor" e su questo forum "Android shake event with PhoneSensor".
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Se non sai come è posizionato il telefono, la cosa comincia a complicarsi.

Scaricati il programma ToolBox e seleziona l'opzione "Vibrometro" dove vedrai in tempo reale i valori dell'accelerometro.
Noterai che se il telefono è fermo e in orizzontale tutti i valori sono a zero, mentre se metti il telefono in verticale, anche se è fermo) troverai uno dei tre valori a (circa) 9,81 che corrisponde all'accelerazione di gravità.

Se il telefono è in una posizione qualsiasi, la cosa è ancora più complicata, perchè dovrai togliere l'accelerazione di gravità in base alla posizione del telefono, e quindi devi calcolare la posizione esatta tramite il giroscopio, e fare tutti i calcoli vettoriali per togliere da ogni uno dei tre valori la componente corretta in base all'angolo di posizione del telefono.

Il valore che vedi è un'accelerazione, quindi l'unità di misura è metri/(secondo^2)

Comunque se sei intenzionato a togliere la gravità, qui trovi la documentazione:
http://developer.android.com/reference/android/hardware/SensorEvent.html

Ciao
Sergio
 
Last edited:

AlpVir

Well-Known Member
Licensed User
Longtime User
Grazie. La parte Vibrometro dell'app segnalata è molto simile a quelle che già avevo visto.
Nell'esempio Shake citato ho in più la possibilità di registrare e di analizzare in seguito i dati. Oltrechè avere già una base di codice funzionante.
La tua spiegazione è molto chiara ma presuppone l'uso del giroscopio, che c'è solo nei dispositivi di fascia molto alta, e non è il mio caso.
Sarà possibile superare questo inconveniente ?
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Sinceramente senza giroscopio la vedo dura, dato che anche se il telefono è fermo e lo metti in verticale, leggi una accelerazione di 9,81 verso il basso che non è reale, per cui secondo me la cosa non è fattibile.

Sergio
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Anch'io penso che sia assai difficile, ma non assolutamente impossibile. Si tratta (e qui vado a spanna) di eliminare gli effetti spuri (quel 9.81 con il telefono verticale, ad esempio) dai dati dei 3 accelerometri, effetti i cui valori sono diversi tra i 3 accellerometri, ma sono (dovrebbero) essere costanti nel tempo. A patto che il telefono transli solamente e non ruoti in nessun senso.
Dopo qualche tempo (qualche minuto ?) forse i valori di questi 3 "disturbi" potrebbero essere individuati e calcolati numericamente; e dal quel momento in poi tutto sarebbe più semplice. Ma bisogna analizzare 3 curve contemporaneamente e non so se sarò in grado di farlo, con il mio grado di conoscenze matematicche (credo che stiamo parlando di matematica superiore).
Comunque vado avanti nel mio progetto.
 
Top