Practica5 PDF
Practica5 PDF
Práctica nº 5
Control de un Motor Paso a Paso
1. OBJETIVO
El objetivo de esta práctica es controlar un motor paso a paso unipolar con el microcontrolador
PIC16F873. Para ello se pide escribir un programa en lenguaje ensamblador que haga girar al motor un
número determinado de pasos, controlado por la variable PASOS y en el sentido indicado por la línea de
puerto RA0.
2. PROCEDIMIENTO
La conexión del motor al microcontrolador PIC16F873 se ha realizado a través de los drivers ULN2003
para conseguir la corriente suficiente que permita su funcionamiento, tal y como se muestra en la Figura 1.
Las 4 líneas menos significativas RB0-RB3 del Puerto B serán las encargadas de generar la secuencia de
activación del motor paso a paso. El control del motor PAP debe realizarse aplicando la “Secuencia
Normal” y la frecuencia de funcionamiento debe ser de 100 pulsos/s.
La línea RA0 se ha conectado a un interruptor, que en función de su estado determina el sentido de giro
del motor (interruptor abierto “1” indica giro a la derecha e interruptor cerrado “0” indica giro a la izquierda).
Para depurar el programa, dentro del entorno MPLAB IDE seleccionar como herramienta de depuración
el programa PROTEUS VSM con Debugger>>Select Tool. En la barra de estado aparece la herramienta
seleccionada y además se abrirá en una nueva ventana el visor de PROTEUS.
Dentro del visor abrir el archivo “practica5.dsn” que contiene el esquema para la simulación. A
continuación construir de nuevo el proyecto desde el menú Project>>Build All y pulsar sobre el símbolo del
microcontrolador en el botón derecho del ratón, se desplegará un menú, seleccionar Edit Properties e
indicar la ruta donde se encuentra el fichero de programa “practica5.hex”.
A continuación pulsar sobre el círculo verde que aparece en la barra de herramientas y ejecutar el
programa con los comandos del simulador.
C2
10p
X1 C1
10p
CRYSTAL
U3
9
COM
R11 U1
1
1B 1C
16
10k 2 15
2B 2C
9 21 3 14
OSC1/CLKIN RB0/INT 3B 3C
10 22 4 13
OSC2/CLKOUT RB1 4B 4C
1 23 5 12
MCLR/Vpp/THV RB2 5B 5C
24 6 11
RB3/PGM 6B 6C
2 25 7 10
RA0/AN0 RB4 7B 7C
3 26
RA1/AN1 RB5
4 27 ULN2003A
RA2/AN2/VREF- RB6/PGC
5 28
RA3/AN3/VREF+ RB7/PGD
C3 6
RA4/T0CKI
+88.8
1uF 7 11
RA5/AN4/SS RC0/T1OSO/T1CKI
12
RC1/T1OSI/CCP2
13
RC2/CCP1
14
RC3/SCK/SCL
15
RC4/SDI/SDA
16 U2
RC5/SDO
R13 RC6/TX/CK
17
COM
9
10k 18 1 16
RC7/RX/DT 1B 1C
2 15
2B 2C
PIC16F873 3 14
3B 3C
4 13
4B 4C
5 12
5B 5C
6 11
6B 6C
7 10
7B 7C
ULN2003A