Você está na página 1de 15

MICROCONTROLADOR – VI

PROJETO.
PROJETO 1

Acionar um motor de passo NO SENTIDO HORÁRIO continuamente ao alimentar o


PIC.

microcontrolador
2
Os motores de passo unipolares são reconhecidos pela
derivação central (center tape) em cada uma das
bobinas. A figura mostra uma representação de um motor
de passo unipolar de 4 fases (1a, 2a, 1b e 2b).

Modo passo completo (full-step) ou passo simples.


Neste modo é energizada uma bobina de cada vez. É o modo de operação mais
simples e mais econômico em termos de consumo de energia, mas também é o modo
com menor torque.

3
Projeto do Hardware

4
TABELA DA VERDADE DO ACIONAMENTO DO MOTOR EM FULL STEP

PASSO L4 (RB3) L3 (RB2) L2 (RB1) L1 (RB0)


1 1 1 1 0
2 1 1 0 1
3 1 0 1 1
4 0 1 1 1

5
PROGRAMAÇÃO. PRIMEIRO PASSO DEFINIÇÃO DAS SAÍDAS
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* SAÍDAS *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; DEFINIÇÃO DE TODOS OS PINOS QUE SERÃO UTILIZADOS COMO SAÍDA
; RECOMENDAMOS TAMBÉM COMENTAR O SIGNIFICADO DE SEUS ESTADOS (0
E 1)

#DEFINE FASE1 PORTB,0 ;BOBINA L1 DO MOTOR DE PASSO


; 0 -> LIGADA OU ACIONADA
; 1 -> DESLIGADA
#DEFINE FASE2 PORTB,1 ;BOBINA L2 DO MOTOR DE PASSO
; 0 -> LIGADA OU ACIONADA
; 1 -> DESLIGADA
#DEFINE FASE3 PORTB,2 ;BOBINA L3 DO MOTOR DE PASSO
; 0 -> LIGADA OU ACIONADA
; 1 -> DESLIGADA
#DEFINE FASE4 PORTB,3 ;BOBINA L4 DO MOTOR DE PASSO
; 0 -> LIGADA OU ACIONADA
; 1 -> DESLIGADA
6
PROGRAMAÇÃO. SEGUNDO PASSO VETOR DE RESET

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* VETOR DE RESET *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ORG 0x00 ;ENDEREÇO INICIAL DE PROCESSAMENTO
GOTO INICIO

7
PROGRAMAÇÃO. TERCEIRO PASSO CONFIGURAÇÃO TRIS A E TRIS B

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* INICIO DO PROGRAMA *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

INICIO
BANK1 ;ALTERA PARA O BANCO 1
MOVLW B‘11111111'
MOVWF TRISA ;DEFINE PORT A INTEIRO COMO
ENTRADA
MOVLW B'00000000'
MOVWF TRISB ;DEFINE TODO O PORTB COMO SAÍDA
MOVLW B'10000000'

8
PROGRAMAÇÃO. QUARTO PASSO LIMPA TODOS OS PORTS DE ENTRADA E
SAÍDA.

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* INICIALIZAÇÃO DAS VARIÁVEIS *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

BSF FASE1
BSF FASE2
BSF FASE3
BSF FASE4 ;GRAVA 1 NOS BITS DO MOTOR DE PASSO

9
PROGRAMAÇÃO. QUINTO PASSO.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* ROTINA PRINCIPAL *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
MAIN

CALL PASS01
MOVWF PORTB ;ATUALIZA O PORTB PARA
;PALAVRA EQUIVALENTE AO PASSO 1 DO ;
;MOTOR

CALL DELAY ;CHAMA ROTINA DE DELAY PARA ESTABILIZAR


;O MOVIMENTO DO MOTOR
CALL PASS02
MOVWF PORTB ;ATUALIZA O PORTB PARA
;PALAVRA EQUIVALENTE AO PASSO 2 DO
;MOTOR

CALL DELAY ;CHAMA ROTINA DE DELAY PARA ESTABILIZAR


10
;O MOVIMENTO DO MOTOR
PROGRAMAÇÃO. QUINTO PASSO.

CALL PASS03
MOVWF PORTB ;ATUALIZA O PORTB PARA
;PALAVRA EQUIVALENTE AO PASSO 3 DO ;
;MOTOR

CALL DELAY ;CHAMA ROTINA DE DELAY PARA ESTABILIZAR


;O MOVIMENTO DO MOTOR
CALL PASS04
MOVWF PORTB ;ATUALIZA O PORTB PARA
;PALAVRA EQUIVALENTE AO PASSO 4 DO
;MOTOR

CALL DELAY ;CHAMA ROTINA DE DELAY PARA ESTABILIZAR


;O MOVIMENTO DO MOTOR
GOTO MAIN ;VOLTA AO LOOP PRINCIPAL

11
PROGRAMAÇÃO. SEXTO PASSO SUB ROTINAS.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* ROTINA DE DELAY *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; ESTA ROTINA AGUARDA TANTOS MILISEGUNDOS QUANTO O VALOR PASSADO POR W. ;POR
;EXEMPLO, SE W = .200, ELA AGUARDARÁ 200 MILISEGUNDOS. O DELAY PRINCIPAL DURA 1ms, POIS
;POSSUI 5 INSTRUÇÕES (5us) E É RODADO 200 ;VEZES (TEMPO1). PORTANTO 200 * 5us = 1ms. O DELAY
PRINCIPAL É RODADO TANTAS ;VEZES QUANTO FOR O VALOR DE ; TEMPO2, O QUAL É INICIADO COM
O VALOR PASSADO ;EM W.
DELAY
MOVWF TEMPO2 ;INICIA TEMPO 2 COM O VALOR PASSADO EM W
DL1
MOVLW .200
MOVWF TEMPO1
DL2 ;ESTE DELAY DURA 1ms (5*200)
NOP
NOP
DECFSZ TEMPO1,F ;DECREMENTA TEMPO1. ACABOU?
GOTO DL2 ;NÃO, CONTINUA AGUARDANDO
;SIM

DECFSZ TEMPO2,F ;DECREMENTA TEMPO2. ACABOU?


GOTO DL1 ;NÃO, CONTINUA AGUARDANDO
;SIM 12
RETURN
PROGRAMAÇÃO. SEXTO PASSO SUB ROTINAS.
PASSO1
;’76543210 POSIÇÃO DO BITS DO PORT B
RETLW B‘11111110' ; GRAVA EM W VALOR DE ACIONAMENTO DA BOBINA 1

PASSO2
;’76543210 POSIÇÃO DO BITS DO PORT B
RETLW B‘11111101' ; GRAVA EM W VALOR DE ACIONAMENTO DA BOBINA 2

PASSO3
;’76543210 POSIÇÃO DO BITS DO PORT B
RETLW B‘11111011' ; GRAVA EM W VALOR DE ACIONAMENTO DA BOBINA 3

PASSO4
;’76543210 POSIÇÃO DO BITS DO PORT B
RETLW B‘11110111' ; GRAVA EM W VALOR DE ACIONAMENTO DA BOBINA 4

13
ATIVIDADE

FAZER UM PROGRAMA PARA GIRAR UM MOTOR DE PASSO CONTINUAMENTE


NO SENTIDO ANTI-HORÁRIO ACIONADO PELOS PINOS RA0, RA1, RA2, RA3.

PASSO L4 (RA3) L3 (RA2) L2 (RA1) L1 (RA0)


1
2
3
4

14
Texto – Fontes: MATERIAL DE AULA,
Imagens INTERNET E MULTISIM

Você também pode gostar