Segnale di riferimento velocità non stabile.

Ciao a tutti,
ho un piccolo problema con l'acquisizione di un riferimento di velocità di una turbina. Vado nei dettagli: ho una turbina elettrica alimentata a 380 v trifase in cui ho la possibilità di variare la velocità da 3000 a 25.000 g/min tramite l'elettronica della turbina stessa.

Tale turbina mi restituisce anche il segnale di velocità tramite un piedino, ovvero un segnale ad onda quadra la cui frequenza è proporzionale alla velocità. Tramite Arduino e alla funzione PulseIn ne calcola la frequenza e la visualizzo su un display. Tutto regolare fino a qui ma il problema è che l'onda quadra che acquisisco(vedendola con un'oscilloscopio) non è stabilissima per cui a velocità costante in effetti io vedo che la frequenza acquisita da Arduino varia di +- 200 g/min, mentre io sono sicuro che la velocità e costante (entro certi limiti ovvio) perché se la misuro con un contagiri elettronico direttamente all'albero della turbina, la velocità è costante.
Come potrei eliminare il disturbo che ho in ingresso al mio Arduino?

Grazie mille.

Buonasera,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Grazie, fatto.

Schema dei collegamenti? Le masse come sono? Livello del segnale (è TTL)? Il segnale che vedi sull'oscilloscopio è ben squadrato? Lo sketch che usi per leggere la frequenza?

Il problema è: perché il segnale che arriva non ha una frequenza stabile?...

Datman:
Il problema è: perché il segnale che arriva non ha una frequenza stabile?...

Veramente non mi è proprio chiaro, io avevo inteso che l'uscita dalla turbina sia in realtà stabile ma è l'ingresso su Arduino che misura frequenze non stabili.
Per cui meglio prima di tutto avere una descrizione più precisa e con qualche dato concreto.

Dice:
"l'onda quadra che acquisisco, vedendola con un oscilloscopio, non è stabilissima (...), mentre io sono sicuro che la velocità è costante perché, se la misuro con un contagiri elettronico direttamente all'albero della turbina, la velocità è costante."

Si, vero, ma mi pare strano che chieda in un forum su Arduino perché dal pin di uscita della turbina la frequenza non sia stabile, per questo suppongo che si sia solo spiegato male (e da qui anche la mia richiesta di ulteriori informazioni...).

docdoc:
Si, vero, ma mi pare strano che chieda in un forum su Arduino perché dal pin di uscita della turbina la frequenza non sia stabile ...

Anche perché sarebbe in violazione del punto 16.11 del regolamento NON essendo un problema di Arduino ma della parte elettronica della Turbina ... ::slight_smile:

Guglielmo

Invia il segnale a onda quadra a un CD40106 e poi in pasto a zio Arduino

a parte che continua a non essere un problema di arduino, ma non credo che l'onda quadra sia instabile in tensione. Sarà instabile in frequenza e uno squadratore non farà nulla di utile.

Nel frattempo che l'OP si "svegli", darei a questo punto eventualmente per scontato che lui abbia calcolato i tempi usando singoli fronti del segnale (non avendo scketch e schema possiamo solo cercare di intuire) il che potrebbe anche portare ad un certo errore nei tempi, ma dipende molto, appunto, di QUALI frequenze parliamo.

Se la turbina gira tra 3000 e 25000 giri ali minuto, si va da 50 a 416 giri al secondo, se il segnale è UNO per ogni giro allora la cosa è strana perché rilevare segnali da 50 a 416Hz credo sia largamente alla portata di Arduino. Ma se per qualche ragione avesse "n" segnali per giro, allora questo discorso si complica perché le frequenze si moltiplicherebbero per "n", e già con 300 impulsi per giro siamo sui 125kHz.

Quindi prima di azzardare soluzioni io aspetterei di sentire il nostro amico, per avere maggiori e più precise informazioni su cosa diamine misura (frequenza, tensioni...), come lo misura (inclusi collegamenti e lo sketch), e cosa vorrebbe in pratica fare. Dando ad esmepio per scontato che questo segnale sia realmente "variabile", dovrebbe cambiare lo sketch e ad esmepio calcolare la velocità non sul singolo impulso ma fare una media degli ultimi "n" impulsi.

Attendiamo.

Io invece mi domandavo cosa sia una "turbina elettrica"

Forse è un compressore o qualcosa di simile...

Datman:
Forse è un compressore o qualcosa di simile...

Vabbè, ma scusate, ce frega qualcosa di com'è sta turbina? :wink:
E' una turbina, e ha un pin che dovrebbe indicare la velocità di rotazione, potrebbe pure essere il contagiri di una moto. Attendiamo l'OP, che dite?... :smiley:

La frequenza puó essere fluttante (jitter) se la ruota che decoda i giri non é simmetrica. Per esempio se ogni giro ha 4 impulsi e la ruota non é simmetrice.

Se un giro fa x impulsi e misuri il tempo tra x impulsi allora la misura é corretta.

Ciao Uwe

Se è così, basta misurare il tempo al primo impulso; ogni N impulsi (con N=numero di impulsi ogni giro), poi, si prende nuovamente il tempo e si calcola il periodo, da cui il numero di giri al minuto. In questo modo si ottiene un valore perfettamente stabile.

No, serve di vedere il codice, il problema non è li
a 3000 rpm un giro dura 20ms, non si fa in tempo a vedere una differenza tra una lettura e la successiva, è al di sotto del tempo di persistenza della retina
a 25000 peggio che peggio, come ho detto il problema non è li
serve di vedere il codice
Ho parlato

Se fa una lettura al secondo, asincrona rispetto alla posizione dell'albero, contando il periodo tra due soli impulsi, ci possono essere differenze che vengono visualizzate una volta al secondo.

Ho scritto. Augh!

Ma attendere l'OP per capire di che minchia stiamo parlando, invece di fare supposizioni, no, eh? :wink: