Autor Tema: Problema sobrenatural en un 16f84a  (Leído 5067 veces)

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

Desconectado luisur

  • PIC10
  • *
  • Mensajes: 6
Problema sobrenatural en un 16f84a
« en: 25 de Junio de 2011, 22:36:05 »
Hola gente, necesito de su ayuda, realice un circuito con este dichoso pic y no lo pude hacer andar, esta muerto no da señales de vida.......pero....... cuando lo toco hecha a andar . :shock: :shock:

Y eso no es nada, apenas acerco el dedo sin tocarlo y voila funciona, :shock: :shock:es como si fuera un touch sin touch. Me pueden dar una mano? ya que se me acabaron las ideas.

Adjunto circuito y programa:



Esto es de la pagina de turbocnc, quiero hacer la ......maquina y estoy trabado mal. :5]

Este es el programa:
; File STEP.ASM ---> version 2
; ... for PIC16F84 microcontroller
; Program to use F84 as a step and direction controller for a unipolar
; step motor.  Step and direction pins are RA0, RA1; RA2, RA3; RB0-3 and RB4-7 are the windings
; in order (driven by NPN small sig transistors or MOSFETS)
; Steps on negative going edge of step pulse.

; CPU configuration
;    (It's a 16F84, RC oscillator,
;    watchdog timer off, power-up timer on)

   processor 16f84
   include     <p16f84.inc>
   __config  _RC_OSC & _WDT_OFF & _PWRTE_ON

; Declare variables

pattA   equ   H'0D'   ;Current step pattern number (0-7) for axis A
lastA   equ   H'0E'   ;Last state of step pin on axis A (1 is high, 0 is low)
pattB   equ   H'0F'   ;Current step pattern number (0-7) for axis B
lastB   equ   H'10'   ;Last state of step pin on axis B (1 is high, 0 is low)
inport   equ   H'11'   ;Value of port A when read (stored for later access)
temp   equ   H'12'

; Program

   org   0     ; start at address 0

;***************************************************
;
;   START OF PIC 16F84 CODE FOR STEP;
;
;***************************************************
;

;------------------------------------------
;****Power on reset startpoint
;------------------------------------------

;***Initialization of program   

; Set port B as output and port A as input (except bit 4)

   movlw   B'00001111'
   tris    PORTA      
   movlw   B'00000000'
   tris   PORTB      

;Clear ports and zero motors

   clrf   PORTA
   movlw   B'00010001'
   movwf   PORTB
   clrf   lastA
   clrf   lastB
   clrf   pattA
   clrf   pattB

;Loop around for a while to let everything stabilize

   movlw   d'255'
   movwf   inport
loop:   decfsz   inport, f
;   goto loop

;***Basic program loop

;Main routine - check pin states and step on negative edge
;Get port data and store, then check axis A
;A10 checks if old is 0, new is 1 (update register)
;A01 checks if old is 1, new is 0 (step and update register)
;Similarly for axis B

main:   movf   PORTA, w
   movwf   inport
A10:   btfsc   lastA, 0
   goto A01
   btfss   inport, 2
   goto A01
   bsf   lastA, 0
A01:   btfss   lastA, 0
   goto B10
   btfsc   inport, 2
   goto B10
   bcf   lastA, 0
   call stepA

B10:   btfsc   lastB, 0
   goto B01
   btfss   inport, 0
   goto B01
   bsf   lastB, 0
B01:   btfss   lastB, 0
   goto main
   btfsc   inport, 0
   goto main
   bcf   lastB, 0
   call stepB
   goto main

;------------------------------------------
;***stepA - sub to cycle axis A one half step
;  improve this later to read RA4 and choose full/halfsteps as appropriate
;  Dir of 1 is increase, else decrease

stepA:   btfss   inport, 3
   decf   pattA, f
   btfsc   inport, 3
   incf   pattA, f

;Peter Homann's optimization for add/subtract mod 7

        movlw D'07'
        andwf pattA, f

;Get step pattern and send to port B on bits 0-3

   movf   PORTB, w
   andlw   B'11110000'
   movwf   temp
   movf   pattA, w
   call dcode
   iorwf   temp, w
   movwf   PORTB

   return

;------------------------------------------
;***stepB - sub to cycle axis B one half step
;  improve this later to read RA4 and choose full/halfsteps as appropriate
;  Dir of 1 is increase, else decrease

stepB:   btfss   inport, 1
   decf   pattB, f
   btfsc   inport, 1
   incf   pattB, f

;Check for pattern overflow and fix

;Peter Homann's optimization for add/subtract mod 7

        movlw D'07'
        andwf pattB, f

;Get step pattern and send to port B on bits 4-7

   movf   PORTB, w
   andlw   B'00001111'
   movwf   temp
   swapf   temp, f
   movf   pattB, w
   call dcode
   iorwf   temp, f
   swapf   temp, w
   movwf   PORTB

   return

;------------------------------------------
;***stepcode - sub to generate bit pattern for number in w (!!MUST BE 0-7!!)
;  pattern is stored in w register (lower four bits) for half step pattern

dcode:   addwf   PCL, f
   retlw   B'00000001'   ;0
   retlw   B'00000011'   ;1
   retlw   B'00000010'   ;2
   retlw   B'00000110'   ;3
   retlw   B'00000100'   ;4
   retlw   B'00001100'   ;5
   retlw   B'00001000'   ;6
   retlw   B'00001001'   ;7

;Mandatory end of program command

   end



Les agradeceria una mano.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Problema sobrenatural en un 16f84a
« Respuesta #1 en: 26 de Junio de 2011, 00:31:56 »
Asegúrate de que estén bien soldados la resistencia de MCLR, el cristal y los dos condensadores del cristal.
Si estás usando protoboard, intenta soldar al menos esa parte.

Desconectado Marioguillote

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: Problema sobrenatural en un 16f84a
« Respuesta #2 en: 26 de Junio de 2011, 02:04:46 »
Capacitor de 100nF (y de 1uF) en alimentación, tan cerca como sea posible al PIC.
Conexión de GND efectiva y buena.
Cristal y capacitores del cristal con conexiones tan cortas como sea posibles.

No tiene que estar muy lejos de eso el problema.

Desconectado alogic.on

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 772
Re: Problema sobrenatural en un 16f84a
« Respuesta #3 en: 26 de Junio de 2011, 04:42:19 »
dioh mio :mrgreen: he visto Problema sobrenatural en un 16f84a y me he tirao de cabeza a leer que habia pasao :D :D :D

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Problema sobrenatural en un 16f84a
« Respuesta #4 en: 26 de Junio de 2011, 12:12:43 »
yo me imagné :cuentos pic de ultratumba :D , los archivos secretos pic :D
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Problema sobrenatural en un 16f84a
« Respuesta #5 en: 26 de Junio de 2011, 13:44:28 »
 :D :D

pensé que un 16F84A se había desdoblado a un 18F2550!!!!!!

 :D :D


pero menos mal no!!! revisa la estabilidad de la fuente. Por lo que veo en tu esquema, estas usando un oscilador RC, prueba poner un XT (cristal + condensadores). La forma de activar los motores pueden causar transcientes de corriente .. podrías usar un ULN para ello también

Saludos
El papel lo aguanta todo

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Problema sobrenatural en un 16f84a
« Respuesta #6 en: 26 de Junio de 2011, 18:37:34 »
Si el circuito está armado tal cual el esquema, el problema no es sobrenatural... es bién terrenal, es físico.... y se debe a la estática, ya que no  conectaste la patita de MCLR, por lo que el pic está en modo reset... al acercar el dedo, induces carga, que polariza dicho pin... que es de alta impedancia... y "funciona"...  :mrgreen:

Saludos fantasmagoricos.... y bastante sobrenatural tenemos en mi ciudad las hamacas que se hamacan solas je je je

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

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

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Problema sobrenatural en un 16f84a
« Respuesta #7 en: 26 de Junio de 2011, 22:59:37 »
hola,  a mi me ha pasado este hecho extraño o sobrenatural jejeje, mi problema fue al poner los bits de configuracion para programarlo, lo estaba programando en modo de bajo voltaje. y pasaba lo mismo que funcionaba y al acercarle el dedo se reseteaba, y cosas de esas.

checa como lo programas, tal vez ese sea el problema
"Nada es imposible, no si puedes imaginarlo"

Desconectado luisur

  • PIC10
  • *
  • Mensajes: 6
Re: Problema sobrenatural en un 16f84a
« Respuesta #8 en: 27 de Junio de 2011, 02:03:23 »
me he cag.. de la risa con lo que han puesto.

Volviendo al poseso, hice lo que me dijeron y no da bola le conecte el pin mclr y queda mudo, le conecte un capacitor en alimentacion (es una fuente AT) le cambie el ocilador por XT y nada sigue igual.

Le que si me llamo la atencion el ultimo comentario, ya que quise grabar otros pic hoy y me dio el famoso error h0000 como si no tuviera tension para grabar. Me dije "hoy no es mi dia " y deje todo para otra ves.

Consulto arme el grabador JDM y no me funciono, despues arme el gtplite y este aparentemente funciona ya que me identifica el pic me lo lee, graba y verifica, pero nada de lo que grabe anda.
En mi ciudad no hay casas de electronica grandes por lo que no arreglamos como sea desarmando trastos, ¿de estos programador cual es el mejor o cual seria mejor que estos?

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Problema sobrenatural en un 16f84a
« Respuesta #9 en: 27 de Junio de 2011, 07:30:14 »
le conecte el pin mclr y queda mudo

Hola, conectaste el MCLR con una R de 10k a VCC y MCLR con un capac 1uF a masa?

conecte un capacitor en alimentacion (es una fuente AT)

le cambie el ocilador por XT y nada sigue igual.
si cambias en la configuracion el oscilador por XT, tambien deves cambiar en el circuito, colocando un cristal de 4Mhz y dos cap. de 22nF


Saludos!
Firmat - Santa Fe - Argentina

www.TodoPic.net

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

Desconectado luisur

  • PIC10
  • *
  • Mensajes: 6
Re: Problema sobrenatural en un 16f84a
« Respuesta #10 en: 27 de Junio de 2011, 09:57:33 »
Citar
Hola, conectaste el MCLR con una R de 10k a VCC y MCLR con un capac 1uF a masa?

No, solo conecte el MCRL con 10k a VCC.

Citar
si cambias en la configuracion el oscilador por XT, tambien deves cambiar en el circuito, colocando un cristal de 4Mhz y dos cap. de 22nF

Si tambien lo hice, en la placa como en el programa, y cuando quise probar otros pic que tenia no los pude grabar. deci que tenia uno con el programa XT y otro con RC.

vuelvo a preguntar cual es el grabador mas eficiente para este PIC que se pueda armar con cosas comunes.

Desconectado luisur

  • PIC10
  • *
  • Mensajes: 6
Re: Problema sobrenatural en un 16f84a
« Respuesta #11 en: 01 de Julio de 2011, 09:06:15 »
Muchachos!!!! Andubo

Me hicieron dudar del programador, (Construccion casera) por lo que realice unos ajuste que figuran en el foro, volvi a programarb el pic y nada, le conecte el MCRL con 10k a VCC y listo funciono perfecto!!! :-/ :-/


Gracias por su ayuda. :)

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Problema sobrenatural en un 16f84a
« Respuesta #12 en: 01 de Julio de 2011, 11:50:02 »
Me alegro de que lo hayas conseguido. La mayoría de las veces, lo "sobrenatural" se traduce en una resistencia sin poner y sólo basta con encontrarla :)