Autor Tópico: Detectar largura de pulso atraves do modulo CCP  (Lida 3934 vezes)

Description:

0 Membros e 1 Visitante estão vendo este tópico.

rtillyj

  • Visitante
Detectar largura de pulso atraves do modulo CCP
« Online: 17 de Novembro de 2010, 16:53 »
Boa Tarde,

    Sou novo por aqui, primeira vez que escrevo no forum.

   Preciso de uma ajuda para detectar a variação de um pulso pwm utilizando um PIC 18F2455, estou utiizando o mplab e o compilador ccs, minha programação esta em linguagem C, ja estou com o programa quase pronto apenas falta esta pendencia que não havia considerado no meu fluxograma.

   Tenho um pulso PWM para controlar um sevo com periodo de 14ms, o pulso em stand by tem 1,4ms e varia de 800us e 2ms e preciso detectar essa variação, caso o pulso aumente (1,4~2ms) colocaria em nivel logico alto algum portb, caso o pulso diminua (0,8~1,4ms) colocaria em nivel alto outro portb.

   Andei fazendo algumas pesquisas e descobri que atraves do modulo ccp é capaz de detectar a largura de um pulso, porem não consegui implementar, a principio ligaria leds nos ports escolhidos para indicar se o servo viraria para esquerda ou direita, conforme variação do pulso.

   Caso alguem tenha alguma sugestão de como posso declarar a função ccp usando a biblioteca do ccs em C e alguma programação para que eu consiga detectar um pulso em uma porta do pic fico muito agradecido, se eu conseguir detectar a largura do pulso e verificar se ela é maior ou menor que 1,4ms ja terei todos meus problemas resolvidos.

  Agradeço a atenção
        Reinaldo T. Jr.

Offline ivan braga

  • Se os fatos não se encaixam na teoria, modifique os fatos. Albert Einstein
  • Novato
  • *
  • Posts: 36
  • Sexo: Masculino
Re: Detectar largura de pulso atraves do modulo CCP
« Resposta #1 Online: 19 de Novembro de 2010, 00:20 »
Olá Reinaldo.

Leia o arquivo que anexei, se mesmo depois da leitura você continuar não entendendo, poste suas dúvidas.

Abraço.

Ivan Braga


rtillyj

  • Visitante
Re: Detectar largura de pulso atraves do modulo CCP
« Resposta #2 Online: 19 de Novembro de 2010, 09:36 »
 Ivan, muito obrigado, pelo que entendi esse modo faz exatamente o que preciso.

  Agora o problema que tenho é que não consigo encontrar nas bibliotecas os comandos para ativar e configurar esse modo em liguagem C para o mplab com o compilador CCS.

Offline ivan braga

  • Se os fatos não se encaixam na teoria, modifique os fatos. Albert Einstein
  • Novato
  • *
  • Posts: 36
  • Sexo: Masculino
Re: Detectar largura de pulso atraves do modulo CCP
« Resposta #3 Online: 19 de Novembro de 2010, 21:41 »
Reinaldo.

Usei um exemplo que esta incluído na própria pasta de exemplos do CCS, e usei o proteus para simular.

Baixe o anexo. E adapte para suas necessidades.

Ivan

ps. leia o help do compilador e explore as pastas do mesmo, isso também ajuda muito.

rtillyj

  • Visitante
Re: Detectar largura de pulso atraves do modulo CCP
« Resposta #4 Online: 28 de Novembro de 2010, 17:01 »
 Ivan,

   Obrigado, não sabia que o ccs tinha esses exemplos, estava usando somente como plugin do mplab para programar em C, não tinha nem aberto o ccs... Mas de qualquer forma não consegui utilizar o ccp do modo que gostaria...

   Acabei utilizando meus conhecimentos de engenheiro e projeitei um filtro passa baixa para estrair o nivel medio do sinal pwm, assim consigo um sinal satisfatorio para usar no conversor a/d, dessa forma consegui detectar a variação do duty do pwm atraves da variação do sinal medio, com isso ja resolvi o meu problema.

   Mais uma vez obrigado pela ajuda!

 

/** * */