Medidor LC

Recentemente precisei medir valor de capacitância de alguns capacitores.
Dei uma olhada na net e me deparei com muita literatura. Basicamente encontrei dois tipos de medidores. Os que medem o período da carga do capacitor e os que medem a frequência do oscilador LC formado por este capacitor.
Apesar de estar com diversos projetos em andamento, não gosto de copiar nada da net. Apenas estudo os artigos e procuro fazer do meu jeito e adaptado para as minhas necessidades.
Decidi investir no projeto do circuito que usa um oscilador LC para determinar o valor do capacitor. Este projeto também pode determinar o valor de indutor.
Minha diretiva é usar um simples PIC16F628(A) para fazer o circuito.
Cheguei às equações necessárias para tal e vi que seriam necessárias operações com ponto flutuante.
Decidi então usar o compilador mikroBasic.
Com apenas 2k de memória de programa, não deu nem para resolver a primeira das três equações do projeto.
Como vi que usaram um PIC16F84 no projeto, concluí que fizeram em linguagem assembler.
Devido a esse fato, parti para a tentativa de usar apenas números inteiros com 32 bits e as rotinas matemáticas da Microchip. Teoricamente, consegui que usando apenas inteiros devo chegar ao resultado com alguma precisão.
Não sei se vou conseguir imprensar todo o código nos 2k de memória de programa, mas vou tentar.
O circuito provisório se encontra a seguir:
O circuito oscilador usa um comparador LM311. Já vi circuitos que usam o comparador do PIC. Procurei fazer o mesmo. Por isso não aparece o comparador no diagrama.
Vou partir agora para resolver a terceira equação com inteiros.
Na medida do possível vou postando os resultados.
[]'s
MOR_AL
Dei uma olhada na net e me deparei com muita literatura. Basicamente encontrei dois tipos de medidores. Os que medem o período da carga do capacitor e os que medem a frequência do oscilador LC formado por este capacitor.
Apesar de estar com diversos projetos em andamento, não gosto de copiar nada da net. Apenas estudo os artigos e procuro fazer do meu jeito e adaptado para as minhas necessidades.
Decidi investir no projeto do circuito que usa um oscilador LC para determinar o valor do capacitor. Este projeto também pode determinar o valor de indutor.
Minha diretiva é usar um simples PIC16F628(A) para fazer o circuito.
Cheguei às equações necessárias para tal e vi que seriam necessárias operações com ponto flutuante.
Decidi então usar o compilador mikroBasic.
Com apenas 2k de memória de programa, não deu nem para resolver a primeira das três equações do projeto.
Como vi que usaram um PIC16F84 no projeto, concluí que fizeram em linguagem assembler.
Devido a esse fato, parti para a tentativa de usar apenas números inteiros com 32 bits e as rotinas matemáticas da Microchip. Teoricamente, consegui que usando apenas inteiros devo chegar ao resultado com alguma precisão.
Não sei se vou conseguir imprensar todo o código nos 2k de memória de programa, mas vou tentar.
O circuito provisório se encontra a seguir:

O circuito oscilador usa um comparador LM311. Já vi circuitos que usam o comparador do PIC. Procurei fazer o mesmo. Por isso não aparece o comparador no diagrama.
Vou partir agora para resolver a terceira equação com inteiros.
Na medida do possível vou postando os resultados.
[]'s
MOR_AL