Autor Tema: El contador del PIC  (Leído 3888 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado YF-21

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 185
El contador del PIC
« en: 16 de Abril de 2004, 23:54:00 »
Entre los mensajes aparece un amigo que pregunta la manera de realizar un conteo de eventos externos, retomando la pregunta, creo que hay un registro ( por ahora no he estudiado acerca de eso o al menos no lo tengo a la mano ) que se puede utilizar como oscilador o contador ¿Cuál es y como se configura o funciona?

Por favor, creo que esto es realmente importante ya que un contador es indispensable para muchas aplicaciones

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: El contador del PIC
« Respuesta #1 en: 17 de Abril de 2004, 03:42:00 »
Pues los timer, se pueden configurar que sean incrementados con el clock interno o bien con uno externo, osea contador de pulsos externos. No todos...
Mira en el data... uno tiene la posibilidad de usar un cristal de paso bajo, hasta 200KHZ, pudiendo usar uno de 32,678KHz si se quiere por ejemplo hacer un RTC presiso y poder usar el cristal principal a la frecuencia que se quiera, por ejemplo 40MHz (en los 18f)
También tienes la posibilidad de contar pulsos externos, que es lo que quieres, de una señal que sea síncrona o asíncrona.
Si usas el timer en conjunto con el módulo CCP, en modo comparador, puedes hacer que cuando la cuenta llegue a un número concreto se genere una interrupción, ponga a nivel alto un pin o genere un evento de disparo del AD... De nuevo mira el data...
Saludos desde Huelva (ESPAÑA)

Desconectado YF-21

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 185
RE: El contador del PIC
« Respuesta #2 en: 17 de Abril de 2004, 19:26:00 »
Bueno, Gracias cucaracha, la primera parte lista ... ahora lo siguiente, me imagino que la direccion donde se guardan la cuenta de los eventos la puedo designar yo, tan solo le añado al registro que designé el valor del contador de pulsos (1 o 0) y así se hace .... o no ¿?

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: El contador del PIC
« Respuesta #3 en: 18 de Abril de 2004, 13:40:00 »
Si usas el TMR0 podrás contar hasta 255, puedes usar directamente el registro del TMR0 o otro cualquiera copiando en él el valor del TMR0. Si desearas contar más de 255 puedes hacer que cuando el TMR0 se desborde se incremente otro registro y cuando este se desborde se incremente otro más etc.
Si dispones de 16F87x puedes usar el TMR1 que es temp/cont de 16 bits.

Un saludo

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: El contador del PIC
« Respuesta #4 en: 18 de Abril de 2004, 13:45:00 »
Hombre todo depende de lo que quieras hacer. Por que no comentas un poco el tema... y así te podremos dar una respuesta más concreta.
Saludos desde Huelva (ESPAÑA)

Desconectado YF-21

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 185
RE: El contador del PIC
« Respuesta #5 en: 20 de Abril de 2004, 18:15:00 »
De lo que se trata es lo siguiente ...

Quiero activar un pistón neumatico que bloquee cada carga de 10 piezas cualquiera, por ejemplo contar 10 cajas (con un infrarrojo) y entonces activar el piston con una electrovalvula y su fase de potencia (optoacoplador) entonces es contar 10 eventos y activar una salida  

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: El contador del PIC
« Respuesta #6 en: 21 de Abril de 2004, 05:21:00 »
En ensamblador:

- Debes programar RA4 como entrada de contaje

- Debes programar RA4 para que cuente con flancos de subida o bajada

- Debes cargar inicialmente el TMR0 con: 255-10+1=246=F6 (10 piezas)

- Debes detectar cuando se desborda el TMR0, chequeando el bit T0IF

En C: ... es mucho más sencillo

Un saludo

Desconectado YF-21

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 185
RE: El contador del PIC
« Respuesta #7 en: 27 de Abril de 2004, 17:43:00 »
Gracias camaradas, poco a poco avanzando en el camino de los pics    

Desconectado YF-21

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 185
RE: El contador del PIC
« Respuesta #8 en: 02 de Mayo de 2004, 13:19:00 »
Ya funcionó ... aunque el problema mas serio es el de ser preciso en el tiempo de contaje

POR CIERTO LOS QUE HAGAN UN CONTADOR EXTERNO NO SE OLVIDEN DE PONERLE RUTINA DE RETARDO

Es imposible que uno pueda pulsar un boton por tan solo 1u seg.
Por eso a mi no me funcionaba al simularlo en proteus

Desconectado YF-21

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 185
RE: El contador del PIC
« Respuesta #9 en: 08 de Mayo de 2004, 10:37:00 »
Otra opcion mas confiable que detecté es aplicar un bucle hasta que el boton de contado se suelte y es mas confiable que utilizar un contador de tiempo ya que si se queda atorado o el objeto a contar lo mantiene presionado cierto tiempo, lo contaria como mas de 1 si se aplican bucles de tiempo ¿esta claro? ... creo que hasta yo me confundí con mi explicacion  

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: El contador del PIC
« Respuesta #10 en: 08 de Mayo de 2004, 18:54:00 »
Hola, eso es lo que se llama antirrebote...

todos los contactos actuan con el efecto de accion-reaccion, como la maza que golpea un yunque... rebota...  los contacto hacen igual..

y esos rebotes son tomados como aperturas y cierres de contactos...  que en el peor de los casos puede llegar a 80 ms..

yo lo que hago es, al sensar que un contacto es puesto a masa, salto a una subrutina de retardo de 80 ms.. luego senso nuevamente si esta a masa...  si aun esta a masa, espero a que suelte (verifico si es 1, y quedo en un loop)

esto es una de las posibilidades y segun el caso....

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...


 

anything