Como fazer um PIC (qualquer um) funcinar como monoestável

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Como fazer um PIC (qualquer um) funcinar como monoestável

Mensagempor Cefas » 08 Fev 2012 21:08

Caros,

Tenho pouca experiência com microcontroladores da microchip e tenho que fazer um circuito que captura um nível alto em uma sequência de pulsos e impõe "um" em uma saida do PIC, mas quando os pulsos se acabam a saida deve ir para nível baixo.
Estou com certas dificuldades.
Cefas
Nibble
 
Mensagens: 58
Registrado em: 26 Dez 2011 19:47

Mensagempor _blackmore_ » 09 Fev 2012 11:08

:?: certa dificuldade em que? :?:
Ouça mais classic rock
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor ze » 09 Fev 2012 16:10

pic é muito pum pra pouco cocô. isso deve atender seus requisitos de entrada:
Código: Selecionar todos
[SINAL]--[capacitor]--[resistor]--[base dum pnp]--[resistor pro +]...
...[emissor no +]---[SAÍDA NO COLETOR]---[resistor em paralelo com capacitor]---[gnd]

Ou
Código: Selecionar todos
capacitor diodos capacitor porta inversora smitch trigger...

etc
Tô sem lapis e papel agora
sucessos
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor RobL » 09 Fev 2012 16:58

Um monoestável receberia um pulso, dispara uma temporização, por exemplo, nível alto, e ao final desta, volta a zero, independente se pulsos estão chegando, durante a temporização. Após o término da temporização, novo pulso, nova temporização.

O que você escreve é que enquanto tiver pulsos na entrada, você quer nível alto na saída e após cessar os pulsos a saída vem a zero.

Isto pode ser feito com um filtro passa baixa RC ou com um amplificador operacional com esse filtro, conforme o pavoroso lellis !!!

Para fazer com um PIC tem 1001 caminhos. Um deles :
Testa se chegou um pulso em uma porta, por varredura ou interrupção, dispara um timer e sobe uma outra porta.
Se antes de terminar a temporização que você determinou, se chegar outro pulso na entrada, o timer é reinicializado e a porta com a saída continua alta. Se a temporização chegar ao final, a porta de saída vem a zero.
O tempo do timer (timeout) será definido pelo maior tempo entre dois pulsos consecutivos que for admitido.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor Cefas » 09 Fev 2012 20:58

Obrigado, pessoal!
Cefas
Nibble
 
Mensagens: 58
Registrado em: 26 Dez 2011 19:47

Mensagempor andre_luis » 09 Fev 2012 21:31

No circuito abaixo, basta voce inverter a entrada pra atender á sua especificação :

Imagem

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor RobL » 10 Fev 2012 11:03

Penso que com o 555 como monoestável não vai dar.

Supondo, invertendo o trem de pulsos.
Na primeira descida, dispara a temporização. Dai até o final da temporização, os pulsos que chegarem não alteram a saída, continua temporizando.
Se a temporização terminar entre os pulsos, muda o estado da saída, o que não poderia ocorrer enquanto tiver o trem de pulsos na entrada.
A saída só poderia mudar de estado, após não ocorrer mais pulsos, ou um tempo eleito para tal (timeout).
O que ele quer não é um FF monoestável.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Re: Como fazer um PIC (qualquer um) funcinar como monoestáve

Mensagempor EvandrPic » 10 Fev 2012 12:01

A quantidade de pulsos dessa sequência que você quer capturar é fixa ou varia?

Cefas escreveu:Caros,

Tenho pouca experiência com microcontroladores da microchip e tenho que fazer um circuito que captura um nível alto em uma sequência de pulsos e impõe "um" em uma saida do PIC, mas quando os pulsos se acabam a saida deve ir para nível baixo.
Estou com certas dificuldades.
EvandrPic
Dword
 
Mensagens: 2116
Registrado em: 31 Mar 2010 15:05

Mensagempor cesinha » 10 Fev 2012 15:13

Veja 74LS123...
cesinha
 
Mensagens: 1
Registrado em: 07 Jul 2009 08:08

Mensagempor Cefas » 10 Fev 2012 16:21

EvandrPIC,

A quantidade de pulsos e variavel, se não fosse por esse pequeno detalhe, eu usaria um 555.

Muito Obrigado, pela atenção!
Cefas
Nibble
 
Mensagens: 58
Registrado em: 26 Dez 2011 19:47

Mensagempor andre_luis » 11 Fev 2012 11:56

A primeira especificação descrevia exatamente o funcionamento de um monoestável.
Me parece que a escolha da constante de tempo do circuito superior ao maior intervalo entre pulsos, já seja condição suficiente para atender ao que ele precisa.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor Cefas » 11 Fev 2012 17:25

Pessoal acho que eu não me expressei bem, oq quero fazer é:
Imagem
Cefas
Nibble
 
Mensagens: 58
Registrado em: 26 Dez 2011 19:47

Mensagempor EvandrPic » 11 Fev 2012 19:02

Cefas escreveu:Pessoal acho que eu não me expressei bem, oq quero fazer é:
Imagem


Imagem

Uploaded with ImageShack.us
EvandrPic
Dword
 
Mensagens: 2116
Registrado em: 31 Mar 2010 15:05

Mensagempor EvandrPic » 11 Fev 2012 19:08

Pelo que vemos no desenho você quer que um pino do PIC fique em nível alto enquanto o mesmo estiver recebendo dados pela serial RS232 a uma velocidade de 115200 bps.

O que você quer então é informar que não há mais informação RS232 chegando.
E se você colocar essa informação na porta serial do PIC e usar a interrupção de recepção da mesma para manter um pino em nível alto quando a informação estiver chegando e em nível baixo quando não estiver presente?
EvandrPic
Dword
 
Mensagens: 2116
Registrado em: 31 Mar 2010 15:05

Mensagempor andre_luis » 11 Fev 2012 20:28

Sim, poderia usar o módulo CCP para isso.

No final das contas, seria o mesmo que implementar a função monoestável por firmware.

:)



+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Próximo

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x