Circuito para el Control de un motor a pasos de 4, 5 o 6 terminales

hola amigos tengo una peticion que hacer soy un estudiante de ingenieria electronica nivel bachillerato todavia y para un proyecto necesito un circuito que controle un motor a pasos de 4 ,5 o 6 terminales 12 dc no importa cual sea de todos modos tengo los tres.
al mismo tiempo necesito tambien que el motor pueda invertir su giro, les agradeceria mucho que me pudieran ayudar con este problema que tengo.
en estos momentos estoy trabajando en un circuito para un motor de 5 terminales utilizando un ic sn74ls194aj y como pulsador un ne555 junto con 4 compuestas 7400 pero los pulsos salen disparejos o juntos.
les agradeceria mucho cualquier apoyo que pudieran aportar
 
aqui esta el código en assembler de un control de giro para un motor unipolar (4 bobinas y 2 comunes) y tambien se puede seleccionar el tipo de paso (full step o half step).


Código:
;///////////////////////////////////////////////////////////////////////////////////////////////////;
;											MOTORUNI.ASM											;
;								CONTROL DE UN MOTOR PASO A PASO UNIPOLAR							;
;							CON 2 TIPOS DE SECUENCIAS: HALF-STEP Y FULL STEP						;
;///////////////////////////////////////////////////////////////////////////////////////////////////;		
		LISTP = 16F84A
		
		
STATUS		EQU		03H
PTOA		EQU		05H
PTOB		EQU		06H
TRISA		EQU		85H
TRISB		EQU		86H
W			EQU 	00H
Z			EQU		02H
loops		EQU		0cH
loops2		EQU		0dH


RESET		ORG		0
			GOTO 	INICIO
			ORG		5

retardo   ;subrutina de retardo de 100 milisegundos
          movlw     D'100'    ;el registro loops contiene el n£mero
          movwf     loops     ;de milisegundos del retardo
top2      movlw     D'110'    ;
          movwf     loops2    ;
top       nop
          nop
          nop
          nop
          nop
          nop
          decfsz    loops2    ;pregunta si termino 1 ms
          goto      top
          decfsz    loops     ;pregunta si termina el retardo
          goto      top2
          retlw     0
			
INICIO		BSF		STATUS,5
			MOVLW	B'00000111'
			MOVWF	TRISA
			MOVLW	B'11100000'
			MOVWF	TRISB
			BCF		STATUS,5
			
PREG_1		CLRF	PTOB
			BTFSS	PTOA,0			;QUE TIPO DE SECUENCIA SE VA A EFECTUAR(ES FULL STEP?)
			GOTO	PREG_2
			BTFSS	PTOA,1			;ES HACIA LA IZQUIERDA?
			GOTO	INI_1
			GOTO 	IZQUIERDA			
INI_1		BTFSS	PTOA,2			;ES HACIA LA DERECHA?
			GOTO	PREG_1
			GOTO	DERECHA			
IZQUIERDA	CLRF	PTOB			;CLAREA PUERTO B
			BSF		PTOB,0			;EMPIEZA LA ROTACION DE LOS PUERTOS HACIA LA IZQUIERDA
			CALL	retardo
			CALL	retardo
			RLF		PTOB,1
			CALL	retardo
			CALL	retardo
			RLF		PTOB,1
			CALL	retardo
			CALL	retardo
			RLF		PTOB,1
			CALL	retardo
			CALL	retardo
			GOTO 	PREG_1			
DERECHA		CLRF	PTOB			;CLAREA AL PUERTO B
			BSF		PTOB,3			;EMPIEZA LA ROTACION DE LOS PUERTOS HACIA LA DERECHA
			CALL	retardo
			CALL	retardo
			RRF		PTOB,1
			CALL	retardo
			CALL	retardo
			RRF		PTOB,1
			CALL	retardo
			CALL	retardo
			RRF		PTOB,1
			CALL	retardo
			CALL	retardo
			GOTO	PREG_1
PREG_2		CLRF	PTOB			;CLAREA AL PUERTO B
			BTFSS	PTOB,7			;QUE TIPO DE SECUENCIA SE VA A EFECTUAR(ES HALF-STEP?)
			GOTO	PREG_1
			BTFSS	PTOB,6			;ES HACIA LA DERECHA?
			GOTO	INI_2
			GOTO	DERECHA_1
INI_2		BTFSS	PTOB,5			;ES HACIA LA IZQUIERDA?
			GOTO	PREG_2
			GOTO	IZQUIERDA_1
DERECHA_1	CLRF	PTOB			;CLAREA AL PUERTO B
			BSF		PTOB,0			;EMPIEZA LA ROTACION HACIA LA DERECHA
			BSF		PTOB,1
			CALL	retardo
			CALL	retardo
			BCF		PTOB,1
			CALL	retardo
			CALL	retardo
			BSF		PTOB,3
			CALL	retardo
			CALL	retardo
			BCF		PTOB,0
			CALL	retardo
			CALL	retardo
			BSF		PTOB,2
			CALL	retardo
			CALL	retardo
			BCF		PTOB,3
			CALL	retardo
			CALL	retardo
			BSF		PTOB,1
			CALL	retardo
			CALL	retardo
			BCF		PTOB,2
			CALL	retardo
			CALL	retardo
			GOTO	PREG_2
IZQUIERDA_1	CLRF	PTOB			;CLAREA AL PUERTO B
			BSF		PTOB,0			;EMPIEZA LA ROTACION HACIA LA IZQUIERDA
			BSF		PTOB,1
			CALL	retardo
			CALL	retardo
			BCF		PTOB,0
			CALL	retardo
			CALL	retardo
			BCF		PTOB,3
			CALL	retardo
			CALL	retardo
			BSF		PTOB,2
			CALL	retardo
			CALL	retardo
			BCF		PTOB,1
			CALL	retardo
			CALL	retardo
			BSF		PTOB,3
			CALL	retardo
			CALL	retardo
			BCF		PTOB,2
			CALL	retardo
			CALL	retardo
			BSF		PTOB,0
			CALL	retardo
			CALL	retardo
			BCF		PTOB,3
			CALL	retardo
			CALL	retardo
			GOTO	PREG_2
	END								;FIN DEL PROGRAMA


ademas te anexo la una carpeta donde esta los archivos y la simulación en proteus.
 

Adjuntos

  • unipolar_140.rar
    33.8 KB · Visitas: 189
Atrás
Arriba