Está en la página 1de 16

Proyecto de Microprocesadores y Sistemas Embebidos

CONTROL DE POSICIÓN DE UN MOTOR A PASOS


POSITION CONTROL OF A STEPPER MOTOR
PROYECTO

Josselyn Estefanía Moreira Ríos 1


Shirley Jhosset Cargua Cargua 2

Resumen Abstract
Este documento contiene toda la información This document contains all the necessary
necesaria del control de posición de un motor a information of the position control of a stepper
pasos, el significado de cada uno de los motor, the meaning of each one of the implements
implementos que fueron utilizados, en donde that were used, where we make reference to a
hacemos referencia a un motor a pasos, como stepper motor, as we well know this is an
bien sabemos éste es dispositivo electromecánico electromechanical device that converts a series of
que convierte una serie de pulsos eléctricos en electric pulses into angular displacements, which
desplazamientos angulares, lo que significa que means that it is capable of rotating a quantity of
es capaz de girar una cantidad de grados (paso o degrees (step or half step) depending on its control
medio paso) dependiendo de sus entradas de inputs. It is known that these are ideal for the
control. Se sabe que estos son ideales para la construction of mechanisms where very precise
construcción de mecanismos en donde se movements are required. While it is true that
requieren movimientos muy precisos. Si bien es stepper motors operate controlled by an advance
cierto que los motores paso a paso funcionan pulse, the control of a stepper motor is not done by
controlados por un pulso de avance, el control de un applying this electric pulse that makes it advance.
motor paso a paso no se realiza aplicando en directo These motors have several windings that, in order
este pulso eléctrico que lo hace avanzar. [1] to produce the advance of that step, must be fed in
Estos motores tienen varios bobinados que, para an adequate sequence. Stepper motors have an
producir el avance de ese paso, deben ser alimentados additional feature: the holding torque (which can
en una adecuada secuencia. Los motores paso a paso also be seen mentioned as "holding torque", and
tienen una característica adicional: el torque de even "maintenance" torque/torque), which does not
detención (que se puede ver mencionado también exist in DC motors. One of the main characteristics
como "par de detención", e incluso par/torque "de of these motors is the fact that they can be moved
mantenimiento"), que no existe en los motores de CC. one step at a time for each pulse applied to them.
Una de las características principales de estos This step can vary from 90° to small movements of
motores es el hecho de poder moverlos un paso a 1.8°. That is why these types of motors are widely
la vez por cada pulso que se le aplique. Este paso used, since they can be moved at the user's request
puede variar desde 90° hasta pequeños according to the sequence indicated by a
movimientos de 1.8°. [1] Es por eso que ese tipo microcontroller
de motores son muy utilizados, ya que pueden
moverse a deseo del usuario según la secuencia
que se les indique a través de un Keywords: Stepper motor, Keyboard, Display,
microcontrolador.
Microcontroller
Palabras Clave: Motor a pasos, Teclado,
Display, Microcontrolador

1
1
Universidad Politécnica Salesiana

1. Introducción
En las últimas décadas se ha incrementado el desarrollo y aplicación de los motores a pasos es por eso que
debemos tener en cuenta los conceptos básicos del motor paso a paso, así, de esta manera poder indagar a
profundidad más del tema. [1] El motor paso a paso es el convertidor electromecánico que permite la
conversión de una información en forma de energía eléctrica, en una energía mecánica y una información de
posición. Está constituido por un estator cuyos devanados se llaman fases y un rotor de un elevado número de
polos. Su funcionamiento es síncrono y la alimentación cíclica de sus fases debe originar en cambio de
configuración un giro elemental del rotor, constante, llamado paso. Existe una gran diversidad de modelos de
estos motores dependiendo del número de fases de su estator, de si la alimentación de estas es unipolar o
bipolar, del número de paso por vuelta y de si su rotor es de reluctancia variable, imanes permanentes o
híbridos. En cuanto al control, existen tres modos de realizarlos, paso entero, medio paso y micro paso. [2] En
el paso entero, cada vez que se modifica la alimentación de las fases del estator se avanza un paso disponiendo
de par nominal del rotor. En el medio paso se avanza sólo medio paso con lo que se dispone de mejor
resolución, pero el par en las posiciones situadas entre pasos regulares se reduce a la mitad. [2] Estos dos tipos
de funcionamiento disponen en el mercado de gran variedad de integrados para su control. El funcionamiento
en micro paso consiste en alimentar al mismo tiempo varias fases a la vez con corrientes medias distintas, de
modo que la posición media del flujo en el entrehierro se puede fijar en cualquier posición. Con este
funcionamiento se consigue una resolución inmejorable y existen en el mercado distintas tarjetas de control
basadas en microprocesador.
El control de posición de motores paso a paso se puede efectuar en lazo abierto siempre que se tomen las
precauciones necesarias para no perder ningún paso.

2
1.1. Objetivo General

El objetivo general del presente proyecto es el estudio, diseño y simulación del control de posición de
un motor a pasos donde se implementarán 3 Displays, y un teclado el cual realizará varias opciones de
funcionamiento del mismo.

1. Características fundamentales de los motores paso a paso


Estos son los conceptos fundamentales que caracterizan a todo motor de paso a paso en general [3]

I. Características T/ θ
El motor paso a paso permanece en una posición de equilibrio alcanzada por medio de la
excitación de las correspondientes fases. Si en estas condiciones aplicamos al eje del motor un
par externo, el rotor se desplazará un determinado ángulo respecto de la posición de equilibrio.
La figura 1 muestra la relación entre el valor del par externo aplicado y este desplazamiento
angular del rotor. A la curva resultante se le denomina genéricamente “Curva característica T/θ”.
El máximo de esta curva se denomina “holding torque” y ocurre en θ=θM. El holding torque se
define rigurosamente como el “máximo par estático que puede ser aplicado al eje de un motor
paso a paso excitado sin causarle una rotación continua [4]

Figura 1. Curva característica de par de mantenimiento para varias intensidades [1]


II. Características dinámicas

Las características de comportamiento dinámico del motor que nos relacionan la velocidad y el
par, pudiéndose derivar de éstas el arranque, el paro, y la aceleración. [4]

III. Características T/I

El holding torque aumenta con la corriente de excitación de las fases. La figura 2 muestra la
relación entre estos dos parámetros para dos tipos de motores paso a paso diferentes, uno de
reluctancia variable y otro híbrido. Se puede observar como el par no se anula para corriente de
excitación nula en el caso de motor híbrido debido a la presencia del imán permanente en el
rotor. [4]

3
Figura 2. Característica par/intensidad donde a es el motor de reluctancia variable de cuatro fases y b es el motor hibrido [1]

2. Aplicaciones de los motores paso a paso

En el campo de las maquinas herramientas, existen numerosas aplicaciones potenciales. Estas se pueden
clasificar en dos categorías:

a) La primera cubre el uso de los motores de pasos en el movimiento indexado o como un ciclo de
control limitado
b) La segunda cubre un mayor campo de aplicaciones en el control numérico de máquinas
herramientas. El diseño del control numérico de maquinas consiste de varios tópicos
interrelacionados, lo cual implica diseñar el control. [5]

La gran variedad de usos de los motores a pasos no tiene limites sin embargo podemos decir que tienen su
aplicación en taladros para circuitos impresos, válvulas actuadoras, cámaras de video, cámaras
fotográficas, robótica, máquinas de control numérico, muchos usos en impresoras, equipos médicos,
manejadores de disk drivers, fotocopiadoras, maquinas telex, equipos de fax y todo aquello en que la
mente humana requiere del control de movimiento y posición [5]

Figura 3. Aplicaciones de los motores a paso [2]

3. Tipos de motores paso a paso

Los motores de pasos pueden ser bipolares que


requieren dos fuentes de poder o una fuente de
poder de polaridad conmutable, o unipolares que
requieren sólo una fuente de poder. Se impulsa mediante una fuente de corriente directa y requieren
circuitos digitales para producir secuencias de energización de bobina para la rotación del motor. [5]

3.1. Comparaciones entre motor a paso bipolar y unipolar

a) BIPOLARES
Estos presentan mayor torque, son de menor tamaño, son más económicos, mayor anclaje
debido a los embobinados y su control es más complicado, requiere una tarjeta.

b) UNIPOLARES
Estos en cambio presentan menor
torque, son de tamaño mayor, su costo no es muy rentable, tienen menos anclaje y su control
es más simple al requerir únicamente un circuito de alimentación. [5]
4
3.2. Tipos de motores paso a paso por su construcción

1. Motor paso a paso de reluctancia variable

Cuentan con un rotor ferromagnético, el movimiento del motor paso a paso y su retención
resulta de la atracción de los polos del estator y rotor a posiciones con mínima reluctancia
magnética que permite el máximo flujo magnético. La ventaja de un motor paso a paso de
reluctancia variable es que al tener una menor inercia de rotor provocara una respuesta
dinámica más rápida. [6]

Figura 4. Motor paso a paso de reluctancia variable [3]

2. Motor paso a paso de imán permanente

El estator se conforma de polos devanados y los polos del rotor son imanes permanentes. Al
excitar diferentes combinaciones de devanados del estator se mueve y retiene el rotor en
diferentes posiciones. Crea polos de polaridad opuestos para su avance.
La ventaja que presentan se debe a un pequeño torque de retención residual, llamado
momento de detención aun cuando el estator no esté energizado. [6]

Figura 5. Motor paso a paso de imán permanente [3]

3. Motor paso a paso hibrido

Es una combinación del motor paso a paso de reluctancia variable e imán permanente, tiene
un rotor de imán permanente y un estator dentado. El rotor cuenta con dos secciones que son
opuestas en polaridad y sus dientes están desplazados

Figura 6. Motor paso a paso híbrido [4]

4. Ventajas de un motor a pasos


5
Los motores a pasos tienen varias ventajas, entre las más principales tenemos [7]
a) Pueden ser operados con sistemas de lazo abierto
b) El error de posición es de un solo paso
c) Error no acumulativo entre pasos
d) Control de posición del motor por pulsos discretos
5. Desventajas de un motor a pasos
Entre las desventajas más frecuentes son:
a) Incrementos fijos de movimiento
b) Baja eficiencia, importante la elección del controlador
c) Alta oscilación y sobre impulso a una entrada de paso
d) Limitada salida de potencia
e) Limitada habilidad para controlar grandes cargas inerciales
f) Los errores de fricción pueden incrementar el error de posición

6. Display de 7 segmentos
Es un dispositivo usado para presentar información de forma visual. Esta información es
específicamente un dígito decimal del 0 (cero) al 9 (nueve), por lo que se intuye que el código BCD está
involucrado. El caso que nos atañe consta de 7 Leds (Light Emisor Diode), uno por cada segmento, que
se encenderán o apagarán dependiendo de la información que se les envíe (dije que en este caso ya que
existen también display 7 segmentos de cristal líquido, incandescentes, etc.) [8]

Figura 7. Display de 7 segmentos [4]

6.1. Partes de un Display de 7 segmentos

Se le conoce como 7 segmentos por que cuenta con siete diodos led principales y uno extra para
representar un punto. También cuenta con una carcasa para cubrirlos y 10 terminales: 2 son de
alimentación (2 de Vcd o 2 de Gnd), 1 es para visualizar un punto y 7 son para representar cada uno
de los números según la combinación que se le ponga, estos están representados por una letra del
abecedario desde la “A” hasta la letra “G”. [8]

6
Figura 8. Partes de un display de 7 segmentos

6.2 Tipos de display de 7 segmentos


Al ser un dispositivo muy simple no existe mucha variedad, solo podemos encontrar de:
 Ánodo común

Figura 9. Display de ánodo común [6]

 Cátodo común

Figura10. Display de cátodo común [6]

 Doble display

Figura11. Display doble 62]

 Por tamaño

7
Figura12. Display por tamaño [6]

7. Teclado Matricial (KEYPAD)


Un teclado matricial es un dispositivo que agrupa varios pulsadores y permite controlarlos empleando un
número de conductores inferior al que necesitaríamos al usarlos de forma individual. Podemos emplear estos
teclados como un controlador para un autómata o un procesador como Arduino. Estos dispositivos agrupan
los pulsadores en filas y columnas formando una matriz, disposición que da lugar a su nombre. Es frecuente
una disposición rectangular pura de NxM columnas, aunque otras disposiciones son igualmente posibles.
Los teclados matriciales son frecuentes en electrónica e informática. De hecho, los teclados de ordenador
normales son teclados matriciales, siendo un buen ejemplo de teclado matricial con disposición no
rectangular.

Figura 13. Teclado Matricial [6]

Internamente la disposición de los pulsadores es la siguiente, que es muy similar a la disposición que
vimos al tratar sobre displays LED matriciales. [9]

Figura 14. Parte interna del teclado Matricial [6]

8. Desarrollo del Proyecto

8.1. Configuración de CubeMx

8
Figura 3. Configuración de CubeMx [7]

8.2. Código desarrollado en Keil


Inicialización de variables
int f=0;
int c=0;
int Display [10];
char *teclado [2] [4];
int columna [4];
int fila [2];
int contador=0;
int contador2=0;
int contador3=0;
int horario=0;
int antihorario=0;
int motor=0;
int K=8;
int L=0;
int M=0;
int bloq=0;

9
Definir las matrices
Display[0]=0x7E;//0
Display[1]=0xC;//1
Display[2]=0xB6;//2
Display[3]=0x9E;//3
Display[4]=0xCC;//4
Display[5]=0xDA;//5
Display[6]=0xFA;//6
Display[7]=0xE;//7
Display[8]=0xFE;//8
Display[9]=0xDE;//9

teclado [0] [0]="1";


teclado [0] [1]="2";
teclado [0] [2]="3";
teclado [0] [3]="-";

teclado [1] [0]="On";


teclado [1] [1]="0";
teclado [1] [2]="=";
teclado [1] [3]="+";

columna [0]=GPIO_PIN_7;
columna [1]=GPIO_PIN_8;
columna [2]=GPIO_PIN_9;
columna [3]=GPIO_PIN_10;

fila[0]=GPIO_PIN_5;
fila[1]=GPIO_PIN_6;

Código para programar el teclado


for (c=0;c<=3; c++){

1
0
HAL_GPIO_WritePin(GPIOA,columna[c],GPIO_PIN_SET);//Primero encender columna 1
for (f=0;f<=1;f++){
if(HAL_GPIO_ReadPin(GPIOA,fila[f])==1){ //Busca que fila se preciono

Código para aumentar el valor


if(teclado[f][c] == "+" && bloq==0){
contador=contador+4;
motor++;
if (motor>90){
motor=90;}
if (contador>8 && K==8){
contador2++;
contador=2;
K=6;}
if (contador>8 && K==6){
contador2++;
contador=0;
K=8;}

Código para disminuir el valor


if(teclado[f][c] == "-" && bloq==0){
contador=contador-4;
motor--;
if (motor<=0){
motor=0; }
if (contador<0 && K==6){
contador=8;
K=8;
contador2--;}
if (contador<0 && K==8){
contador=6;
K=6;

1
1
contador2--;}

Dar sentido horario al motor


if(teclado[f][c] == "1" && bloq==0){
horario=1;
antihorario=0; }

Dar sentido anti horario al motor


if(teclado[f][c] == "2" && bloq==0){
horario=0;
antihorario=1; }

Mover al motor en sentido horario


if(horario==1 && antihorario==0){
for(int j=0;j<=motor-1;j++){
for(int i=1;i<=4;i++){
GPIOA->ODR=0x1<<i;
HAL_Delay(50); }
}
HAL_Delay(500);
L=1;
M=0; }

Mover al motor en sentido anti horario


if(horario==0 && antihorario==1){
for(int j=0;j<=motor-1;j++){
for(int i=1;i<=4;i++){
GPIOA->ODR=0x1<<(5-i);
HAL_Delay(20); }
}
HAL_Delay(500);
M=1;

1
2
L=0; }
bloq=1; }

Regresar al motor a 0 en sentido horario


if(horario==1 && antihorario==0 && L==1){
for(int j=0;j<=motor-1;j++){
for(int i=1;i<=4;i++){
GPIOA->ODR=0x1<<(5-i);
HAL_Delay(20); }
L=0; }

Regresar el motor a 0 en sentido anti horario


if(horario==0 && antihorario==1 && M==1){
for(int j=0;j<=motor-1;j=j+1){
for(int i=1;i<=4;i++){
GPIOA->ODR=0x1<<i;
HAL_Delay(20); }
}
M=0; }
bloq=0; }
}

Código de inicialización de los displays


GPIOB->ODR=Display[contador3];
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_11,GPIO_PIN_RESET);
HAL_Delay(1);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_11,GPIO_PIN_SET);
GPIOB->ODR=Display[contador2];
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_12,GPIO_PIN_RESET);
HAL_Delay(1);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_12,GPIO_PIN_SET);
GPIOB->ODR=Display[contador];

1
3
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_13,GPIO_PIN_RESET);
HAL_Delay(1);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_13,GPIO_PIN_SET);
8.3. Diagrama de Flujo

8.4. Diagrama del circuito en Proteus

Figura 3. Esquema mostrado en Proteus

1
4
Figura 3. Diagrama mostrado en Proteus

8.5. Link del video que muestran los resultados y procedimientos.


PONER EL LINK DEL VIDEO
9. Conclusiones

 Se puede concluir de este proyecto que los motores a paso también son ideales para la construcción de
mecanismos en donde se requieren de movimientos más precisos.
 Se concluyó también que el motor a pasos se comporta de la misma manera que un conversor digital
analógico e incluso puede ser gobernado por impulsos que vienen de sistemas digitales
 Con respecto al teclado matricial o Keypad, se concluyó que en estos existe una desventaja la cual
puede causar problemas cuando se pulsa más de una tecla simultáneamente.
 Se puede concluir que utilizar el ODR y la programación mediante filas y columnas para mandar
variables al teclado es mucho más eficiente y rápido al momento de programar y ejecutar.
 El motor a pasos cumplió con todas las especificaciones que, en un principio el proyecto nos pedía,
por ende se puede deducir que si es un motor el cual funcionaría correctamente tanto en la simulación
como al momento de ponerlo en práctica

Referencias
[1] B. H. A. Urbina, Motor de pasos: Control de posicion y velocidad mediante un microcontrolador, Quito:
Escuela Politecnica Salesiana, 1996, p. 177.
[2] A. King, Motores Paso a Paso, Mexico: Universidad Nacional de Mexico, 2013, p. 125.
[3] A. P. Philp, Controladores industriales de diseño de alto nivel , y Sistemas Embebidos, Argentina:
Departamento de Ingenieria Electrica , Electronica y de Control, 2005.
[4] P. Villegas, Motor paso a paso¿Qué es y como funciona?, Ingeniería Mecafenix, 2017.
[5] E. J. Carletti, Motores paso a paso, Caracteristicas básicas, Argentina, 2007.
[6] B. Jones, Motor a Pasos, Mexico: Mecatrónica LATAM, 2014.
[7] GenerateMecafenix, Display de 7 segmentos, Mexico, 2018.
[8] W. G. Yanez, DISPLAY DE 7 SEGMENTOS, CIRCUITO MANEJADOR DE DISPLAY, Quito: Escuela
Politécnica Nacional, 2012.
[9] L. Llamas, USO DEL TECLADO MATRICIAL, Zona Geek, 2016.
[10] V. García, Keypad (matriz teclado), EPA(Electrónica Práctica Aplicada), 2010.

1
5
Cargua Shirley / Maquinada Concordante y Discordante

1
6

También podría gustarte