Está en la página 1de 9

Microcontroladores

Universidad del Callao, 2012

MICROCONTROLADORES
(Informe Previo del Laboratorio N3)
Entorno AVR Studio
Motor PAP
Integrantes:

Adarleen Arevalo Valle


Pascual Gernimo Luigi

082661G
100749d

----------------------------------------------------------------------------------------------------------------------------- -Objetivo: Funcionamiento de motor PAP mediante AVR-Studio


FUNDAMENTO
Hace girar un motor PaP unipolar (de 5 o 6 cables) de a un paso por vez, en una secuencia
simple, con un Delay de temp milisegundos entre cada paso, mediante un array de
Darlington conectado a los pines Digitales PD7, PD6, PD5 Y PD4 para hacer girar
constantemente en sentido horario el motor PAP
PROCEDIMIENTO
EJERCICIO 1.1.- Implemente el circuito de la figura

Figura 1.- Diseo motor PAP

Atmel

Microcontroladores

Universidad del Callao, 2012

2.- El programa para realizar lo indicado es el siguiente


Programa: De acuerdo a los pasos anteriores, compruebe el funcionamiento del siguiente
programa, creando un nuevo proyecto en el entorno AVR ESTUDIO
//*******************************************************************
//****************** CONTROL DE MOTOR PASO A PASO *******************
//****************** CON SENTIDO HORARIO
*******************
//*******************************************************************
.INCLUDE "M8DEF.INC" ; libreia Atmega8
.CSEG
.ORG $0000

RJMP INICIO

//*******************************************************************
//*******************************************************************
INICIO:
ldi
R25,LOW(ramend) ;cargamos pila en bajo
out
SPL,R25
ldi
R25,HIGH(ramend) ;cargamos la pila en alto
out
SPH,R25
LDI
R16,$FF
;CARGO R16=0xff
OUT
DDRD,R16
;CONFIGURACION DE PUERTO d como salida
LDI
R16,$00
OUT
PORTD,R16 ;todos los pines estaran con valor 0
RCALL
DELAY_MS
;llamado a subrutina delay_ms
//*******************************************************************
BUCLE:
LDI
R16,$01
OUT
PORTD,R16
;salida PORTD <= 0000 0001
RCALL DELAY_MS
;llamado a subrutina delay_ms
LDI
R16,$03
OUT
PORTD,R16
;salida PORTD <= 0000 0011
RCALL
DELAY_MS
;llamado a subrutina delay_ms
LDI
R16,$02
OUT
PORTD,R16
;salida PORTD <= 0000 0010
RCALL DELAY_MS
;llamado a subrutina delay_ms
LDI
R16,$06
OUT
PORTD,R16
;salida PORTD <= 0000 0110
RCALL DELAY_MS
;llamado a subrutina delay_ms
LDI
R16,$04
OUT
PORTD,R16
;salida PORTD <= 0000 0100
RCALL DELAY_MS
;llamado a subrutina delay_ms
LDI
R16,$0C
OUT
PORTD,R16
;salida PORTD <= 0000 1100
RCALL DELAY_MS
;llamado a subrutina delay_ms
LDI
R16,$08
OUT
PORTD,R16
;salida PORTD <= 0000 1000
RCALL DELAY_MS
;llamado a subrutina delay_ms
LDI
R16,$09
OUT
PORTD,R16
;salida PORTD <= 0000 1001
RCALL DELAY_MS
;llamado a subrutina delay_ms
RJMP
BUCLE
//*******************************************************************
//****************** RETARDO DE 100 mS ******************************
//*******************************************************************
DELAY_MS:
LDI
R17,1
;CARGO R17=20
LOOP0:

Atmel

Microcontroladores

Universidad del Callao, 2012

LDI

R18,101

;CARGO R18=101

LDI

R19,65

;CARGO R19=65

DEC
BRNE
DEC
BRNE
DEC
BRNE
RET

R19
LOOP2
R18
LOOP1
R17
LOOP0

;DECREMENTO EN 1 A R19
;SALTO A LOOP2 SINO ES IGUAL A 0
;DECREMENTO EN 1 A R18
;SALTO A LOOP1 SINO ES IGUAL A 0
;DECREMENTO EN 1 A R17
;SALTO A LOOP0 SINO ES IGUAL A 0
;RETORNO DE SUBRUTINA

LOOP1:
LOOP2:

El programa esta compilado en el software AVR Studio 6.0 , la version mas reciente para
los microcontroladres Atmel , para verificar que el codigo esta correcto procedemos
presionando F7 el cual gerera el codigo .Hex que sera el que el microcontrolar usara para
poder realizar su funcion .
4.- Realizar simulaciones con el Proteus

Figura 2.- El motor esta activado

Figura 3.- El pulsador esta activado

Atmel

Microcontroladores

Universidad del Callao, 2012

5.- Realizar un diagrama de flujo del programa

Diagrama de Flujo para poder realizar el algoritmo sugerido.

Atmel

Microcontroladores

Universidad del Callao, 2012

EJERCICIO 2.6.- Realizar los cambios en el programa para cambiar el sentido de giro cada vez que
complete una vuelta el eje del motor

Figura 4.- Circuito MOTOR PAP

2.- El programa para realizar lo indicado es el siguiente


//*******************************************************************
//****************** CONTROL DE MOTOR PASO A PASO *******************
//****************** MACRO PRINCIPAL
*******************
//*******************************************************************
.INCLUDE "M8DEF.INC"
.INCLUDE "MOTORPAP_MACRO.INC"
.CSEG
.ORG $0000
RJMP INICIO
//*******************************************************************
//*******************************************************************
INICIO:
ldi
R25,LOW(ramend)
out
SPL,R25
ldi
R25,HIGH(ramend)
out
SPH,R25
LDI
R16,$FF
;CARGO R16=$0F
OUT
DDRD,R16
;CONFIGURACION DE PUERTO
LDI
R16,$00
OUT
PORTD,R16
DELAY 10
//*******************************************************************
BUCLE:
GIROS_HORARIO
2
DELAY 200
GIROS_ANTIHORARIO
3
DELAY 200
RJMP BUCLE
//*******************************************************************
.INCLUDE "DELAY_MACRO.ASM"
//************************************************************************
//************************************************************************

Atmel

Microcontroladores

Universidad del Callao, 2012

.MACRO DELAY
LDI
R22,@0
RCALL DELAY_MS
.ENDMACRO
//************************************************************************
//************************************************************************
.MACRO GIROS_HORARIO
LDI
R20,@0
NUMERO_GIROS_HORARIO:
LDI

R21,50

VUELTA_COMPLETA_H:
LDI
R16,$01
OUT
PORTD,R16
DELAY 1
LDI
R16,$03
OUT
PORTD,R16
DELAY 1
LDI
R16,$02
OUT
PORTD,R16
DELAY 1
LDI
R16,$06
OUT
PORTD,R16
DELAY 1
LDI
R16,$04
OUT
PORTD,R16
DELAY 1
LDI
R16,$0C
OUT
PORTD,R16
DELAY 1
LDI
R16,$08
OUT
PORTD,R16
DELAY 1
LDI
R16,$09
OUT
PORTD,R16
DELAY 1
DEC
R21
BRNE VUELTA_COMPLETA_H
DEC
R20
BRNE NUMERO_GIROS_HORARIO
.ENDMACRO
//*************************************************************************
//*************************************************************************
.MACRO GIROS_ANTIHORARIO
LDI
R20,@0
NUMERO_GIROS_ANTIHORARIO:
LDI
R21,50
VUELTA_COMPLETA_AH:
LDI
R16,$08
OUT
PORTD,R16
DELAY 1
LDI
R16,$0C
OUT
PORTD,R16
DELAY 1
LDI
R16,$04
OUT
PORTD,R16
DELAY 1
LDI
R16,$06
OUT
PORTD,R16
DELAY 1
LDI
R16,$02
OUT
PORTD,R16
DELAY 1
LDI
R16,$03
OUT
PORTD,R16
DELAY 1
LDI
R16,$01
OUT
PORTD,R16
DELAY 1
LDI
R16,$09
OUT
PORTD,R16
DELAY 1

Atmel

Microcontroladores

Universidad del Callao, 2012


DEC
BRNE
DEC
BRNE

R21
VUELTA_COMPLETA_AH
R20
NUMERO_GIROS_ANTIHORARIO

.ENDMACRO
//*************************************************************************
//*************************************************************************
DELAY_MS:
LOOP:
LDI
R17,1
LOOP0:
LDI
R18,101
;CARGO R18=100
LOOP1:
LDI
R19,65
;CARGO R19=40
LOOP2:
DEC
R19
;DECREMENTO EN 1 A R19
BRNE LOOP2
;SALTO A LOOP2 SINO ES IGUAL A 0
DEC
R18
;DECREMENTO EN 1 A R18
BRNE LOOP1
;SALTO A LOOP1 SINO ES IGUAL A 0
DEC
R17
;DECREMENTO EN 1 A R17
BRNE LOOP0
;SALTO A LOOP0 SINO ES IGUAL A 0
DEC
R22
BRNE LOOP
RET
//*************************************************************************

4.- Realizar simulaciones con el Proteus

Figura 5.- Motor PAP sentido horario

Figura 6.- Motor PAP sentido anti-horario

Atmel

Microcontroladores

Universidad del Callao, 2012

5.- Realizar un diagrama de flujo del programa

INICIO

DDRD <= SALIDA


PORTB <= $00
CONT <= 0

NO

SI
CONT=10
?

PORTD <= $01


DELAY
PORTD <= $03
DELAY
PORTD <= $02
DELAY
PORTD <= $06
DELAY
PORTD <= $04
DELAY
PORTD <= $0c
DELAY
PORTD <= $08
DELAY
PORTD <= $09
DELAY

PORTD <= $09


DELAY
PORTD <= $08
DELAY
PORTD <= $0C
DELAY
PORTD <= $04
DELAY
PORTD <= $06
DELAY
PORTD <= $02
DELAY
PORTD <= $03
DELAY
PORTD <= $01
DELAY

CONT+
+
FIN

Diagrama de Flujo para poder realizar el algoritmo sugerido.

Atmel

Microcontroladores

Universidad del Callao, 2012

9.- Diga cinco aplicaciones de los motores pap en la industria


Las aplicaciones de los motores PAP estan enfocadas en el campo de la industria :

mquinas de control numrico computarizado (CNC) donde su uso es de suma


importantacia y sus clculos los realiza un computador
bombas volumtricas .- Las bombas volumtricas o de desplazamiento positivo
se caracterizan porque el caudal que impulsan, a velocidad de accionamiento
constante, es sensiblemente independiente de la presin de descarga
Uso en impresoras
Uso en fotocopiadoras
Uso en Ploteadoras

Bibliografia :
Paginas Web :

Atmel

www. atmel.com
http://www.robotsperu.org/foros/atmel-vt398.html
http://proton.ucting.udg.mx/tutorial/AVR/index.html

También podría gustarte