Ir ao conteúdo
  • Cadastre-se

Pic 16f1615, calibração do oscilador interno.


Posts recomendados

PIC16f1615, Calibração do oscilador interno

 

Caros,

                Gostaria de relatar um problema na esperança de consegui solução, tenho alguns PIC’s 16f1615 e estou querendo utiliza-los em um projeto porém de primeira me esbarrei em um problema relacionado ao oscilador interno “INTOSC”, quando eu defino o oscilador para trabalhar a 4Mhz por exemplo, o ciclo de máquina deveria ser 1us “1Mhz” mas na verdade está em 0,726us “1,377Mhz”, segundo o dataheet  o registrador OSCTUNE pode ser utilizado para calibrar o oscilador interno mas mesmo definido o OSCTUNE para a menor frequência ele fica em 0,765us “1,307Mhz” e a maior frequência ele fica em 0,677us “1,477Mhz” , devido a este problema não consigo ter uma base de tempo +- correta ou 1us “1Mhz” +-1%, já programei vários PIC’s da serie 12f/16f com oscilador interno descalibrado e consegui calibrar usando o OSCAL, mas esse 16f1615 está difícil, já li o datasheet diversas vezes principalmente a sessão OSCILADORES e não consigo achar nada que sugere uma solução para este caso, este microcontrolador tem um total de 49 instruções e lembra muito os da serie 18f.

Obs: programo tanto em C CCS como em assembly e defino o RA4 como clockout “INTOSC + CLOCKOUT em RA4” para tentar calibrar utilizando um frequêncimetro ou osciloscópio, se alguém mais experiente tiver alguma ideia de como eu saio dessa enrascada agradeço.

 

Estou quase convencido que adquiri um lote de 16f1615 falsos ou com bug, estou apostando mais que sejam falsos já que mesmo com oscilador externo a frequência interna não fica correta "Fosc/4" mas na verdade fica em 30,7% a mais, a exemplo coloquei um oscilador cristal 20Mhz e programei um código para gerar 1000Hz no pino C0 mas na verdade ele fica em 1307Hz, o mesmo código em outros PICs que tenho 16f e 18f fica certinho 1000Hz,  testei a maioria dos periféricos como ADC, CCP1, PWM,  TIMER's, INTERRUPÇÕES eles exitem no pic mas como é de se esperar o PWM e os TIMER's  não trabalham na frequência correta.

Vou entrar em contado com o vendedor e vê no que dá.

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Uma falsificação com erro desta magnitude é realmente bem grave. Mas tem loco pra tudo.

 

Me lembro que vi um modo de ajustar usando a rede ac como referência. Por muito tempo guardei o link. Devo ter apagado ontem a noite ou hoje de manhã antes de visitar tua pergunta.

 

Já que programas em assembly (iéca) podes tentar adaptar o programa daqui http://blog.larios.tecnologia.ws/iBlog/archives/2881/ que é pro 12f pro teu 16f. Mas antes, permita-me observar: ao colocar cristal externo obviamente programou o fusível para ... cristal externo, né? E claro, seu código está isento de erros, né?

Ah sim, não conheço este mc...

 

abç

 

Link para o comentário
Compartilhar em outros sites

Olá Isadora, obrigado pela dica, conheço o fórum  do Claudio Larios, essa cara é muito bom e já fiz alguns dos projetos dele, portanto consegui substituir o lote que tinha do 16f1615 por outro com o mesmo vendedor, ontem quando cheguei em casa a primeira coisa que fiz foi grava-los com o código que tinha feito e de primeira funcionou certinho, ou seja, para cada frequência que eu escolhia tinha 1/4 na saída clockout do pic, nem precisei mexer no OSCTUNE que é usado no ajuste fino, testei todos eles e todos estão funcionando, diante disso, finalmente fui dormir em paz.

Link para o comentário
Compartilhar em outros sites

  • 7 meses depois...
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...