Autor Tema: Motor PAP 7.5º Unipolar¿Demora entre pasos?  (Leído 2655 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Trev

  • PIC16
  • ***
  • Mensajes: 115
Motor PAP 7.5º Unipolar¿Demora entre pasos?
« en: 02 de Marzo de 2010, 17:31:34 »
Hola estoy probando con un motor PAP que encontré en un escaner,el PAP es un MITSHUBI de 12 V Unipolar (tiene 5 cables)
por lo que pude averiguar y casi seguro los PAP de impresoras y escaneres son de 7.5 º, bien lo que deseo saber y no encuentro en la web es que demora debo dejar pasar entre pasos o entre una secuencia y la siguiente solo para saber ya hice un programita muy simple en MPLAB que funciona..; le di 30 ms ,falta probarlo en la realidad asique bueno si alguien sabe que demora debo darle aproximadamente mejor,Gracias.

Código: ASM
  1. ; MOTOR PAP 7.5º 12 V UNIPOLAR
  2. ; SECUENCIA DE 1/2 PASO
  3.  
  4.                                 list p=16f877a
  5.                                 #include <p16f877a.inc>
  6.                                
  7.                                  
  8.                                 PUNTERO       EQU                       0X20
  9.                             CONTADOR1     EQU               0X21
  10.                 CONTADOR2     EQU               0X22
  11.                                
  12.                                 ORG                       0
  13.                                 GOTO          INICIO
  14.                                
  15.  
  16.  
  17.         INICIO      
  18.                 BANKSEL       TRISB
  19.                                 CLRF              TRISB
  20.         NUEVA_S         CLRF          PUNTERO
  21. S_SECUENCIA             MOVF          PUNTERO,W
  22.                                 CALL          SECUENCIA
  23.                 BANKSEL       PORTB
  24.                 MOVWF         PORTB
  25.                                 CALL          RETARDO_30ms
  26.                             INCF          PUNTERO,F
  27.                                 MOVLW         .8
  28.                 SUBWF         PUNTERO,W
  29.                 BTFSS         STATUS,Z
  30.                                 GOTO          S_SECUENCIA
  31.                                 GOTO              NUEVA_S
  32.  
  33.  
  34.  
  35.  
  36.     SECUENCIA   ADDWF         PCL,F
  37.                         RETLW             B'00001000'
  38.                                 RETLW         B'00001100'
  39.                 RETLW         B'00000100'
  40.                                 RETLW         B'00000110'
  41.                                 RETLW         B'00000010'
  42.                                 RETLW         B'00000011'
  43.                                 RETLW         B'00000001'
  44.                 RETLW         B'00001001'              
  45.                                
  46.          
  47.  
  48.  RETARDO_30ms   MOVLW         .196
  49.                 MOVWF         CONTADOR2
  50.                   L1    MOVLW             .255
  51.                 MOVWF         CONTADOR1
  52.           L0    DECFSZ        CONTADOR1,F
  53.                 GOTO          L0
  54.                 DECFSZ        CONTADOR2,F
  55.                 GOTO          L1
  56.                 RETURN
  57.  
  58.                        
  59.                                 END    
  60.  
  61.  
  62.  
  63. ; CALCULO DEMORA:
  64. ; RECORDAR QUE GOTO TARDA 2 CICLOS DE MAQUINA
  65. ; -> QUE X CADA DECREMENTO DEMORAMOS 3 CICLOS DE MAQUINA
  66. ; EL 1/5 ES X QUE USO UN CRISTAL DE 20 MHZ.
  67.  
  68. ; D(µs)= 1/5 X 3 X CONTADORES
  69. ; 30ms= 30000µs
  70.  
  71. ; 30000=1/5 x 3 x CONTADORES
  72. ; CONTADORES= 50000
  73. ; CONTADORES= 255 X CONTADOR2
  74. ; CONTADOR2= 196,7 =196 (redondeo a 200)

Desconectado Trev

  • PIC16
  • ***
  • Mensajes: 115
Re: Motor PAP 7.5º Unipolar¿Demora entre pasos?
« Respuesta #1 en: 02 de Marzo de 2010, 17:36:23 »
Disculpen quedo desordenado el código

Código: ASM
  1. ; MOTOR PAP 7.5º 12 V UNIPOLAR
  2. ; SECUENCIA DE 1/2 PASO
  3.  
  4.                 list p=16f877a
  5.                 #include <p16f877a.inc>
  6.                                
  7.                                  
  8.                 PUNTERO       EQU                       0X20
  9.                 CONTADOR1     EQU                       0X21
  10.                 CONTADOR2     EQU                       0X22
  11.                                
  12.                 ORG           0
  13.                 GOTO          INICIO
  14.                                
  15.  
  16.  
  17. INICIO      
  18.                 BANKSEL       TRISB
  19.                 CLRF          TRISB
  20. NUEVA_S         CLRF          PUNTERO
  21. S_SECUENCIA     MOVF          PUNTERO,W
  22.                 CALL          SECUENCIA
  23.                 BANKSEL       PORTB
  24.                 MOVWF         PORTB
  25.                 CALL          RETARDO_30ms
  26.                 INCF          PUNTERO,F
  27.                 MOVLW         .8
  28.                 SUBWF         PUNTERO,W
  29.                 BTFSS         STATUS,Z
  30.                 GOTO          S_SECUENCIA
  31.                 GOTO          NUEVA_S
  32.  
  33.  
  34.  
  35.  
  36. SECUENCIA       ADDWF         PCL,F
  37.                 RETLW         B'00001000'
  38.                 RETLW         B'00001100'
  39.                 RETLW         B'00000100'
  40.                 RETLW         B'00000110'
  41.                 RETLW         B'00000010'
  42.                 RETLW         B'00000011'
  43.                 RETLW         B'00000001'
  44.                 RETLW         B'00001001'              
  45.                                
  46.          
  47.  
  48. RETARDO_30ms    MOVLW         .196
  49.                 MOVWF         CONTADOR2
  50.           L1    MOVLW         .255
  51.                 MOVWF         CONTADOR1
  52.           L0    DECFSZ        CONTADOR1,F
  53.                 GOTO          L0
  54.                 DECFSZ        CONTADOR2,F
  55.                 GOTO          L1
  56.                 RETURN
  57.  
  58.                        
  59.                 END    
  60.  
  61.  
  62.  
  63. ; CALCULO DEMORA:
  64. ; RECORDAR QUE GOTO TARDA 2 CICLOS DE MAQUINA
  65. ; -> QUE X CADA DECREMENTO DEMORAMOS 3 CICLOS DE MAQUINA
  66. ; EL 1/5 ES X QUE USO UN CRISTAL DE 20 MHZ.
  67.  
  68. ; D(µs)= 1/5 X 3 X CONTADORES
  69. ; 30ms= 30000µs
  70.  
  71. ; 30000=1/5 x 3 x CONTADORES
  72. ; CONTADORES= 50000
  73. ; CONTADORES= 255 X CONTADOR2
  74. ; CONTADOR2= 196,7 =196 (redondeo a 200)

Desconectado guille_masco

  • PIC10
  • *
  • Mensajes: 1
Re: Motor PAP 7.5º Unipolar¿Demora entre pasos?
« Respuesta #2 en: 02 de Marzo de 2010, 21:26:21 »
Hola amigo, esta es mi primer respuesta en el foro. Te cuento que estuve practicando con motores paso a paso hace muy poco asi que te puedo responder. No revise tu asm, pero tu pregunta se refiere solo al tiempo, te cuento que el tiempo depende de varias cosas: el motor en si, la masa que este debe mover, la corriente que le vas a hacer circular y la velocidad a la que va el motor. Con la velocidad me refiero a si el motor esta frenado o ya esta girando. Te recomiendo que vallas probando. Los motores paso a paso van bien desde las 0 a las 500 rpm. Hace tu calculo. Si tu motor es de 200 pasos por vuelta con 30ms por paso estas en las 100 RPM.
Espero que te sirva.

Guille

Desconectado Trev

  • PIC16
  • ***
  • Mensajes: 115
Re: Motor PAP 7.5º Unipolar¿Demora entre pasos?
« Respuesta #3 en: 02 de Marzo de 2010, 21:38:44 »
Hola Guille_Masco bienvenido gracias por la respuesta estoy intentando encontrar la hoja de datos de este motor si la encuentro seguro tiene que decir de lo que te refieres nos vemos