velocità angolare a partire da un segnale digitale acquisito

Discussioni generali sulla programmazione in LabVIEW, domande, problemi e soluzioni.

Moderatore: ILVG mod

velocità angolare a partire da un segnale digitale acquisito

Messaggioda ocram » dom apr 15, 2012 4:28 pm

Buongiorno a tutti, mi sono iscritto da poco al forum che da un pò di tempo avevo già iniziato a leggere.
Ho un piccolo problema da porvi per realizzare qualcosa che mi sta dando più problemi di quanti pensavo. Devo misurare la velocità di rotazione di una ruota e non ho a mia disposizione un encoder... la mia idea era quella di utilizzare un semblice sensore magnetico (tipico contachilometri per bici) in modo da prelevare un segnale digitale ad ogni giro della ruota. Questo segnale digitale (acquisito con una scheda di acquisizione dati) andrebbe elaborato con Labview per capire quanto tempo intercorre fra due passaggi dallo stato alto a quello basso. Ho provato ad utilizzare il blocco Elapsed Time mettendo all'ingresso Reset il mio segnale acquisito... ovviamente però quando il mio segnale di reset cambia, il conteggio (uscita Elapsed Time(s) del blocco ) si azzera per poi ripartire quando il segnale di reset cambia nuovamente in off. Come posso fare per prelevare l'ultimo valore che assume l'uscita del blocco Elapsed Time in modo da calcolare il periodo con il quale varia il segnale digitale in ingresso e quindi ottenere la velocità di rotazione della mia ruota???
Grazie mille in anticipo... :)
ocram
Nuovo Utente
 
Messaggi: 1
Iscritto il: dom apr 15, 2012 4:02 pm

Re: velocità angolare a partire da un segnale digitale acquisito

Messaggioda paracarro » lun apr 16, 2012 11:36 am

ocram ha scritto:Buongiorno a tutti, mi sono iscritto da poco al forum che da un pò di tempo avevo già iniziato a leggere.
Ho un piccolo problema da porvi per realizzare qualcosa che mi sta dando più problemi di quanti pensavo. Devo misurare la velocità di rotazione di una ruota e non ho a mia disposizione un encoder... la mia idea era quella di utilizzare un semblice sensore magnetico (tipico contachilometri per bici) in modo da prelevare un segnale digitale ad ogni giro della ruota. Questo segnale digitale (acquisito con una scheda di acquisizione dati) andrebbe elaborato con Labview per capire quanto tempo intercorre fra due passaggi dallo stato alto a quello basso. Ho provato ad utilizzare il blocco Elapsed Time mettendo all'ingresso Reset il mio segnale acquisito... ovviamente però quando il mio segnale di reset cambia, il conteggio (uscita Elapsed Time(s) del blocco ) si azzera per poi ripartire quando il segnale di reset cambia nuovamente in off. Come posso fare per prelevare l'ultimo valore che assume l'uscita del blocco Elapsed Time in modo da calcolare il periodo con il quale varia il segnale digitale in ingresso e quindi ottenere la velocità di rotazione della mia ruota???
Grazie mille in anticipo... :)

bah! io non userei la potenza di un PC con le limitazioni del Sitema Operativo, per leggere periodicamente (polling) un segnale digitale , e per determinarnela freq. con cui cambi di stato...
Certo, dipende sempre dal grado di precisione che si vuole ottenere,..ma dai tuoi ragionamenti sembra che tu voglia sparare ad una formica usando un cannone... almeno questa è l'impressione che ne ricavo...

Io farei una acquisizione bufferizzata continua, con un buffer circolare.
Nota la freq. di acquisizione (Khz?, MHz?) sarebbe abbastanza facile esaminare i campioni (samples) acquisiti per individuare la distanza fra due fronti di salita (o discesa) consecutivi...
Il numero di campioni ottenuto moltiplicato per l'inverso della freq., ti darebbe il tempo impiegato dalla ruota per fare un giro.
L'errore massimo, nel calcolo di questo tempo, sarebbe dato dal periodo di acquisizione...

bye
Ti ringrazio per la domanda...
Come Tu mi insegni...
M.Marassi
Il futuro è già passato.
Il presente non esiste
C.Russo
paracarro
Moderatore
 
Messaggi: 700
Iscritto il: lun ago 18, 2003 3:04 pm
Località: MILANO


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

Pannello di Controllo Utente

Login

Chi c’è in linea

In totale ci sono 2 utenti connessi :: 0 iscritti, 0 nascosti e 2 ospiti (basato sugli utenti attivi negli ultimi 5 minuti)
Record di utenti connessi: 119 registrato il dom mar 31, 2013 11:39 pm

Visitano il forum: Nessuno e 2 ospiti