Ir ao conteúdo
  • Cadastre-se

Contagem de tempos longos


Buracov

Posts recomendados

Olá pessoal, estou tentando desenvolver um timer com tempos acima de 10 minutos por exmplo 20 minutos, utilizando um PIC16F628a, cristal de 4mhz ,em Mikro C.

Seria mais ou menos assim: ao pressionar um micro switch vai ligar um rele1 , e vai monitorar um (Termostato NA) , quando o termostato fechar seu contato vai desligar o rele1 e iniciar a contagem do tempo 15 minutos, quando a temperatura cair (termostato abre o contato) liga o rele1 novamente e vai fazendo isso até o fim do tempo, quando acabar o tempo, desliga o rele1 aciona o rele2 por 1 minuto , toca o buzzer indicando que é para soltar o micro switch , quando o micro não estiver mais pressionado, vai monitorar o

termostato2(NF) ligando e desligando o mesmo rele1 e contar um tempo de 20 minutos, quando o termostato2 abrir o contato desliga o rele1 até o fim do tempo, ao final toca o buzzer 3 vezes e volta ao inicio esperando o operador pressionar o micro novamente.

Ufa meio confuso?

qualque coisa eu tento desenhar algo.

Agradeço desde já

Link para o comentário
Compartilhar em outros sites

Só bota pro timer estourar no maior tempo possível e com maior precisão (pois o erro vai sendo multiplicado conforme passa o tempo), dai na interrupção tu coloca uma variável para contar e ja eras. Tente usar um daqueles timers com PRx pra definir o periodo de modo que não precises escrever no contador TMRx, isso da mais precisão. Veja bem, se conseguir um timer estoure a cada 250mS, basta contar até 4800 para 20min. Faça por interrupção para dar mais precisão também.

Link para o comentário
Compartilhar em outros sites

Basta voce contar vários ciclos do timer, e pronto.

Se quiser muita precisão, e não conseguir achar um fator de divisão para o Timer que atenda uma base de tempo precisa, pode fazer um PLL por software .....

Por exemplo, usar um fator de divisão durante X ciclos de clock, e depois mudar esse fator para outro durante Y ciclos de clock, vai obter um valor médio com erro muito baixo, mesmo a longos períodos. É só calcular o X e o Y em função do clock real e da base de tempo que voce deseja.

Ou em último caso, usar um cristal mais "amigável" para facilitar a divisão ... mas que vai custar bem mais caro !

Paulo

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!