Autor Tema: Problema con Pin RA4 configurado como contador  (Leído 3493 veces)

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

Desconectado cidtepole

  • PIC10
  • *
  • Mensajes: 5
Problema con Pin RA4 configurado como contador
« en: 28 de Julio de 2009, 16:03:05 »
Hola que tal, envio un cordial saludo a todos los foreros. Resulta que mi problema es el siguiente: Con un pic16f877A configuro el puerto b como salida, los pines RA0..RA3, RA5 como salida y el RA4 como entrada en modo contador. En el pin RA4 conecto un sensor de campo magnetico. La idea de este sensor es la de detectar corriente alterna. Cuando hay corriente alterna la salida del sensor proporciona pulsos entre 5 y 0 volts aproximadamente a una frecuencia de 60hz y donde el ciclo de trabajo es de aproximadamente de 70 a 80%; en ausencia de corriente proporciona 5 volts. Por las salidas RA0, RA2 y RA3 tengo conectados unos reles que encienden unos focos. El sensor detecta el campo magnetico del foco que es activado por RA0. En el momento de toglear el pin RA0 para encender y apagar el foco aproximadamente como 4 veces la senal sobre el pin RA4 se encuentra estable, pero si yo sigo togleando la senal del sensor mas de 4, 5 o 6 veces  mas la senal decae a 0 volst y cuando esta encendido el foco ya no hay pulsos sobre el pin RA4. Si alguien me explicara que esta pasando se lo agradeceria.

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Problema con Pin RA4 configurado como contador
« Respuesta #1 en: 28 de Julio de 2009, 22:27:12 »
Hola, es dificil sin ver el circuito, en que lenguaje está escrito... y foco, te refieres a un led? o una lampara de filamento?
está en un protoboard?... faltan datos para poder ayudarte  :mrgreen:

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

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

Desconectado favdas

  • PIC10
  • *
  • Mensajes: 4
Re: Problema con Pin RA4 configurado como contador
« Respuesta #2 en: 24 de Junio de 2010, 14:26:21 »
Hola que tal, tengo el mismos problema que cidtepole con el pin RA4, cuando el pic manda a encender la bombilla o en mi caso un ventilador usados para prueba, estos al encenderce reflejan una corriente al sistema que es leida en RA4, pero despues de hacer la primer lectura , se pone a estado alto, supongo por que en vez de 5v en el pin solo me da 0v, hasta que apago y prendo todo, pero solo fuenciona una sola vez, adjunto el dibujo y el programa esta realizado en asm.

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Problema con Pin RA4 configurado como contador
« Respuesta #3 en: 25 de Junio de 2010, 14:04:15 »
Como estais contando con RA4 con el TIMER o a "pelo" (solo chequeando el pin)?
Como estais activando los reles? tienen diodo de proteccion? red snubber? no tienen nada?
En la alimentacion de 5V filtrais algo para evitar el ruido que os estan produciendo los reles (porque estoy casi seguro que los cabrones de los reles os estan metiendo ruido).
Los pasos por 0 se pueden detectar con el PS2505, es la mejor manera, tambien con un opto normal y una resistencia, aqui solo detecta un paso por 0 por ciclo en vez de los dos pero se puede suplir por soft, y tambien con una resistencia solo, os digo esto porque todo lo que sea magnetico, casi seguro lleva bobinas, y las bobinas dan interferencias.
Como os dice todopic darnos informacion, hard y soft de como lo teneis.

Desconectado favdas

  • PIC10
  • *
  • Mensajes: 4
Re: Problema con Pin RA4 configurado como contador
« Respuesta #4 en: 29 de Junio de 2010, 16:09:46 »
Hola tapi8, gracias por contestar, por lo que me señalas de la informacion adjunte mi diagrama donde se ven claramennte las conexiones, también voy anexar el código con la que leo la señal de entrada, estos días he analizado la señal proveniente del sensor de efecto de hall con un osciloscopio y observo que el vlotaje a la salida de éste no se cae cuando enciendo la carga(ventilador etc), esta señal proviene del PIC  y va hacia un OptoAcoplador, la salida de este opto va a un transistor, éste conmuta al relevador y enciendo o apago la carga, al hacer esto constatemente no pasa nada al SEH(no se atenua), esta señal la envío a otro Opto y despues al PIN RA4 del pic, en donde despues de enviar mas de dos veces a prender y apagar el equipo , el voltaje en este pin se me atenua completamente, trabajando correctamente éste pin tiene un valor de 5v cuando el SEH no sensa ninguna corriente y cuando existe corriente hay un pulso cuadrado de 5v.
Bueno pero despues de que el micro manda a prender y apagar la carga mas de 3 veces en el PIN RA4 se atenua completamente sigue el pulso cuadrado pero con una magnitus de 0.5, revisé la alimentación del micro  y no veo señal de ruido, las filtré antes y pues optoacople las entradas y salidas del micro por cualquier problema. Por último cuando el pin RA4 cae su valor, solo se recupera si lo reinicio y vuelve a funcionar pero solo pocas veces . No se si mi problema sea hardware o software y gracias por la ayuda.





* SEH sensor de efecto de hall

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Problema con Pin RA4 configurado como contador
« Respuesta #5 en: 30 de Junio de 2010, 13:37:16 »
Pon el codigo y a ver si lo miramos, yo programo en asembler pero si esta en C o Basic algun compañero lo mirara.
Con el sensor hall sensas la corriente de la carga, que es alterna no?.
La verdad es que nunca use estos sensores, seguro que aqui en el foro habra informacion sobre ellos.
En el sensado de la corriente puede que te esten influyendo los desfases que se producen en las cargas inductivas en alterna?

Desconectado favdas

  • PIC10
  • *
  • Mensajes: 4
Re: Problema con Pin RA4 configurado como contador
« Respuesta #6 en: 02 de Julio de 2010, 15:20:44 »
**********************************************************************
;                          Monitorear Corriente
;**********************************************************************
monitor
   bcf         PIR1,TMR1IF            ;Limpio bandera del Timer1
   bcf        T1CON,TMR1ON         ;Apago Timer1
   
   movlw   0x0A                  ;Checar si se cumplio un lapso mayor de 100 mseg
   xorwf   cont_Timer1,W
   btfss   STATUS,Z
   goto      salir_monitor

   clrf      cont_Timer1            ;El lapso mayor de 100mseg si se cumplio
   btfss   INTCON,TMR0IF
   goto          mensaje_off            ;No se desbordo Timer0

;mensaje_on                     
;Se desbordo Timer0
   bcf      INTCON,TMR0IF
   movlw   0xFA
   movwf   TMR0
   btfsc   tcpServerFlags,candado
   goto      salir_monitor
                           ;Candado abierto y resultado positivo
   bsf      tcpServerFlags,candado
   bcf      tcpServerFlags,candado2
   clrf      indiceTx
   movf   indiceTx,W
   call      tabla3               ;Se carga el caracter que se va enviar
   call      SerialSend            ;Se envia el caracter
   incf      indiceTx,F               ;Se incrementa el indice del siguiente caracter que va hacer enviado
   xorlw   0x0A
   btfss   STATUS,Z
   goto      $-6   
   goto      salir_monitor
   

mensaje_off
   btfsc   tcpServerFlags,candado2
   goto      salir_monitor
                        ;Candado abierto y resultado negativo
   bcf      tcpServerFlags,candado
   bsf      tcpServerFlags,candado2
   clrf      indiceTx
   movf   indiceTx,W
   call      tabla5            ;Se carga el caracter que se va enviar
   call      SerialSend         ;Se envia el caracter
   incf      indiceTx,F            ;Se incrementa el indice del siguiente caracter que va hacer enviado
   xorlw   0x0A
   btfss   STATUS,Z
   goto      $-6   
   movlw   0xFA
   movwf   TMR0

salir_monitor
   incf      cont_Timer1,F
   movlw      0xE7
       movwf      TMR1H
       movlw      0x96
       movwf      TMR1L
       bsf        T1CON,TMR1ON
   return    
;********************************************************************************************

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Problema con Pin RA4 configurado como contador
« Respuesta #7 en: 03 de Julio de 2010, 05:06:31 »
Seria mejor que pusieras el programa completo para poder pasarlo por el MPLAB y ver lo que pasa, aunque creo que los problemas principales los tienes en el hard, mas concretamente en los desfases entre V e I de la carga y el ruido, creo que estos son los problemas que hacen que el sensor de datos erroneos.
En ese trozo de programa que pones tienes un error que no creo que te funcione bien, "llamas" a "salir_monitor" dos veces mediante "goto" y en la rutina pretendes volver al programa mediante un "return" pero este return sabe dios a donde ira, porque para que vuelva a donde fue llamada la rutina hay que llamarla con un "call", tal como lo haces cuando se ejecute ese return ira a cualquier sitio o se perdera.