Está en la página 1de 17

ESCUELA DE ELECTROMECÁNICA

Laboratorio de Control Eléctrico

MI 4210

Informe de Laboratorio 3

Experimento:

Laboratorio 3: Circuito digital para control de motor a pasos y servomotor.

Realizado por:

KEVIN AARON SALAZAR ARIAS 2016050375

Profesor:

LUIS GÓMEZ GUTIÉRREZ

GRUPO 5

II SEMESTRE 2020

20 DE NOVIEMBRE DEL 2020


Tabla de Contenidos

Objetivos 2
Materiales y equipo 3
Procedimiento 4
Resultados experimentales 10
Figura 4. Arduino utilizado para el motor a pasos. 10
Figura 5. Potenciómetro utilizado para regular la velocidad del motor a pasos .
10
Figura 6. Driver ULN2003 utilizado para el motor a pasos. 11
Figura 7. Motor a pasos en posición B. 11
Figura 8. Circuito de control con servomotor. 12
Discusión de resultados 13
Conclusiones 14
Apéndice 15
Teoría 15
Referencias Bibliográficas 16

1
Objetivos

• Diseñar del circuito de control para un motor a pasos a partir de un desplazador


de registros bidireccional.
• Diseñar la interface de potencia entre el control y el motor.
• Diseñar la interface de potencia utilizando relés de 5 V.
• Implementar con puentes H.
• Diseñar el control de un servomotor.

2
Materiales y equipo

• 1 Arduino Uno R3
• Un Servomotor
• 1 driver ULN2003
• Un motor a pasos
• 1 ProtoBoard.
• 4 resistencias de 270 Ω.
• 4 diodos Leds.
• 2 botoneras
• 1 interruptor
• Cables de conexión.

3
Procedimiento

Se tenía que buscar la solución para el siguiente problema:


Se desea automatizar un sistema, el cual permite taladrar piezas colocadas en puntos
estratégicos, según las figuras abajo indicadas. Se utilizará un robot SCARA, para los
efectos del laboratorio solo se usarán dos movimientos, el efector que baja y sube no
se incluye en esta práctica. El movimiento lo realizan dos motores paso a paso, los
cuales deben de moverse en la siguiente secuencia.
a. Al dar la señal de inicio se debe colocar en la parte derecha.
b. Una vez ahí se espera 4 segundos que es el tiempo que dura el taladrado.

Figura 1. Etapa 1 del proceso.


Fuente: Manual de laboratorio (2018)
c. Transcurrido el tiempo se mueve al punto marcado como A y espera 2
segundos.

4
Figura 2. Etapa 2 del proceso
Fuente: Manual de laboratorio (2018)
d. Luego va al punto donde está la pieza de la izquierda y espera 4 segundos
para taladrar la otra pieza.

e. Luego de este tiempo se mueve hasta el punto a la derecha para taladrar otra
pieza

Figura 3. Etapa 3 del proceso


Fuente: Manual de laboratorio (2018)

5
Figura 3. Etapa 3 del proceso
Fuente: Manual de laboratorio (2018)

Además, se debe poder controlar de la velocidad del motor.

Para este laboratorio se diseñó un código en el Arduino para que este realizara la
función solicitada en el problema:

#include <Stepper.h>

const int steprevolution = 200;

Stepper motor1(2048, 8, 10, 9, 11);

int stepCount = 0; // number of steps the motor has taken

void setup () {
}

void loop () {
delay(4000);
motor1.step(-256);
delay(2000);
motor1.step(-256);
delay(4000);

6
motor1.step(512);

// read the sensor value:


int sensorReading = analogRead(A0);
// map it to a range from 0 to 100:
int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
// set the motor speed:
if (motorSpeed > 0) {
motor1.setSpeed(motorSpeed);
// step 1/100 of a revolution:
motor1.step(steprevolution / 100);
}
}

Después de introducir el código al Arduino, se conectó este a la protoboard donde se


conectó a un driver, que conecta al motor a pasos, y también a un potenciómetro que
regulaba la velocidad del motor. Al final se pudo evidenciar los movimientos que se
esperaba.

Finalmente se diseñó el código para el servomotor:

#include <Servo.h> // Incluimos la biblioteca Servo

Servo servomotor; // Definimos los servos que vamos a utilizar

int posicion_servomotor; // Estas variables definirán

const int pulsador_izquierda = 2; // Definimos el número de pin


const int pulsador_derecha = 3; // para cada uno de los pulsadores
const int pulsador_pare_arranque = 6;

int estado_pulsador_izquierda = 0; // Variables para leer el estado del pulsador


int estado_pulsador_derecha = 0;

7
int incremento_de_angulo = 45; // Incremento que queremos cada vez que
pulsamos
int estado_pare_arranque = 0;

void setup() // Comenzamos la configuración de los pines


{
servomotor.attach(9) ; // Definimos los pines de salida para cada servo

pinMode(pulsador_izquierda, INPUT); // Difinimos los pines para la señal de


pinMode(pulsador_derecha, INPUT); // los pulsadores como entadas
pinMode(pulsador_pare_arranque, INPUT);
}

void loop() {

estado_pulsador_izquierda = digitalRead(pulsador_izquierda); // Leemos el estado


estado_pulsador_derecha = digitalRead(pulsador_derecha) ; // de cada uno de los
pulsadores
estado_pare_arranque = digitalRead(pulsador_pare_arranque);
if (estado_pare_arranque == HIGH){
if (estado_pulsador_izquierda == HIGH)
{
posicion_servomotor = posicion_servomotor + incremento_de_angulo;
servomotor.write(posicion_servomotor);
delay(100);
}

else if (estado_pulsador_derecha == HIGH)

// Si tenemos pulasdo el "Pulasdor derecha"


// El servo inferior se mueve a la nueva posición
// La nueva posición será la posicion actual - el incremento angular
// Esperamos 100ms hasta una nueva señal
{

8
posicion_servomotor = posicion_servomotor - incremento_de_angulo;
servomotor.write(posicion_servomotor);
delay(100);
}}

else {
// Si no tenemos pulasdo ningún pulasdor
// esperamos 100ms hasta una nueva señal
delay(100); }}

Para el caso del servomotor, este fue simulado en TINKERCAD®, donde se pudo
visualizar los movimientos de un servomotor al tocar las botoneras que hacían que
girara, ya sea a la izquierda o la derecha. Luego había un interruptor que hacían que
se activara el servo o se desactivara.

9
Resultados experimentales

Figura 4. Arduino utilizado para el motor a pasos.


Fuente: Elaboración propia

Figura 5. Potenciómetro utilizado para regular la velocidad del motor a pasos .


Fuente: Elaboración propia

10
Figura 6. Driver ULN2003 utilizado para el motor a pasos.
Fuente: Elaboración propia.

Figura 7. Motor a pasos en posición B.


Fuente: Elaboración propia.

11
Figura 8. Circuito de control con servomotor.
Fuente: Elaboración propia.

12
Discusión de resultados
Para el caso del motor a pasos, no se utilizó un desplazador de registros
bidireccional, pero se aprendió a utilizar las bibliotecas que tiene el Arduino para
utilizar este motor lo cual puede ser muy útil. Este desplazador de registros
bidireccional se iba a utilizar para darle la secuencia de pasos a el motor, ya sea paso
simple, paso doble o paso medio, pero esto fue sustituido por un código del Arduino,
debido a que era más accesible de esta manera.
Luego para poder mover el motor de debía emplear un puente H, que hace que
el motor pueda cambiar de sentido. Esto fue implementado con el ULN2003, donde
este utiliza diodos para permitir el paso de un sentido, esto también se puede realizar
con relés. Un relé es como un interruptor que depende del estado de una bobina para
abrir paso o no en contactor, por lo que es posible tener un circuito de control, la que
conecta a la bobina, y otro de potencia, la que conecta con el contactor. Esto suele
ser muy conveniente cuando se trabaja con un voltaje de control diferente al de
potencia, ya que no se mezclan los cables de alta tensión con el de baja. Para este
caso como servía cualquiera de las dos opciones para el puente H, se empleó el de
los diodos por simplicidad y bajo costo económico.
Para el caso del control de un servomotor, también se usó el Arduino para
programar un código que empleara las funciones solicitadas. Este como ya incluía
una biblioteca, solo era cuestión de investigarla para que pudiera correr bien y dieran
los resultados esperados. También existía la posibilidad de poder simularla en
TINKERCAD®, ya que éste incluía un servomotor por lo que se decidió escoger esta
alternativa. Además, se utilizaron botoneras para poder darle comandos al
servomotor.
Al final se dieron lo resultados esperados para ambos motores, incluso cuando
se había seleccionado métodos alternativos para poder llegar a la solución, lo cual
aporta a la ingeniosidad del estudiante.

13
Conclusiones
• Se logró diseñar el circuito de control para un motor a pasos a partir de un
Arduino.
• Se diseñó la interface de potencia entre el control y el motor utilizando un
puente H con diodos.
• Se consiguió diseñar el control de un servomotor con Arduino y TINKERCAD.

14
Apéndice

Teoría
• Motor a pasos
Constan de un rotor con imanes permanentes y un estator estacionario
que lleva los devanados. Cuando la corriente corre a través de las bobinas del
estator, genera una distribución de flujo magnético que interactúa con la
distribución del campo magnético del rotor para aplicar una fuerza de giro.
Estos motores cuentan con número muy alto de polos, normalmente 50 o más.
El controlador de motor paso a paso energiza cada polo en secuencia de modo
que el rotor gira en una serie de incrementos o pasos. Debido al gran número
de polos, el movimiento parece ser continua. [2]

• Servomotores
Como los motores a pasos, los servomotores tienen muchas
implementaciones. Vamos a considerar el diseño más común, que incorpora
un rotor con imanes permanentes y un estator estacionario con los bobinados.
También en este caso, la corriente crea una distribución del campo magnético
que actúa sobre el rotor para desarrollar el par. servomotores tienen
significativamente más bajos recuentos de polos que motores paso a paso, sin
embargo. Como resultado de ello, se deben ejecutar en bucle cerrado. [2]

• Puente H
El puente H es un circuito electrónico que permite a un motor eléctrico DC girar
en ambos sentidos, avanzar y retroceder. Los puentes H ya vienen hechos en
algunos circuitos integrados, pero también se pueden construir a partir de
componentes eléctricos y/o electrónicos. [3]

15
Referencias Bibliográficas

[1] Morera, A. Murillo, L. Gómez, L. (2018). MANUAL DE PRÁCTICAS FUERA DE


CLASE. ESCUELA DE INGENIERIA ELECTROMECANICA. Tecnológico de Costa
Rica.

[2] ¿Cuál es la diferencia entre el servo y motores paso a paso? Recuperado el


17 de noviembre del 2020, desde: https://www.fuyumotion.com/es/news/whats-the-
difference-between-servo-and-stepper-motors

[3] Puente h para control de motores - Ingeniería Mecafenix. (2017). Recuperado


el 17 de noviembre del 2020, desde:
https://www.ingmecafenix.com/electronica/puente-h-control-motores/

16

También podría gustarte