Programación Específica > Microcontroladores

 Problemas Con El Timer

(1/2) > >>

Ian...:
Guenas .....hace poco empece un programa en donde necesito tomar pulsos externos y a la salida generar dos pulsos con el mismo ancho del pulso q me fue ingresado.el problema es q deben estar defasados entre si 90° uno respecto del otro. Otro inconveniente q se me genera es q los pulsos recividos son variables osea q voy a tener q estar constantemente testeando los impulsos.

 Lo unico q se me ocurrio es poner registro vinculados con la entrada del dato  para obtener el tiempo total del pulso pero nose como podria llegar a calcular los 90° para poder generar el defasaje de la señal.

 desde ya como siempre estoy muy agradecido con las personas q me puedan ayudar!!!
saludos
Ian...

Pd: Me olvidaba decirles q programo en ASM y se muy poco en C

Alternative:
Saludos...
mira te recomiendo que utilices dos tablas
uno que te dara el valor del periodo normal y el otro que te dara
el valor a cargar al TMR0 con su respectivo defasamiento.

Bueno, haber si me explico, te recomiendo que lo realices con TMR0
el valor capturado (entrada) se debe comparar para saber a que valor
le corresponde en la tabla 1, y en la tabla dos en su misma direccion
debe tener el valor del defasamiento entre ellos, ya lo he echo nadamas
que con otros valores de defasamiento.


Saludos
bye

Alternative:
Saludos

Oyes nose si tendas el libro
RA-MA Editorial: Microcontrolador PIC16F84. Desarrollo de proyectos.
necesito que si lo tienes me puedas ayudar scaneando los capitulos

Capítulo 21: BUS I2C

21.1 El bus I2C
21.2 Hardware del bus I2C
21.3 Transferencia de un bit por la línea SDA
21.4 Condiciones de START y STOP
21.5 Transferencia de datos
21.6 Formato de una transferencia de datos
21.7 Tipos de formatos de transferencia
21.8 Temporización
21.9 Conexión de bus I2C a un PIC16F84
21.10 Librería de subrutinas para bus I2C
21.11 Dispositivos I2C


Gracias
Saludos

mi correo es

pmluis@gmail.com

Huguen_aus_Tirol:
Hola Ian! Bueno, según lo que entiendo de tu problema, creo que sería conveniente usar un micro con modulo CCP, configurado en modo de captura; con esto mides el ancho del pulso.
Que estén desfasados 90º significa que el segundo pulso comienza justo a la mitad del tiempo del primero, si no me equivoco :) . Es decir, el valor medido lo divides por 2 (rotas una vez este valor a la derecha ;) ); generas tu primer pulso (en fase), esperas este tiempo calculado, y generas el pulso desfasado.
Se me ocurre usar el modulo CCP porque creo que es lo más rápido. En este caso tienes ocupado el timer1 para la captura, asi que tendrás que usar el timer0 para generar tu pulso. Es lo que se me viene a la cabeza en este momento... puede que haya otra solución...
Bueno, que micro? Puede ser el 16F627/8.
Saludos!

Alternative:
SAludos
Es una buena alternativa como dice Huguen_aus_Tirol, pero quiero corregirlo, un periodo completo tienen 2PI y el defasamiento de 90grados que quieres Ian.. es de PI/2 asi que no es lamitad, sino 1/4 del periodo de la entrada

SAludos.
 :hola:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa