Página 1 de 1

Sensor de Disparo

MensagemEnviado: 02 Out 2012 19:52
por Leomatias
Boa noite a todos!

Gostaria de pedir uma opinião de vocês em relação a um sensor de disparo de tempo que estou implementando. Existia um equipamento similar antigo, com dois fototransistores utilizados em aulas práticas que quando o feixe era interrompido dispara o tempo neste cronômetro/sensor. Pois bem, estou tentando implementar algo parecido com o PIC 16F877. Está funcionando mas comparando com o antigo que funciona bem ou tentando verificar a sua calibração, noto que o mesmo apresenta um retardo maior na contagem. Estou usando int. externa pelo RB0 por borda de descida, que quando ocorre a transição liga o Timer1 - estou trabalhando com ele também com interrupção. O mostrador são displays de sete segmentos que utilizam a técnica de multiplexação que "engana" o olhar do observador. Não entendo, fiz os cálculos e aparentemente o programa está O.K, tudo configurado. Troquei o cristal antes que era de 4Mhz para um de 12 por sugestão de um amigo, mas creio que ainda está com uma imprecisão ou retardo no tempo comparado pelo osciloscópio e o sensor/cronômetro antigo que funciona bem. Estou usando o Mikrobasic. Alguma dica pessoal, desde já agradeço vocês mais uma vez.

MensagemEnviado: 02 Out 2012 22:06
por Djalma Toledo Rodrigues
E qual a ordem de grandeza desse tempo?

MensagemEnviado: 02 Out 2012 22:57
por Leomatias
Olá Djalma.

São 04 displays de 07 segmentos para contar o tempo. Coloquei um botão que incrementa esta contagem de tempo variando as casas em unidade, dezena, centena e milhar. Percebo que os tempos calculados para a leitura nos displays como centena e milhar o erro é muito maior. Quando esta selecionado para mostrar o tempo em dois algarismos ou apenas um display o erro é menor na ordem de 1 segundo, mas a diferença de contagem depende muito da duração do pulso entre os dois fotodetectores.

MensagemEnviado: 03 Out 2012 14:57
por RobL
Esqueceu de dizer a ordem de grandeza do que está medindo.
Se for tempos curtos, abaixo de 1 segundo, usar captura é o bicho. Acima deste valor, pode ser também, mas vai haver vários reloads do timer, isto complica.

Falta dizer se esta reinicializando o timer 1 após coletar contagem, se há capacitores que não se descarregam totalmente ou como é a entrada do sinal. O problema pode estar neste adequador de sinal (antes do micro).
Se não há precisão (cada tomada um valor diferente), verifique se tem capacitor de desacoplamento suficiente entre Vdd e Vss do chip.

MensagemEnviado: 03 Out 2012 15:24
por Leomatias
Olá Robl!

Como são 04 displays ele está com precisão de centésimos de segundo. O pulso entra por RBO int. externa que habilita T1con. A interrupção de Timer1 ocorre quando acontece o transbordo incrementando as variáveis de contagem... não sei o que está acontecendo, o programa parece estar correto.

MensagemEnviado: 05 Out 2012 09:44
por ze
voce pode adequar melhor o sinal com um inversor smith trigger (cara. esta é a terceira vez que uso este termo nos últimos dias). ou se for problema de capacitor não descarregado, momentaneamente torne o pino como i/o e saída e zero depois do evento. nem vai fazer cosquinha pois dentro de centésimos de segundo, isso é tempo de planck