Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

02/05/2013 #1


Agregar pausa o retardo entre giros de un motor pap bipolar
Hola quisiera que me ayudaran a agregar un retardo una pausa entre el giroizquierda y el giroderecha ,,, de 20 segundos
para que se detengan en el giro a la izquierda por 20 segundos y empiece el giroderecha. -----
Lo que quiero hacer es un puente levadizo automatizado y programado con un PIC16F84A y un L293D
EL L293D no lo venden en mi ciudad como lo cambiaría L293B
Código:
;************************ MotorPAP deJeus EduardoFloresFerrer**********************
; El motor PAP realiza dos vueltas en un sentido y dos en sentido contrario utilizando medios
; pasos (modo Half Step) para obtener mas precisión.
;
; ZONA DE DATOS ************************************************** ********************

LIST     P=16F84A
INCLUDE     <P16F84A.INC>
__CONFIG    _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

CBLOCK 0x0C
Ciclos     ; Se decrementará cada ciclo de 8 pasos.
VueltasHorario
VueltasAntihorario
ENDC

NUM_CICLOS    EQU    .12 
; Unciclo de 8 pasos son 30 grados para unPAP ; de 7,5º en modo Half-Step. Por tanto para ; completar una vuelta de 360º,se requieren12 ; ciclos de 8 pasos cada uno.
;ZONADECÓDIGOS************************************ ******************************** ORG 0 Inicio bsf STATUS,RP0 clrf PORTB ; Las líneas del Puerto B configuradas como salidas. bcf STATUS,RP0 Principal movlw 0x02
; Dos vueltas en sentido horario.
movwf VueltasHorario OtraVueltaDerecha movlw NUM_CICLOS movwf Ciclos OtroCicloDerecha call GiroDerecha decfsz Ciclos,F goto OtroCicloDerecha decfsz VueltasHorario,F goto OtraVueltaDerecha ; movlw 0x02 movwf VueltasAntihorario
; Una vuelta en sentido antihorario.
OtraVueltaIzquierda
; Al ser una sola vuelta no haría falta el contador.
movlw NUM_CICLOS
; Pero se deja para que el lector pueda hacer las
movwf Ciclos
; pruebas que crea oportunas cambiando la carga
OtroCicloIzquierda
; (VueltaAntihorario).
call GiroIzquierda decfsz Ciclos,F goto OtroCicloIzquierda decfsz VueltasAntihorario,F goto OtraVueltaIzquierda goto Principal ; Subrutina "GiroIzquierda" ------------------------------------------------------------- GiroIzquierda movlw b'00110001' ; Primer paso. call ActivaSalida movlw b'00110101' ; Segundo paso. call ActivaSalida movlw b'00110100' ; Tercer paso. call ActivaSalida movlw b'00110110' ; Cuarto paso. call ActivaSalida movlw b'00110010' ; Quinto paso. call ActivaSalida movlw b'00111010' ; Sexto paso. call ActivaSalida movlw b'00111000' ; Séptimo paso. call ActivaSalida movlw b'00111001' ; Octavo y último paso. call ActivaSalida return **************************************** AQUI QUIERO HACER LA PAUSA DE 20 SEGUNDOS **************************************** ; Subrutina "GiroDerecha" ------------------------------------------------------------- GiroDerecha movlw b'00111001' ; Primer paso para el giro hacia la derecha. call ActivaSalida movlw b'00111000' ; Segundo paso. call ActivaSalida movlw b'00111010' ; Tercer paso. call ActivaSalida movlw b'00110010' ; Cuarto paso. call ActivaSalida movlw b'00110110' ; Quinto paso. call ActivaSalida movlw b'00110100' ; Sexto paso. call ActivaSalida movlw b'00110101' ; Séptimo paso. call ActivaSalida movlw b'00110001' ; Octavo y último paso. call ActivaSalida return ; Subrutina "ActivaSalida" -------------------------------------------------------------- ActivaSalida movwf PORTB call Retardo_50ms ;
Temporización antes del siguiente paso
. return ActivaSalida2 movwf PORTB call Retardo_20s ;
Temporización antes del siguiente paso
. return INCLUDE <RETARDOS.INC> END ; ================================================== ================= ; Jesus Eduardo Flores Ferrer ; ; ================================================== =================
- ************************************************** ********
El programa me ayudo a desarrollarlo un profesor amigo mio,
pero cuando lo corro en proteus, se traba cada 20 segundos entre paso y paso en el giroderecha.
Adjunto la conexión de proteus.. ----- soy un Newbie---
Interesado en aprender, no quiero que me solucionen mis problemas,
quiero que me ayuden a entender que sale mal y como se arregla, para entenderlo yo.
08/05/2013 #2

Avatar de Saint_

Hola, dale una mirada a este enlace.
Como generar 1 minuto en pic 16F628A
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.