Está en la página 1de 5

Práctica 7.

DISEÑO DEL CONTROL DE UN MOTOR A PASOS.

Objetivo:

El alumno aprenderá a diseñar el controlador de un motor a pasos mediante el uso de implementación


de máquinas de estado.

Especificaciones:

Diseñar un circuito de control utilizando un FPGA, el cual se encargará de activar un motor a pasos
“bipolar” con 4 líneas de control. Los movimientos que debe realizar el motor son en sentido a las
manecillas del reloj, viceversa y detenido por medio de los botones que controlan estos movimientos.
La figura 1.1 muestra el diagrama a bloques del sistema.

Diagrama de bloques:

Rosa
M(0 … 3)
Divisor
Bit 17
de div_reloj FSM
frecuencia
Naranja
Amarillo

Azul
Rojo
F H UD

Figura 1.1 Diagrama de bloques del control de motor a pasos.

El código del módulo de control para el sensor ultrasónico se muestra a continuación.

Un motor a pasos (stepper motor) tiene la propiedad de moverse de una posición a otra (paso), por cada
pulso de reloj que se le aplique. Un motor de este tipo es conveniente donde se requiere posicionar con
una buena aproximación el rotor. En cuanto a su funcionamiento y configuración, los motores a pasos
se clasifican en tres tipos: unipolares, bipolares y multifase.

En este caso, se utilizará el motor unipolar cuyo control es el más sencillo. Para el uso del tipo unipolar
se debe notar que si se el controlador tiene conectado el común a GND, se excitarán las bobinas con V dc
o el caso contrario cuando el común está a V dc. En la figura 1.2 se muestra un esquema de la conexión
interna del motor a pasos que se utilizará. La frecuencia de trabajo en algunos motores puede llegar a
ser hasta los 6 MHz.
Figura 1.2 Motor a pasos de 4 fases, con conexiones propuestas.

Se tienen tres posibles secuencias a seguir: Paso Completo (Wave drive) , paso normal y paso medio.
Para la primera secuencia de movimiento se plantea la siguiente tabla:

Estado a1 b1 a2 b2
0 1 0 0 0
1 0 1 0 0
2 0 0 1 0
3 0 0 0 1

Para el paso normal se tiene la siguiente tabla:

Estado a1 b1 a2 b2
1 1 0 0 0
0 1 1 0 0
2 0 0 1 1
3 1 0 0 1

Y para el paso medio se tiene la siguiente tabla:

Estado a1 b1 a2 b2
0 1 0 0 0
1 1 1 0 0
2 0 1 0 0
3 0 1 1 0
4 0 0 1 0
5 0 0 1 1
6 0 0 0 1
7 1 0 0 1
El programa módulo de control:

Library IEEE;
Use IEEE.Std_logic_1164.all;
Use IEEE.Std_logic_arith.all;
Use IEEE.Std_logic_unsigned.all;

Entity mot_pasodeuno is
Port (reloj, reset, stop: in std_logic;
dato_motor: out std_logic_vector(3 downto 0));
End Entity;

Architecture behavioral of mot_pasodeuno is

Type state is (inicia, cero, uno, dos, tres);


Signal pr_state, nx_state : state;
begin

Process (reset, clk)


Begin
If (reset='0') then
pr_state <= inicia;
elsif clk ='1' and clk'event then
pr_state <= nx_state;
End if;
End Process;

Process(pr_state, stop)
Begin
Case pr_state is

When inicia =>


If stop='0' then
nx_state <= inicia;
else
nx_state <= cero;
End If;

When cero =>


If stop='0' then
nx_state <= cero;
else
nx_state <= uno;
End If;

When uno =>


If stop='0' then
nx_state <= uno;
else
nx_state <= dos;
End If;

When dos =>


If stop='0' then
nx_state <= dos;
else
nx_state <= tres;
End If;

When tres =>


If stop='0' then
nx_state <= tres;
else
nx_state <= cero;
End If;

End Case;

End Process;

Process(pr_state)
Begin
Case pr_state is
When inicia => dato_motor <= "0000";
When cero => dato_motor <= "1000";
When uno => dato_motor <= "0100";
When dos => dato_motor <= "0010";
When tres => dato_motor <= "0001";
When others => NULL;
End Case;
End Process;

End behavioral;

Actividades complementarias:

1.- Con base en el programa ejemplo del paso wave drive, el alumno deberá implementar el programa
donde con ayuda de tres señales, se pueda manejar cualquiera de las tres secuencias que manejan el
motor a paso.

2.- El alumno deberá realizar las modificaciones pertinentes para poder girar el motor y contar un
cierto número de vueltas en un sentido y en el otro sentido.
Los parámetros del motor paso a paso son:
• Modelo: 28BYJ-48 – 5V
• Tensión nominal: 5V (o 12 V, valor indicado en la parte trasera).
• Cantidad de fases: 4.
• Reductor de velocidad: 1/64
• Ángulo de paso: 5,625° / 64
• Frecuencia: 100Hz
• Resistencia en CC: 50Ω ±7 % (25° C)
• Torque con tracción: >34,3mN.m (120Hz)
• Torque en autoposicionamiento: >34,3mN.m
• Torque con fricción: 600-1200 gf.cm
• Arrastre en torque: 300 gf.cm

También podría gustarte