Medir frequência com contador.

Para "abobrinhas" use o " Boteco"

Moderadores: andre_luis, 51, guest2003, Renie

Re: Medir frequência com contador.

Mensagempor brasilma » 22 Set 2015 11:57

Obrigado Ze,

Não posso utilizar nenhum timer do sistema, mas gostaria de entender melhor a ideia, como é feita a leitura do sinal nesta sintaxe?
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Re: Medir frequência com contador.

Mensagempor KrafT » 22 Set 2015 13:23

brasilma escreveu:O meu sistema usa o '393 como contador e o '245 como porta de entrada, funciona muito bem, ontem comecei a montar outro conjunto de '393 e '245 para colocar em cascata.

O interessante desta solução é que não utiliza nenhum recurso do micro.



Brasilma, eu comecei a ter problemas no seguinte ponto:

A contagem está em 0111111111111111. Ao passar para 100000000000000, isso não acontece imediatamente, mas sim num efeito dominó. Se eu habilitar o latch durante a transição, minha leitura fica aleatória.

Mas, como disse antes, isso faz mais de 15 anos... Talvez fosse problemas do CI, ou da frequência utilizada, enfim, não me atendeu.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2228
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Medir frequência com contador.

Mensagempor ze » 22 Set 2015 13:50

Vamos tentar... Vc disse que jé tem uma interrupção a 1.6KHz (pelo menos foi o que entendi). A ideia é aproveitar a passagem por ela pra fazer uma espera de 1 segundo pra medir a freq. (de fato não precisa ser 1s). Vc deve habilitar o pino do seu (desconhecido) mc pra ser entrada de contador de um timer16 bits qualquer. Se for 8, vc pode habilitar um prescaler
Código: Selecionar todos
unsigned int contador1600,freq; //16 bits. Sua leitura não pode passar de 65535Hz
if (contador1600++>1599) // a cada passada pela isr incrementa uma variável contador1600. Depois de 1599 passadas já se passou 1 segundo
{
contador1600=0; //vamos zerar este contador pra recomeçar novamente de novo outra vez na próxima vez
freq=TIMER16bits; //vamos ver quantas contagens por hw houveram em 1 segundo
TIMER16bits=0; //e, claro, vamos zerar a contagem pra recomeçar.
}

Se vc puder deixar a interrupt com taxa menor, pode usar variável char no contador16 o que causa um pouco mais agilidade no sistema
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Re: Medir frequência com contador.

Mensagempor brasilma » 22 Set 2015 15:30

Compreendi Kraft, vamos ver o que acontece, pretendo colocar um osciloscópio digital em paralelo para comparar os resultados, mesmo assim sei que não é garantia que em algum momento não possa ocorrer um problema. Volto para comentar os resultados parciais...

Por falar nisso: http://www.bbc.com/portuguese/noticias/ ... enharia_rb

http://gizmodo.uol.com.br/hifen-nasa/

Compreendi Zé, infelizmente não tenho um Timer disponível, senão com certeza resolveria; prescaler não pode, preciso de resolução unitária.

Abraços.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Re: Medir frequência com contador.

Mensagempor ze » 22 Set 2015 15:51

Entendi... Neste caso a sugestão que dou é... use um outro mc simples pra esta missão (quiçá otras cositas más) só como contador - e de quebra frequencímetro: dados mastigados. Pra isso faça-o conversar com o principal vá de spi, i2c, 1wire, serial, paralelo, vc decide. Fica mais enxuto, pci menor, talvez custo menor, mais desafiador e alguns etc.
Sucessos!
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Re: Medir frequência com contador.

Mensagempor Red Neck Guy » 22 Set 2015 16:26

Digamos assim:
1)Você cria um oscilador com uma frequência muito mais alta do que a medida que será medida pelo teu circuito
2)Você joga o sinal no enable do contador e "conta" somente durante a "largura" do ciclo positivo.( :( desde que seja simetrico)
3) Você tem o período na leitura do latch

Como você irá trabalhar com um clock muito alto, creio que o erro será minimizado.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: Medir frequência com contador.

Mensagempor Djalma Toledo Rodrigues » 23 Set 2015 10:39

Para que seja preciso sugiro:

Contador externo
Base de tempo Externa*
Gate sincronizado * *


(*) Lembrar que o uC só atende a interrupção após término da instrução em curso.

(**) Gate não síncrono pode acarretar variação de leitura de dois ciclos.
Visualizando:
É como uma porteira passa boi, passa boiada...
Uma porteira não sincronizada pode cortar um boi e contar como mais um.
Trágico isso :cry:

Dj.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Re: Medir frequência com contador.

Mensagempor brasilma » 23 Set 2015 11:05

Obrigado Aquino, assim dá certo também, foi um dos métodos que vi para a leitura de frequência!

Ok Djalma, sim estou ciente da possibilidade do problema da falta de sincronismo entre o contador e a leitura, quero ver qual o tamanho do erro e frequência, talvez um filtro de segurança na rotina de leitura elimine essas aberrações.

Abraços.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Re: Medir frequência com contador.

Mensagempor egipts » 24 Set 2015 11:03

andre_teprom escreveu:Vou na mesma linha que o KrafT, os contadores assincronos são propensos a induzir a falsas contagens devido aos estados intermediários, sobretudo nesse caso aí onde serão usados N flip-flops ( sendo N >10 ), mas de qualquer modo via algoritmo é possivel detectar "pontos-fora-da-curva" de uma média-móvel e contabilizar apenas aqueles que parecerem corretos.

Coincidentemente, fiz uma simulação comparando os dois tipos aqui: Performance de contador Sincrono x Assincrono


Nossa que legal André, legal essa simulação. Vou tentar separar um tempo para brincar com esse LTSpice que você mencionou.
Só não entendi uma coisa: esse atraso que acontece em cada FF e representa um total de 46ns, ele é acrescentado ao sinal final (mudança do período/freq.) ou apenas atrasa ele em relação à entrada?
egipts
Byte
 
Mensagens: 318
Registrado em: 22 Out 2006 01:43
Localização: Mairiporã - SP

Re: Medir frequência com contador.

Mensagempor andre_luis » 24 Set 2015 12:19

Então, o atrazo de cada flip-flop significa que durante esse intervalo o valor da contagem não vai ser confiável, e desse modo vai demorar o atrazo total dos N flip-flops para que o valor da contagem se estabilize. Claro que se esse valor for muito abaixo da frequencia de contagem na pratica não vai interferir muito, mas não seria o ideal fazer dessa maneira.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Medir frequência com contador.

Mensagempor Djalma Toledo Rodrigues » 24 Set 2015 12:58

Não querendo atraso de cada FF usar Contador Síncrono TTL

Mas cogitar atraso FF só para frequência muito alta, como disse andre_teprom.

Dj.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Re: Medir frequência com contador.

Mensagempor brasilma » 24 Set 2015 15:17

Já realizei a inclusão do contador e transceiver adicional ao circuito e dei uma alterada no soft.

A noite pretendo fazer o teste!!!
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Re: Medir frequência com contador.

Mensagempor egipts » 24 Set 2015 16:47

Legal galera.. muito bom esse tópico...
egipts
Byte
 
Mensagens: 318
Registrado em: 22 Out 2006 01:43
Localização: Mairiporã - SP

Re: Medir frequência com contador.

Mensagempor brasilma » 24 Set 2015 22:11

Funcionou da maneira que esperávamos, indica na maior parte do tempo o valor perfeitamente correto 1.000Hz da referência do osciloscópio, esporadicamente (bem raro) mostra 9090 e 9990 abaixo uma foto do sisteminha.

16ks1za.jpg
Você não está autorizado a ver ou baixar esse anexo.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Re: Medir frequência com contador.

Mensagempor brasilma » 24 Set 2015 22:27

Olhando para a imagem agora percebi um mostruário de fabricantes e tecnologias de circuíto integrado, rsrsrs

Não comprei nenhum deles, "catei" do meu gaveteiro 74LS, antes de cada inserção tomei o cuidado de acessar o data-sheet correspondente e verificar a compatibilidade.

Mesmo assim no caso de alguns, caso alguma coisa não fosse bem os primeiros suspeitos seriam eles. Detalhe para este 'SC245 nem imagino quando e de onde veio isso, tem HC, HCT e LS tudo "zunto e misturado", viva a bagunça!!!
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

AnteriorPróximo

Voltar para Assuntos Gerais

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x