Autor Tema: Ayuda por favor!!! Problema con Pic16f877A  (Leído 2426 veces)

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

Desconectado zetall88

  • PIC10
  • *
  • Mensajes: 3
Ayuda por favor!!! Problema con Pic16f877A
« en: 04 de Junio de 2014, 06:38:35 »
Saludos amigos, es la primera vez que publico un tema, espero no pasar por alto ninguna de sus reglas.

Mi problema es el siguiente: tengo un montaje en proteus con un pic 16f877a y unos motores paso a paso, todo funciona a la perfeccion, el problema esta en mi proto, no funciona nada!! Solo los voltajes de entrada llegan a los pines correspondientes y nada mas!!  tengo todo bien montado y he probado las continuidades de los cables mas de una vez y todos estan bien, incluso los voltajes. Creo que el problema radica en el programa o en alguna configuracion.

Aca les dejo parte del programa:

Código: [Seleccionar]
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _HS_OSC & _BODEN_OFF & _LVP_OFF & _DEBUG_OFF & _CPD_OFF
;*******************************************************************************

LIST P=16F877A ;MODELO MICROCONTROLADOR
RADIX hex ;POR DEFECTO SE USARÁ LA NUMERACIÓN HEXADECIMAL
INCLUDE P16F877A.INC ;LIBRERIA DEL MICROCONTROLADOR

CBLOCK 0X22
ENDC


;************ZONA DE DATOS************

#DEFINE MUNOI PORTB,6
#DEFINE     MUNOD PORTB,7
#DEFINE MDOSI PORTC,6
#DEFINE MDOSD PORTC,7
#DEFINE MTRESI PORTD,6
#DEFINE MTRESD PORTD,7
#DEFINE MCUATROI PORTE,0
#DEFINE MCUATROD PORTE,1

; ZONA DE CÓDIGOS ********************************************************************

   ORG 0000H
GOTO Inicio
ORG 0X04
NOP

Inicio
  
BCF STATUS,RP0
CLRF        PORTA
CLRF        PORTB
CLRF   PORTC
CLRF        PORTD
CLRF PORTE
BSF STATUS,RP0
BCF STATUS,RP1
MOVLW B'00000110'
MOVWF ADCON0
MOVLW B'000000'
MOVWF TRISA
MOVLW B'11000000'
MOVWF PORTB
MOVLW B'11000000'
MOVWF PORTC
MOVLW B'11000000'
MOVWF PORTD
MOVLW B'011'
MOVWF PORTE
BCF STATUS,RP0
BCF STATUS,RP1

          
  
;SUBRUTINAS**************************

PRINCIPAL
    
BTFSS MUNOI            
   CALL GiroIzquierda1
BTFSS MUNOD
CALL GiroDerecha1
BTFSS MDOSI
CALL GiroIzquierda2
BTFSS MDOSD
CALL GiroDerecha2
BTFSS MTRESI
CALL GiroIzquierda3
BTFSS MTRESD
CALL GiroDerecha3
BTFSS MCUATROI
CALL GiroIzquierda4
BTFSS MCUATROD
CALL GiroDerecha4


FIN
GOTO PRINCIPAL

; Subrutina "GiroIzquierda" -------------------------------------------------------------

GiroIzquierda1
    MOVLW          b'00110101'                ; Primer paso.
    MOVWF   PORTA            ; Lo envía a la salida donde está conectado el motor PAP.
   CALL              DELAY_10MS
   MOVLW          b'00110110'                ; Segundo paso.
    MOVWF   PORTA
    CALL             DELAY_10MS
    MOVLW          b'00111010'                ; Tercer paso.
    MOVWF     PORTA
    CALL             DELAY_10MS
     MOVLW         b'00111001'                ; Cuarto y último paso
    MOVWF        PORTA
    CALL            DELAY_10MS
     CLRF        PORTA
RETURN


; Subrutina "GiroDerecha" ---------------------------------------------------------------

GiroDerecha1
  
     MOVLW        b'00111001'                ; Primer paso.
     MOVWF         PORTA    
     CALL            DELAY_10MS
     MOVLW         b'00111010'             ; Segundo paso.
    MOVWF     PORTA
    CALL            DELAY_10MS
     MOVLW        b'00110110'                ; Tercer paso.
    MOVWF       PORTA
    CALL            DELAY_10MS
     MOVLW        b'00110101'                ; Último paso.
    MOVWF        PORTA
    CALL             DELAY_10MS
     CLRF         PORTA
       RETURN
      
    INCLUDE  <delays.INC>
    END
« Última modificación: 04 de Junio de 2014, 06:59:19 por zetall88 »

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Ayuda por favor!!! Problema con Pic16f877A
« Respuesta #1 en: 04 de Junio de 2014, 12:56:11 »
Si en proteus va bien, publica el esquematico que tienes en la protoboard, recuerda que el fuse HS es para cristales mayores a 4Mhz, y debes tener el pin de MCLR a estado alto con una resistencia de pull up
« Última modificación: 04 de Junio de 2014, 15:14:24 por jhozate »
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado zetall88

  • PIC10
  • *
  • Mensajes: 3
Re: Ayuda por favor!!! Problema con Pic16f877A
« Respuesta #2 en: 04 de Junio de 2014, 13:13:42 »
Ese es el montaje en proteus, Y estoy usando un cristal de 20mhz por eso lo del fuse HS. El pin de  MCLR lo tengo conectado a una resistencia de 10k y esta a 5v.

Link del montaje en proteus    http://www.filefactory.com/file/1k0gwwp0n089/pap%20cuatro.DSN

Link del codigo asm                http://www.filefactory.com/file/3se4pnnjmvhh/Prgrsr_1.asm
« Última modificación: 04 de Junio de 2014, 13:25:17 por zetall88 »

Desconectado seba85

  • PIC10
  • *
  • Mensajes: 28
Re: Ayuda por favor!!! Problema con Pic16f877A
« Respuesta #3 en: 04 de Junio de 2014, 19:14:36 »
Hola!
Una consulta no entiendo los pulsadores, son entradas al pic me imagino, yo siempre coloco una resistencia en serie y otra a masa para que funcione bien (descargar capacidades paracitas y evitar mal funcionamiento)...

También otra cosa siempre que hago un diseño voy probando todo modularmente que valla funcionando no largar todo el código de una y empezar a dar vueltas por donde esta el problema... Por ejemplo probando si funcionan bien los pulsadores con un simple codigo...
Espero haber ayudado en algo
Saludos!

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Ayuda por favor!!! Problema con Pic16f877A
« Respuesta #4 en: 05 de Junio de 2014, 14:01:25 »
te recomiendo que hagas una captura de pantalla y la subas directamente al foro como una imagen.
Ahora, el proteus obvia detalles en los microcontroladores como voltaje de alimentación, y el oscilador externo.  Postea una captura de cuales son tus conexiones mínimas para que el micro funcione.
La otra opción, como ya comentaron es que hagas un programa sencillo de prueba para asegurar que el micro esta bueno. Enciende un Led a razón de 1 segundo en alto y 1 segundo en bajo con la libreria que tienes de delays, con esto aseguras que el micro esta bueno y también descartas problema en el oscilador.
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado zetall88

  • PIC10
  • *
  • Mensajes: 3
Re: Ayuda por favor!!! Problema con Pic16f877A
« Respuesta #5 en: 05 de Junio de 2014, 14:12:07 »
Muchas gracias a todos por sus respuestas, pude resolver el problema. Termino siendo el tiempo para cada paso, estaba fijado en 10ms, el cual es muy rapido para el tipo de motor que estoy usando. 

Desconectado jorgel

  • PIC10
  • *
  • Mensajes: 1
Re: Ayuda por favor!!! Problema con Pic16f877A
« Respuesta #6 en: 27 de Octubre de 2014, 21:49:58 »
Tal ves se deba al ruido eléctrico tío el pic y el driver del motor paso paso deben alimentarse de fuentes diferentes osea tienes que usar optocopladores hay varios esquema en internet


 

anything