por MOR_AL » 04 Set 2012 17:13
Olá!
Este tópico foi usado para eu pedir auxílio sobre problemas encontrados por mim, quando usei o PIC873A pela primeira vez, para fazer o projeto do Gerador de Sinais com o chip AD9850. A partir desta postagem criarei um novo tópico exclusivo do frequencímetro.
Como uma primeira etapa, fiz um frequencímetro, que será usado no Gerador de Sinais.
O frequencímetro está quase pronto.
Já consegui:
1 - Gerar um período (Ton) com precisão, no qual os pulsos são aquisitados. Esse período possui 5.000.000 de clocks, o que para um cristal de 20MHz, gera um período de 1,000.000 segundo. Preciso até 1 microsegundo.
2 - Dentro desse período Ton, há a verificação do transbordo do TIMER0 e atualização dos dois registros extras, que permitem contagem de até 2 bilhões de pulsos. Há limitação da taxa máxima de 40 milhões de ciclos, portanto esse será o valor máximo contado.
3 - Para total controle do tamanho do período Ton e que ficasse independente o caminho que as instruções seguem (as eventuais atualizações do registros), a linguagem usada foi assembler.
4 - O frequencímetro possui uma etapa inicial, que mede o número de clocks dentro de Ton. O valor correto é 5.000.000. O resultado medido é mostrado no LCD por 10 segundos. Acho que ficou muito tempo, então reduzirei este tempo para uns 5s.
5 – Incluí um ajuste fino da frequência do oscilador do PIC. Ao acionar uma chave (Aj de Ajuste), que entra no pino AjI (de Ajuste In), o pino AjO (de ajuste Out), pino RA2, fornece uma frequência bem próxima de 1Mc/s. Com um frequencímetro comercial neste pino, pode-se ajustar a frequência exata do cristal para 1.000.000 c/s. Não medi diretamente no pino do cristal para não falsear a medida devido à capacitância da ponta de prova.
Em tempo.
A frequência de oscilação do PIC, medida no frequencímetro comercial, antes de ser ajustada, apresentou 1.000.07X c/s. Frequência no pino RA2, gerada por algumas instruções. Isso significa que, sem ajustar, a precisão era de uma parte em 10 mil.
Após o ajuste, o frequencímetro mostrou 1.000.000 c/s, o que informa um valor correto. A precisão agora depende apenas do frequencímetro comercial.
6 – Estou incluindo um CI para que o frequencímetro não apresente baixa impedância no ponto elétrico a ser medido. É o 74HC14, um Hex Schimitt Trigger. Não o tenho, portanto ainda não testei. Achei importante incluir o CI porque como consta em diversos sítios, há um pequeno período em que o circuito de entrada do frequencímetro apresenta baixa impedância para o ponto de medição da frequência. Nesse período o meu Gerador de Sinais, construído com um XR2206, tem o sinal atenuado, o que não é bom.
7 – No presente momento o frequencímetro aceita níveis TTL somente, o que é o necessário para medir a frequência do Gerador de Sinais. No futuro, talvez, eu tente incluir um circuito que aceita sinais de entrada com menos tensão. Já comecei simulando o circuito, mas os resultados ainda não são satisfatórios.
8 – Incluí também, ao se ligar, os créditos mostrados no LCD. A imagem fica por uns 10 segundos e depois passa a mostrar a frequência, dependendo do estado da chave Aj.
Achei importante colocá-lo, uma vez que o tornarei público (o arquivo .hex), para quem quiser copiar. Este procedimento seria o único custo do projeto. Sei que há diversos projetos de frequencímetros na net, portanto, para quem não desejar que apareçam os créditos, basta copiarem os disponíveis na net.
9 – Agora faltam apenas alguns detalhes pequenos, como informação via LCD, da função atual. Se frequencímetro ou ajuste do oscilador.
Na medida do possível, estarei postando os resultados. Se der faço um vídeo do projeto.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain