1
Instituto Politécnico Nacional
Escuela Superior de Ingeniería Mecánica y
Eléctrica
ESIME
Unidad Zacatenco
MAQUINAS ELECTRICAS I
PRACTICA 2: CONTROL DE MOTOR DC.
REPORTE PRACTICA 2
PROFESOR: Franco Guzmán Luis Fernando
ALUMNOS:
Martínez Villa Fidel
Miranda Castillo José Roberto
Herrera Jiménez Alexis
GRUPO: 5AM5
2
RESUMEN
En esta práctica implementamos los conocimientos adquiridos en la práctica anterior. Esta
vez agregamos un motor de CD a nuestros arreglos e implementaremos un programa
arranque/paro, hasta llegar a encender y apagar el motor con un mismo botón. Cabe
mencionar que esta vez para poder realizar los arreglos requeridos se debe conocer cómo
hacer una etapa de potencia para el motor, ya que este motor demandara más tensión que
los circuitos convencionales anteriormente utilizados.
INDICE
Resumen………………………………………………. 3 Objetivo………………………………………………... 4 Objetos de aprendizaje………………………………. 4 Saberes previos………………………………………. 4 Marco de referencia…………………………………. 4 Material y/o equipo…………………………………… 7 Desarrollo……………………………………………… 8
Circuito 1…………………………………..... 8 Circuito 2…………………………………..... 12 Circuito 3…………………………………..... 18 Circuito 4……………………………………. 22
Ejemplo de aplicación de ingeniería……………….. 26 Conclusiones………………………………………... 26 Conclusión General………………………………… 26 Bibliografía…………………………………………….. 27 Anexos…………………………………...................... 28
3
INDICE DE FIGURAS
Figura 1……………………………………………………. 5
Figura 2……………………………………………………. 6
Figura 3……………………………………………………. 6
Figura 4……………………………………………………. 6
Figura 5……………………………………………………. 6
Figura 6……………………………………………………. 8
Figura 7……………………………………………………. 10
Figura 8……………………………………………………. 10
Figura 9……………………………………………………. 11
Figura 10………………………………………………….. 12
Figura 11………………………………………………….. 13
Figura 12…………………………………………………...16
Figura 13…………………………………………………...16
Figura14…………………………………………………....17
Figura 15…………………………………………………...18
Figura 16…………………………………………………...20
Figura 17…………………………………………………...20
Figura 18…………………………………………………...21
Figura 19…………………………………………………...21
Figura 20…………………………………………………...22
Figura 21…………………………………………………...24
Figura 22…………………………………………………...24
Figura 23…………………………………………………...25
INDICE DE TABLAS
Tabla 1…………………………………………………….7
Tabla 2…………………………………………………….17
Tabla 3…………………………………………………….17
4
OBJETIVO
En esta práctica el usuario sabrá elaborar una etapa de potencia para un motor, partes de
un motor DC, componentes requeridos para la etapa de potencia, lectura de flancos, etc.
Para realizar todo lo anterior se debe de conocer que para hacer una etapa de potencia se
utilizara un TIP 120, diodos, resistencias y programación en C. Esto servirá para realizar
algún proyecto relacionado a motores y hasta llegar a hacer un arranque/paro jogging.
OBJETOS DE APRENDIZAJE
Para esta práctica el alumno aprenderá a realizar una etapa de potencia par aun motor DC
y así poder aplicarla en cualquier proyecto que requiera motores de este tipo. Aprenderá
a realizar un programa que identifique los flancos de los pulsos para así cambiar de estado
al motor con un solo botón.
SABERES PREVIOS
El alumno, deberá saber las partes de un motor DC.
El alumno deberá conocer electrónica básica así como programación en C/C++.
El alumno deberá tener nociones de una etapa de potencia.
MARCO DE REFERENCIA
Motor imán permanente
Motor CC Imán Permanente. Por su sencillez en la construcción son muy utilizados en
equipos de sonido y video, ejemplo, reproductores de dvd y cd, lectores de cd para
computadoras, juguetes por control remoto inalámbrico, aunque su mantenimiento se
hace muy costoso y complicado.
Funcionamiento
En general los imanes están situados en el estator o carcaza, también se sitúan los
porta escobillas y las escobillas que alimentan el rotor a través del colector y las
delgas haciendo llegar la CC al devanado y crear la f.e.m. que hace girar al rotor.
Basta con invertir la polaridad de la CC aplicada a las escobillas y el motor invierte su
sentido de giro, pero nunca pueden ser enclavados en una posición fija, simplemente
giran a una velocidad y sentido de acuerdo a la polaridad y nivel de CC aplicada.
Para corregir esta característica se crearon los motores paso a paso y los
servomecanismos que si pueden ser posicionados y son los mas utilizados en la
robótica y sistemas de control automáticos.
Existe otro tipo de motor de CC e imán permanente que eliminan las escobillas y
utilizan la conmutación electrónica llamados motores sin escobillas y son ampliamente
utilizados en los sistemas de enfriamientos de fuentes de poder y computadoras.
5
Clasificación
De acuerdo con la construcción de la armadura, el motor de CC de imán permanente
se puede descomponer en tres tipos de diseño de armadura:
motores de núcleo de hierro
motores de devanado superficial
motores de bobina móvil
Arduino. Motor CC usando TIP 120
Controlar motores y dispositivos de alta potencia usando transistor TIP120
Hasta ahora los dispositivos que hemos utilizado son de baja potencia, la mayor parte
de trabajo, en este caso de Arduino, lo hace a un rango de 3 a 5 voltios y
aproximadamente 20 mA de corriente, esto es suficiente para controlar dispositivos
chicos pero cuando usamos algún actuador que utilice mas de 20 mA de corriente o
requiera una tensión más alta no podemos hacerlo funcionar conectándolo
directamente a los puertos E/S de Arduino, tenemos que implementar un circuito
intermedio. Aquí ocupamos un transistor TIP120. Un transistor se define como:
un dispositivo electrónico semiconductor que cumple funciones
de amplificador, oscilador, conmutador o rectificador. El término «transistor» es la
contracción en inglés de transfer resistor («resistencia de transferencia»).
El motor requiere al menos 6 voltios para hacerlo andar, y mucho más de 20 mA para
mejor desempeño. Aquí lo que implementamos de interfaz entre Arduino y el Motor CC
fue usar un transistor npn TIP120, este transistor funciona como amplificador o como
un interruptor electrónico (conmutador o switch)
¿Cómo funciona esto?
Básicamente, tiene una entrada llamada el Colector, una salida llamada el Emisor, y
un control denominado Base. Cuando se envía una señal de ALTO a la base (B, pin de
control), el transistor cambia y permite que la corriente fluya desde el colector (C) para
el emisor (E).
Figura 1. TIP-120.
6
Figura 2. Diagrama TIP-120.
Armadura o estator:
Dentro de este, existe un imán el cual sirve como
un par de polos magnéticos que hace que el
rotor gire.
Rotor
En este rotor existen tres bobinas y está
montado en un eje. El rotor está formado de
varias láminas apiladas y cubiertos por bobinas,
las cuales cambian de polarización
continuamente al girar y entrar en contacto con
las escobillas.
Nota: las bobinas del motor con un eliminador, el
rotor girara dependiendo de las bobinas que se
energicen.
Escobillas
Las escobillas se encargan de transmitir la
corriente al rotor para que pueda existir un
cambio magnético y haya movimiento.
Figura 3. Armadura o estator.
Figura 4. Rotor.
Figura 5. Escobillas.
7
MATERIAL Y/O EQUIPO
Placa Arduino Leonardo Microcontroller ATmega32u4
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 20
PWM Channels 7
Analog Input Channels 12
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin50 mA
Flash Memory 32 KB (ATmega32u4) of which 4 KB used by bootloader
SRAM 2.5 KB (ATmega32u4)
EEPROM 1 KB (ATmega32u4)
Clock Speed 16 MHz
Length 68.6 mm
Width 53.3 mm
Weight 20g
Fuente 5V -
LED rojo 1.8-2.2VDC forward drop
Max current: 20mA
Suggested using current: 16-18mA
Luminous Intensity: 150-200mcd
Push botton -
Resistencias 1 kohm 1000 ohms +- 5%
Jumper -
Potenciómetro 5 kohm -
Protoboard -
Motor DC -
Diodo IN4001 Consultar en anexos
TIP-120 Consultar en anexos
Tabla 1. Material y/o
equipo.
8
DESARROLLO
Circuito 1:
Descripción del circuito:
En este circuito se llevara a cabo el encendido y apagado de un motor DC, cuando se
presione el push botton se encenderá, cuando se suelte el push botton se apagara.
Lista de componentes:
Placa Arduino.
Led.
4 resistencias de 1 kohm.
Computadora.
Protoboard.
Jumpers.
Diodo IN4001.
Motor DC.
TIP-120.
Push botton.
Fuente 5V.
Diagrama de flujo:
Figura 6. Diagrama de flujo (encendido/apagado) push botton.
9
Algoritmo:
const int buttonPin = 2; //se declara el puerto de entrada en el pin 2
const int motor = 13; //se declara la salida del motor en el pin 13
const int ledPin1 = 9; //se declara la salida del led en el pin 9
int buttonState = 0; //se inicializa y declara el estado del bush botton en 0
void setup()//en esta parte se abre el cuerpo que llevara la configuracion
{
pinMode(motor, OUTPUT);//se declara el puerto del motor como salida
pinMode(buttonPin, INPUT);//se declara el puerto del push botton como entrada
Serial.begin(9600);//se inicializa la velocidad de la señal
}
void loop() //en esta parte se abre el cuerpo que lleavra el ciclo
{
buttonState = digitalRead(buttonPin);// se declara el estado del push button como un
lector digital
if (buttonState == HIGH)//se inicializa un if , si el estado es alto se enciende el led y el
motor y en el monitor serie aparecera la leyenda "on"
{
digitalWrite(motor, HIGH);
digitalWrite(ledPin1, HIGH);
Serial.println("ON");
}
else //si es de lo contrario lo mencionado anteriormente, el motor y el led se apagaran y
en el monitor serie aparecera la leyenda "off"
{
digitalWrite(motor, LOW);
digitalWrite(ledPin1, LOW);
Serial.println("OFF");
}
}
10
Diagramas de conexiones físicas:
Diagrama esquemático:
Figura 7. Diagrama conexiones físicas (encendido/apagado) push botton (ISIS).
Figura8. Diagrama esquemático (encendido/apagado) push botton.
11
Fotografías:
Observaciones
En este circuito observamos que el funcionamiento de un motor DC es sencillo pero para
poder hacer que tenga la suficiente potencia se tiene que realizar una etapa de potencia y
poner una fuente independiente para este.
Figura 9. Circuito físico (encendido/apagado) push botton.
12
Circuito 2:
Descripción del circuito:
En este circuito se hará el encendido y apagado de un led y el motor DC mediante un push
botton para el encendido y otro push botton para el apagado. Pero se harán dos códigos
para la prioridad de reset y set; los arreglos físicos serán los mismos.
Lista de componentes:
Placa Arduino.
Led.
4 resistencias de 1 kohm.
Computadora.
Protoboard.
Jumpers.
Diodo IN4001.
Motor DC.
TIP-120.
2 Push botton.
Fuente 5V.
Diagrama de flujo:
Prioridad setstate
Figura 10. Diagrama de flujo (encendido/apagado) 2 push botton preferencia setstate.
13
Prioridad resetstate
Algoritmo prioridad resetstate:
const int ledPin=9;//se declara el puerto 9 para el led
const int motorPin=13;//se declara el pin 13 para el motor
const int setPin=2;//se declara el pin 2 como inicio
const int resetPin=3;//se declara el pin 3 como reinicio
boolean setstate=0;//se inicializa el estado del pin 2 como 0
Figura 11. Diagrama de flujo (encendido/apagado) 2 push botton preferencia
resetstate.
14
boolean resetstate=0;//se inicializa el estado del pin 3 como 0
void setup()//en esta parte se comienza con el cuerpo de la configuracion
{
pinMode(ledPin,OUTPUT);//se declara el pin del led como salida
pinMode(motorPin,OUTPUT);//se declara el pin del motor como salida
pinMode(setPin,INPUT);//se declara el pin 2 como entrada
pinMode(resetPin,INPUT);//se declara el pin 3 como entrada
Serial.begin(9600);//se inicializa la velocidad de la señal
}
void loop()//en esta parte se inicializa el cuerpo del ciclo
{
setstate=digitalRead(setPin);//se declara el pin 2 como lector digital
resetstate=digitalRead(resetPin);//se declara el pin 3 como lector digital
if(setstate==HIGH)//se inicializa un if, si el estado del pin 2 es alto se enciende el led,el
motor y aparece en el monitor serie "on"
{
digitalWrite(ledPin,HIGH);
digitalWrite(motorPin,HIGH);
Serial.println("ON");
}
else//se hace un else-if y se dice que si el estado del pin 3 es alto el motor,led se apagaran
y en el monitor serie aparecera "off"
{
if(resetstate==HIGH){
digitalWrite(ledPin,LOW);
digitalWrite(motorPin,LOW);
Serial.println("OFF");
}
}
}
15
Algoritmo prioridad setstate:
const int ledPin=9;//se declara el puerto 9 para el led
const int motorPin=13;//se declara el pin 13 para el motor
const int setPin=2;//se declara el pin 2 como inicio
const int resetPin=3;//se declara el pin 3 como reinicio
boolean setstate=0;//se inicializa el estado del pin 2 como 0
boolean resetstate=0;//se inicializa el estado del pin 3 como 0
void setup()//en esta parte se comienza con el cuerpo de la configuracion
{
pinMode(ledPin,OUTPUT);//se declara el pin del led como salida
pinMode(motorPin,OUTPUT);//se declara el pin del motor como salida
pinMode(setPin,INPUT);//se declara el pin 2 como entrada
pinMode(resetPin,INPUT);//se declara el pin 3 como entrada
Serial.begin(9600);//se inicializa la velocidad de la señal
}
void loop()//en esta parte se inicializa el cuerpo del ciclo
{
setstate=digitalRead(setPin);//se declara el pin 2 como lector digital
resetstate=digitalRead(resetPin);//se declara el pin 3 como lector digital
if(resetstate==HIGH)//se inicializa un if, si el estado del pin 2 es alto se enciende el
led,el motor y aparece en el monitor serie "on"
{
digitalWrite(ledPin,LOW);
digitalWrite(motorPin,LOW);
Serial.println("OFF");
}
else//se hace un else-if y se dice que si el estado del pin 3 es alto el motor,led se apagaran
y en el monitor serie aparecera "off"
{
if(setstate==HIGH){
digitalWrite(ledPin,HIGH);
16
digitalWrite(motorPin,HIGH);
Serial.println("ON");
}
}
}
Diagramas de conexiones físicas:
Diagrama esquemático:
Figura 12. Diagrama conexiones físicas (encendido/apagado) 2 push botton (ISIS).
Figura 13. Diagrama esquemático (encendido/apagado) 2 push botton.
17
Fotografías:
Observaciones:
En este circuito se observamos que necesitamos 2 push botton, uno para el encendido y
otro para el apagado. Para poder realizar el programa solo se necesitó conocimientos
adquiridos en la práctica anterior.
S R M
0 0 0
1 0 1
0 0 1
0 1 0
0 0 0
1 1 0
S R M
0 0 0
1 0 1
0 0 1
0 1 0
0 0 0
1 1 1
Figura 14. Circuito físico (encendido/apagado) 2 push botton.
Tabla 2. Prioridad al reset. Tabla 3. Prioridad al set.
Nota: en la tabla 2 se muestra que en el programa se configura primero el paro y
después el arranque, y en la tabla 3 es el contrario. Lo que podemos notar es que en
la programación se da prioridad a la última condición.
18
Circuito 3:
Descripción del circuito:
En este circuito se encenderá un motor de DC por medio del monitor serie, si en el monitor
serie se escribe la letra “A” se encenderá el motor, si se introduce una “P” se apagara el
motor.
Lista de componentes:
Placa Arduino.
Led.
2 resistencias de 1 kohm.
Computadora.
Protoboard.
Jumpers.
Diodo IN4001.
Motor DC.
TIP-120.
Fuente 5V.
Diagrama de flujo:
Figura 15. Diagrama de flujo (encendido/apagado) por monitor serie.
19
Algoritmo:
const int ledPin=9;//se declara el pin 9 para el led
const int motorPin=13;//se declara el pin 13 para el motor
char variable;//se delcara para leer una variable en formato caracter
void setup()//se inicializa el cuerpo de la configuracion
{
Serial.begin(9600);//se inicializa la velocidad de la señal
}
void loop()//se inicializa el cuerpo de ciclo
{
variable=Serial.read();//Se declara que la variable leera una avriable de manera serial
if(variable=='P'){//se declara in if; si se presiona la tecla P en el monitor serie el motor
y el led se apagan
digitalWrite(ledPin,LOW);
digitalWrite(motorPin,LOW);
//Serial.println("OFF");
}
else//se delcara un else-if; si en el monitor serie se presiona la letra A se enciende el led
y el motor
{
if(variable=='A')
{
digitalWrite(ledPin,HIGH);
digitalWrite(motorPin,HIGH);
//Serial.println("ON");
}
}
}
20
Diagrama de conexiones físicas:
Diagrama esquemático:
Figura 16. Diagrama conexiones físicas (encendido/apagado) por monitor serie (ISIS).
Figura 17. Diagrama esquemático (encendido/apagado) por monitor serie.
21
Fotografías:
Observaciones:
En este circuito se observa que de igual manera se puede encender y apagar el motor mediante
el monitor serie, obviamente declarando en el programa que se va a ocupar el monitor y que
variables serán para hacer dichos cambio
Figura 19. Circuito físico (encendido/apagado) por monitor serie.
Figura 18. (encendido/apagado) por monitor serie.
22
Circuito 4:
Descripción del circuito:
En este circuito se tendrá que leer los flancos de los pulsos de la señal, solo los que van
de un “0” a un “1” para poder encender y apagar el motor DC con un solo push botton.
Lista de componentes:
Placa Arduino.
Led.
3 resistencias de 1 kohm.
Computadora.
Protoboard.
Jumpers.
Diodo IN4001.
Motor DC.
TIP-120.
Push botton.
Fuente 5V.
Diagrama de flujo:
Figura 20. Diagrama de flujo (encendido/apagado) 1 push botton (lector de flancos de la señal).
23
Algoritmo:
const int buttonpin=2;//se declara el pin 2 para el push botton
const int ledPin=13;//se declara el pin 13 para el led
const int motorpin=9;//se declara el pin 9 para el motor
boolean buttonstate;//se declara el estado de boton
boolean lastbuttonstate=false;//se declara que el ultimo estado del boton sera falso
boolean outputstate=LOW;//se declara que la salida del estado sera un estado bajo
void setup()//se inicializa el cuerpo de la configuracion
{
pinMode(buttonpin,INPUT);//se declara el pin 2 como entrada
pinMode(ledPin,OUTPUT);//se declara el pin 13 como salida
pinMode(motorpin,OUTPUT);//Se declara el pin 9 como saldia
digitalWrite(ledPin,LOW);//se declara que el led inicializa apagado
}
void loop()//se inicializa el cuerpo del ciclo
{
buttonstate=digitalRead(buttonpin);//se delcara que el estado del boton sera un lector
digital del pin 2. esta aprte sirve para detectar los flancos de los pulsos, solo leeera los
flancos que van de un 0 a 1
if(buttonstate!=lastbuttonstate)//se declara un if; si el estado del boton es diferente al
ultimo estado del boton, el estado sera alto
{
if(buttonstate==HIGH)
{
outputstate=!outputstate;//se declara que si la salida del estado es diferente a la misma
el estado es alto
}
}
digitalWrite(ledPin,outputstate);//se declara como escritor digital al pin 13 y la salida
del estado
digitalWrite(motorpin,outputstate);//se declara como escritor digital al pin 9 y la salida
del estad
24
lastbuttonstate=buttonstate;//se delcara que el ultimo estado del boton sera igual al
estado del boton
}
Diagrama de conexiones físicas:
Diagrama esquemático:
Figura 21. Diagrama conexiones físicas (encendido/apagado) 1 push botton (lector de flancos de la
señal) (ISIS).
Figura 22. Diagrama esquemático (encendido/apagado) 1 push botton (lector de flancos de la
señal).
25
Fotografías:
Observaciones:
En este circuito observamos que se controlara el motor por medio de un push botton, pero
el programa que se realizo está incompleto, así como se encuentra el programa no arranca
el motor, pero eso se puede solucionar de dos maneras, agregándole un “debounce” al
programa o realizando un arreglo físico llamado “latch” el cual almacena los estados
lógicos y así lograr que funcione el motor, también es conocido como flip flop.
Figura 23. Circuito físico (encendido/apagado) 1 push botton (lector de flancos de la señal).
26
EJEMPLO DE APLICACIÓN EN LA INGENIERIA
Un ejemplo de la aplicación de los conocimientos adquiridos en esta práctica podría ser
el control de motores en la industria, ya sean motores, monofásicos, bifásico o trifásico.
Con los conocimientos adquiridos se podría tener nociones o las bases para realizar el
arranque/paro jogging de un motor o hasta la inversión de giro de los motores, con un
puente H.
CONCLUSIONES
Herrera Jiménez Alexis
A lo largo de realizar estos programas y arreglos físicos par aun motor DC me pude dar
cuenta que no es tan fácil como parece, pare realizarlo se necesita una etapa de
potencia para poder encender el motor con una potencia adecuada. Y se debe de tener
mucho cuidado con la programación. Me pude percatar de que al realizar el último
circuito es necesario detectar los flancos de subida de la señal para poder encender y
apagar el motor con un push botton, de lo contrario no se podría. Obviamente para poder
llegar a hacer esta práctica debimos de hacer los programas anteriores para ver cómo
es que iba avanzando la complejidad de los programas y los arreglos.
Martínez Villa Fidel
En esta práctica los programas aumentaron su grado de dificultad pero se vuelven mas
aplicables a problemas de la vida diaria, en esta ocasión los programas son enfocados
al control de un motor de corriente continua como los que encontramos en aparatos
electrónicos, pero para el control de dicho motor fuera de una programación importante
donde se cuida los rebotes eléctricos producidos por factores externos en este caso fue
el botton pulsador, mediante funciones de programación que toman en cuenta los
flancos de subida se corrige este error o mediante una configuración externa, además
de esto aplicamos una etapa de potencia para el arranque y así no dañar el Arduino.
Miranda Castillo José Roberto
En la práctica desarrollamos programas para el control básico de un motor de corriente
continua a través de la placa Arduino y observe que se necesita de una serie
instrucciones muy lógicas para el correcto control del motor además que la utilización
de una correcta etapa de potencia nos ayuda a cuidar nuestro Arduino y a hacer que
funcione de una manera adecuada también observamos cómo es que un factor externo
puede afectar en mucho como fue el caso del rebote que provoca el botón pulsador para
el cual tuvimos que utilizar un instrucción que nos ayudara a eliminarla.
GENERAL
Nosotros concluimos en esta práctica donde ya aplicamos más funciones de
programación es necesario cuidar los factores externos en nuestros circuitos pues a
veces nuestra programación puede estar bien pero factores del circuito como los
botones pueden generar ruido o rebote eléctrico que altere nuestra programación en
este caso lo prevenimos mediante funciones que nos brinda arduino para corregirlo y
que solo le lean los flanco de subida de la misma forma para realizar ya circuitos
usando motores en este caso de corriente continua es necesario siempre una etapa de
potencia puesto ya se demandara mas corriente y podemos dañar nuestro controlador
en este caso el arduino.
27
BIBLIOGRAFIAS
https://www.arduino.cc/en/Main/ArduinoBoardLeonardo
https://www.sparkfun.com/datasheets/Components/LED/COM-09590-YSL-R531R3D-
D2.pdf
http://www.mouser.com/catalog/specsheets/XC-600035.pdf
https://www.arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf
http://www.diodes.com/_files/datasheets/ds28002.pdf
http://pdf.datasheetcatalog.com/datasheet/SGSThomsonMicroelectronics/mXyzzrtw.pd
f
https://alonsodub.wordpress.com/2012/07/25/controlar-motores-y-dispositivos-de-alta-potencia-
tip120/
http://www.ecured.cu/index.php/Motor_im%C3%A1n_permanente
28
ANEXOS
Resistencias
29
30
LED
31
32
Arduino Leonardo
33
34
Diodo IN4001
35
36
37
TIP-120
38
39
Top Related