Come realizzare misuratore di differenza di frequenze ?
Jun 21, 2010 19 Replies
R
RobertoA
Dispongo di due sensori che escono con un segnale in frequenza compreso tra
0 e 100 KHz Vorrei visualizzare su un display la differenza tra le due frequenze Volendo evitare la conversione da frequenza a tensione e la comparazione delle analogiche, come fare per ottenere un segnale proporzionale alla differenza tra le due frequenze di ingresso? Ciao e grazie RobertoA
Didn't find your answer? Ask the community — no account required.
F
Fulvio
Con un microprocessore?
Archlinux on (uname -a)
F
E
emilio
RobertoA ha scritto:
e con quale velocità variano le frequenze? oppure sono sostanzialmente stabili per lungo tempo? comunque puoi leggere il numero di impulsi nell'unita di tempo delle 2 frequenze e poi fare la differenza degli impulsi letti. puoi usare un uC che possieda almeno
3 contatori , 2 per leggere il numero di impulsi e il terzo per creare la base dei tempi. il uC che devi usare dipende dalla velocità con cui varia il segnale. emi
K
kfm
ma nel senso che vuoi la differenza matematica ?
primo segnale ad esempio 90khz secondo segnale 80 khz
risultato 10khz
intendi questo ?
allora ti basta miscelare assieme i segnali l'unione di 2 frequenze da come risultato 2 frequenze e cioe somma e differenza , basta eliminare con un filtro la somma e ti resta la differenza, questo se sono segnali sinusoidali. per segnali logici , credo che una porta logica con 2 entrate faccia lo stesso lavoro.
E
emilio
kfm ha scritto:
nel primo caso la somma puo andare da pochi Hz a 200KHz....che filtro uso? nel secondo non discrimina la frequenza ,ma la fase (vedi PLL....)
K
kfm
e in effetti non e fattibile
non ti saprei dire , mi pareva fattibile , ma sarebbe facile vedere se funziona con una porta nand . se dici che non va ti credo .
E
emilio
kfm ha scritto:
se scarichi il datasheet del 4046 (è un PLL...) viene spiegato come, con una porta exor si discrimina la fase di 2 F.
R
RobertoA
Si, intendo visualizzare su un display 10.000 oppure -10.000 se l'ingresso
1 e' inferiore all'ingresso 2 come frequenza
R
RobertoA
Questa e' un'ipotesi, credo anche la piu' probabile visto che poi vorrei 'mostrare' il tutto su un display tipo lcd o simili Una roba piccola, tipo strumento portatile per capirci
R
RobertoA
Variano abbastanza poco velocemente, fai conto che la massima velocita' di variazione sia dei 2-3 KHz/sec Si, credo che l'ipotesi piu' probabile sia un brutale conteggio degli impulsi sui due ingressi
L
LAB
In un secondo (o un decimo, se preferisci) conti gli impulsi di uno e, contemporaneamente, gli impulsi dell'altro, dopodiché latchi e fai la differenza.
Ciao
Gianluca
L
LAB
Potresti anche usare un contatore avanti-indietro: dai un offset di
150.000 (o 15.000 se conti per un decimo di secondo), poi il segnale A fa contare avanti per 1 secondo (o un decimo), dopodiché il segnale B fa contare all'indietro per altrettanto tempo. Ciò che rimane, tolto l'offset, è la differenza.
Gianluca
D
Dimonio Caron
LAB ha scritto:
B fa
l'offset,
Non c'e' bisogno di offset, il contatore parte da zero e il risultato se e' negativo va inteso in complemento a 2.
G
Giorgio Padoan
RobertoA ha scritto:
Parli di freq. che parte da 0, cmq sempre con micro. se per le frequenze alte va' bene il frequenzimetro, alle frequenze + basse dovresti usare un periodimetro altrimenti la precisione va' a farsi friggere. Se poi non ti serve precisione alle basse freq. allora non serve. Cmq per fare un periodimetro di precisione necessiti di un micro. con timer possibilmente a 16 bit avente il capture come ingresso, ma non e' indispensabile se ti accontenti di minore precisione.
ciao giorgio
M
maitre Aliboron
Anche se e' quello che non vuoi, mi e' frullata per la testa un'ideuzza, ma tutta da verificare, almeno carta e penna.
Prendo 2 PLL e li connetto in modo che l'uscita di uno entri nell'altro e viceversa. In pratica quello con ingresso f1 ha l'uscita collegata a quello con ingresso f2 e dualmente l'altro (in una connessione che ricorda vagamente un SR latch a NAND o a NOR, tanto per dare un'idea)
La reazione dovrebbe essere tale che quello con ingresso f1 forza il suo VCO a oscillare a f2, mentre quello con ingresso f2 forza il suo VCO a oscillare a frequenza f1.
La differenza delle tensioni di controllo dei due VCO dovrebbe dare una tensione proporzionale alla differenza di frequenza (questione di stabilita' e di lock-in a parte, da verificarsi facendo due calcoletti...).
Se solo avessi un po' di tempo...
maitre Aliboron
R
RobertoA
Che differenza tra integrare le due frequenze e compararle via op-amp ? Fin'ora la soluzione in testa e' il micro che legge, misura le due frequenze, e calcola la differenza a colpi di istruzioni E credo sia anche la piu' semplice in funzione del fatto che poi qualcuno dovra' pilotare il display per visualizzare la differenza di freq. Ciao e grazie RobertoA
R
RobertoA
Si, dicevo parto da 0 giusto per dire da frequenze basse, in realta' si partira' da 500-600 Hz Pensavo di fare uno strumentino col display ed un pulsante per attivare la misurazione Schiacci il pulsante, lo strumento inizia a leggere 200-300 ms e poi aggiorna il display Il vero problema e' che deve andare sott'acqua e quindi la rogna e' il contenitore, il passaggio cavi, l'autonomia batterie, la connettorizzazione per la ricarica e tutte queste belle cosine
M
maitre Aliboron
Nessuna, presumo. Anche la soluzione a micro potrebbe essere piu' che valida. Io ho cercato una soluzione analogica al tuo problema solo per una questione di sensibilta' personale. Poi l'idea mi sembrava interessante e magari postandola trovo qualcuno che abbia tempo di mettersi a fare due conti per vedere se funziona o non funziona (almeno in principio)...
maitre Aliboron
L
LAB
Ma come capisci se è negativo (quindi devi farne il complemento)?
Gianluca
D
Dimonio Caron
LAB ha scritto:
to)?
E' molto semplice. Il bit piu' significativo rappresenta il segno:
0=3Dpositivo, 1=3Dnegativo. Naturalmente il contatore deve avere un numero adeguato di bit per evitare l'overflow anche nel peggiore dei casi.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.