Professional Documents
Culture Documents
ESIME
Unidad Zacatenco
MAQUINAS ELECTRICAS I
ALUMNOS:
Martnez Villa Fidel
Miranda Castillo Jos Roberto
Herrera Jimnez Alexis
GRUPO: 5AM5
RESUMEN
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 aplicacin de ingeniera.. 26
Conclusiones... 26
Conclusin General 26
Bibliografa.. 27
Anexos...................... 28
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
OBJETIVO
En esta prctica 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 programacin en C. Esto servir para realizar
algn proyecto relacionado a motores y hasta llegar a hacer un arranque/paro jogging.
OBJETOS DE APRENDIZAJE
Para esta prctica 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 botn.
SABERES PREVIOS
MARCO DE REFERENCIA
Clasificacin
De acuerdo con la construccin de la armadura, el motor de CC de imn permanente
se puede descomponer en tres tipos de diseo de armadura:
Figura 1. TIP-120.
Cmo funciona esto?
Bsicamente, tiene una entrada llamada el Colector, una salida llamada el Emisor, y
un control denominado Base. Cuando se enva una seal 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).
Armadura o estator:
Dentro de este, existe un imn el cual sirve como
un par de polos magnticos 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 lminas apiladas y cubiertos por bobinas,
las cuales cambian de polarizacin
continuamente al girar y entrar en contacto con
las escobillas.
Figura 4. Rotor.
Escobillas
Las escobillas se encargan de transmitir la
corriente al rotor para que pueda existir un
cambio magntico y haya movimiento.
Figura 5. Escobillas.
6
Fuente 5V
LED rojo
Push botton
Resistencias 1 kohm
Jumper
Potencimetro 5 kohm
Protoboard
Motor DC
Diodo IN4001
TIP-120
Microcontroller ATmega32u4
Operating Voltage
5V
Input Voltage (recommended) 712V
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
1000 ohms +- 5%
Consultar en anexos
Consultar en anexos
DESARROLLO
Circuito 1:
Descripcin 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.
Diagrama de flujo:
Diodo IN4001.
Motor DC.
TIP-120.
Push botton.
Fuente 5V.
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 seal
}
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");
}
}
Diagrama esquemtico:
10
Fotografas:
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.
11
Circuito 2:
Descripcin 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 harn dos cdigos
para la prioridad de reset y set; los arreglos fsicos sern los mismos.
Lista de componentes:
Placa Arduino.
Led.
4 resistencias de 1 kohm.
Computadora.
Protoboard.
Jumpers.
Diagrama de flujo:
Diodo IN4001.
Motor DC.
TIP-120.
2 Push botton.
Fuente 5V.
Prioridad setstate
Prioridad resetstate
14
15
digitalWrite(motorPin,HIGH);
Serial.println("ON");
}
}
}
16
Fotografas:
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 prctica anterior.
Tabla 2. Prioridad al reset.
S
0
1
0
0
0
1
R
0
0
0
1
0
1
M
0
1
1
0
0
0
S
0
1
0
0
0
1
R
0
0
0
1
0
1
M
0
1
1
0
0
1
17
Circuito 3:
Descripcin 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:
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 seal
}
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");
}
}
}
19
Diagrama
Figura 16.esquemtico:
Diagrama conexiones fsicas (encendido/apagado) por monitor serie (ISIS).
20
Fotografas:
21
Circuito 4:
Descripcin del circuito:
En este circuito se tendr que leer los flancos de los pulsos de la seal, 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.
Diagrama de flujo:
Diodo IN4001.
Motor DC.
TIP-120.
Push botton.
Fuente 5V.
Figura 20. Diagrama de flujo (encendido/apagado) 1 push botton (lector de flancos de la seal).
22
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
23
Figura 21. Diagrama conexiones fsicas (encendido/apagado) 1 push botton (lector de flancos de la
seal) (ISIS).
Diagrama esquemtico:
Fotografas:
Figura 23. Circuito fsico (encendido/apagado) 1 push botton (lector de flancos de la seal).
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, agregndole un debounce al
programa o realizando un arreglo fsico llamado latch el cual almacena los estados
lgicos y as lograr que funcione el motor, tambin es conocido como flip flop.
25
CONCLUSIONES
Herrera Jimnez Alexis
A lo largo de realizar estos programas y arreglos fsicos par aun motor DC me pude dar
cuenta que no es tan fcil 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 programacin. Me pude percatar de que al realizar el ltimo
circuito es necesario detectar los flancos de subida de la seal para poder encender y
apagar el motor con un push botton, de lo contrario no se podra. Obviamente para poder
llegar a hacer esta prctica debimos de hacer los programas anteriores para ver cmo
es que iba avanzando la complejidad de los programas y los arreglos.
Martnez Villa Fidel
En esta prctica los programas aumentaron su grado de dificultad pero se vuelven mas
aplicables a problemas de la vida diaria, en esta ocasin los programas son enfocados
al control de un motor de corriente continua como los que encontramos en aparatos
electrnicos, pero para el control de dicho motor fuera de una programacin importante
donde se cuida los rebotes elctricos producidos por factores externos en este caso fue
el botton pulsador, mediante funciones de programacin que toman en cuenta los
flancos de subida se corrige este error o mediante una configuracin externa, adems
de esto aplicamos una etapa de potencia para el arranque y as no daar el Arduino.
Miranda Castillo Jos Roberto
En la prctica desarrollamos programas para el control bsico de un motor de corriente
continua a travs de la placa Arduino y observe que se necesita de una serie
instrucciones muy lgicas para el correcto control del motor adems que la utilizacin
de una correcta etapa de potencia nos ayuda a cuidar nuestro Arduino y a hacer que
funcione de una manera adecuada tambin observamos cmo es que un factor externo
puede afectar en mucho como fue el caso del rebote que provoca el botn pulsador para
el cual tuvimos que utilizar un instruccin que nos ayudara a eliminarla.
GENERAL
Nosotros concluimos en esta prctica donde ya aplicamos ms funciones de
programacin es necesario cuidar los factores externos en nuestros circuitos pues a
veces nuestra programacin puede estar bien pero factores del circuito como los
botones pueden generar ruido o rebote elctrico que altere nuestra programacin 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 daar nuestro controlador
en este caso el arduino.
26
BIBLIOGRAFIAS
https://www.arduino.cc/en/Main/ArduinoBoardLeonardo
https://www.sparkfun.com/datasheets/Components/LED/COM-09590-YSL-R531R3DD2.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-potenciatip120/
http://www.ecured.cu/index.php/Motor_im%C3%A1n_permanente
27
ANEXOS
Resistencias
28
29
LED
30
31
Arduino Leonardo
32
33
Diodo IN4001
34
35
36
TIP-120
37
38
39