Autor Tema: Problema de reseteo en PIC16F84A  (Leído 1874 veces)

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

Desconectado kuoyaoming

  • PIC10
  • *
  • Mensajes: 8
Problema de reseteo en PIC16F84A
« en: 23 de Septiembre de 2010, 17:09:42 »
Hola amigos :), me podian ayudar en un problemita?

Estoy haciendo un robot sumo, la plaqueta del robot anda re bien (en protoboard), y en la plaqueta, cuando conecto los motores se me resetea a veces cuando detecta algo, y al sacar los motores, la plaqueta funciona correctamente... no encuentro donde esta el problema.

Los motores son de 12V y son manejados por reles y por el integrado ULN2083A (integrados con 7 darlingtons). Probé hacer de todo, conectar capacitores bien cerca del PIC y del Motor, poner un diodo en inversa en la batería, pero el problema persiste... :? Podria ser problema de la programacion?

Aquí adjunto el programa:

;Programa del robot "Gantz"
;Integrantes: Kuo Yao Ming, Mariano Rodriguez Lusardi
;UTN - Escuela Tecnológica Werner von Siemens

   __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON &_XT_OSC
   LIST   P=16F84
   INCLUDE <P16F84.INC>
   CBLOCK 0CH
   CONTA
   CONTB
   CONTC
   CONTD
   CONTE
   CONTF
   ENDC
   ORG 0
INICIO
   BSF STATUS,RP0
   MOVLW B'11110000'
   MOVWF TRISB
   MOVLW B'0011111'
   MOVWF TRISA
   BCF STATUS,RP0
   MOVLW B'0000'
   MOVWF PORTB
   CALL _5SEG
   BTFSS PORTA,0
   GOTO PROGRAMA
   BTFSS PORTA,1
   GOTO PROGRAMA
   BTFSS PORTA,2
   GOTO PROGRAMA
   GOTO IZ
PROGRAMA
   MOVF PORTA,W
   XORLW B'11111111'
   ANDLW B'00000111'
   ADDWF PCL,F
TABLA
   GOTO PROGRAMA
   GOTO CASO2
   GOTO CASO3
   GOTO CASO4
   GOTO CASO5
   GOTO CASO6
   GOTO CASO7
   GOTO CASO8
CASO2
   MOVLW B'1001'
   GOTO SALIDA
CASO3
   MOVLW B'0110'
   GOTO SALIDA
CASO4
   MOVLW B'0000'
   GOTO SALIDA
CASO5
   MOVLW B'0101'
   GOTO SALIDA
CASO6
   MOVLW B'0101'
   GOTO SALIDA
CASO7
   MOVLW B'0101'
   GOTO SALIDA
CASO8
   MOVLW B'0101'
SALIDA
   MOVWF PORTB
   GOTO PROGRAMA
IZ
   MOVLW B'1001'
   MOVWF PORTB
   GOTO PROGRAMA
_5SEG   
   MOVLW D'50'
   GOTO RETARDIN
RETARDIN
   MOVWF CONTC
BE2
   MOVLW D'100'
   MOVWF CONTB
BE
   MOVLW D'249'
   MOVWF CONTA
BI
   NOP
   DECFSZ CONTA,F
   GOTO BI
   DECFSZ CONTB,F
   GOTO BE
   DECFSZ CONTC,F
   GOTO BE2
   RETURN
   END

Muchas Gracias por leer el post. :)
Saludos.
Atte. Kuo Yao Ming


 

anything