Proyecto de Control de Velocidad de Un Motor en CD
Proyecto de Control de Velocidad de Un Motor en CD
Proyecto de Control de Velocidad de Un Motor en CD
ELABORADO POR:
Erick Saddam López
Yader Mayquel Barrera
Jackson José Moreno
Objetivo Especifico
La Modulación por Ancho de Pulso (PWM o Pulse Width Modulation) es una forma
muy eficaz de establecer cantidades intermedias de potencia eléctrica entre la máxima
potencia y apagado. Una fuente de alimentación con un interruptor de alimentación
simple proporciona potencia solo cuando está activado. El PWM es una técnica
relativamente reciente que se ha podido realizar gracias a los modernos interruptores
electrónicos de potencia. Una de las aplicaciones típicas del PWM: control de
velocidad en motores eléctricos.
En el pasado, cuando sólo se necesitaba potencia parcial (por ejemplo, para el motor de
una maquina de coser), un reóstato (situada en el pedal de la máquina) conectado en
serie con el motor ajustaba la cantidad de corriente que fluía a través del motor, pero
también desperdiciaba potencia, convirtiéndola en calor debido al elemento de
resistencia. Se trataba de un régimen ineficaz, pero tolerable, porque la potencia total
era baja. Este fue uno de varios métodos de control, aunque había otros, algunos
todavía en uso como autotransformadores variables incluyendo la marca Autrastat para
iluminación teatral, y el Variac, para el ajuste general de Corriente Alterna. Estos eran
muy eficientes, pero también relativamente costosos.
Durante casi un siglo algunos motores eléctricos de velocidad variable han tenido una
eficiencia decente, pero eran más complejos que los motores de velocidad constantes.
Estos motores requerían en ocasiones de un circuito eléctrico externo, como un banco
de resistencias de potencia variable.
Sin embargo hay una gran necesidad de aplicación de potencia parcial en otras
dispositivos, tales como estufas eléctricas, reguladores de luz de lámpara, y los servos
de robótica. Un esquema PWM consiste básicamente en apagar y encender
rápidamente el interruptor que permite el paso de energía. Por ejemplo: varias veces
por minuto en una eléctrica estufa, 120 Hz en un regulador de luz, y así en las decenas
o cientos de kHz en una fuente de alimentación (que tiene una salida regulada).
Exceptuando el primero de los ejemplos anteriores (el de la estufa eléctrica cuya tasa
de cambio es muy baja), la tasa de cambio de los restantes es tan elevada que la carga
es incapaz de seguir dichas oscilaciones, y “ve” en cambio el valor medio de la misma.
Características
1. Microcontrolador: ATmega328
2. Voltaje Operativo: 5v
3. Voltaje de Entrada (Recomendado): 7 – 12 v
4. Pines de Entradas/Salidas Digital: 14 (De las cuales 6 son salidas PWM)
5. Pines de Entradas Análogas: 6
6. Memoria Flash: 32 KB (ATmega328) de los cuales 0,5 KB es usado por
Bootloader.
7. SRAM: 2 KB (ATmega328)
8. EEPROM: 1 KB (ATmega328)
9. Velocidad del Reloj: 16 MHZ.
rduino Uno R3 es una placa electrónica de las muchas que tiene Arduino y con la que es
muy fácil introducirse en el mundo de la programación electrónica, Arduino es una
plataforma de código abierto (open-source) lo que permite realizar proyectos y
modificaciones tanto de hardware como de software a cualquier persona sin ningún
problema.
Vamos a ver las diferentes partes y características que tiene la placa electrónica Arduino
Uno R3.
Características técnicas:
a. Microcontrolador ATmega328P
b. Tensión de funcionamiento 5V
c. Voltaje de entrada (recomendado) 7-12V
d. Voltaje de entrada (límite) 6-20V
e. Digital pines I/O 14 (de los cuales 6 proporcionan una salida PWM)
f. PWM digital pines I/O 6
g. Pines de entrada analógica 6
h. Corriente DC por Pin I/O 20mA
i. Corriente DC para Pin 3.3V 60mA
j. Memoria flash por el gestor de arranque. 32KB ATmega328P de los que
0,5 KB son utilizados por el gestor de arranque.
k. SRAM 2KB ATmega328P
l. EEPROM 1KB ATmega328P
m. Velocidad de reloj 16 MHz
n. Longitud 68,6 mm
o. Anchura 53,4 mm
p. Peso 25 g
Arduino cuenta con un zócalo donde se conecta un Jack de 2,1mm para conectar un
adaptador que se encuentre entre los rangos de 7 – 12v que es la tensión recomendada.
La placa cuenta con un conector USB tipo-B para conectarlo al ordenador con el cual
podemos programarlo y a su vez alimentarlo.
Pin VIN:
Este pin se puede usar de varias formas, si tenemos una fuente de alimentación
conectada mediante un adaptador, lo que podemos hacer mediante este pin es obtener
la alimentación para conectar otro dispositivo pero tenemos que tener en cuenta que la
placa no regulara la tensión y obtendremos la misma tensión que tenga el adaptador.
Por otro lado si tenemos conectado el USB, la tensión será regulada a 5v. Y si tenemos
una fuente de alimentación externa como por ejemplo pilas, el borne positivo de la pila
ira conectado al pin VIN y el borne negativo de la pila al pin GND, en este caso si la
pila saca 10v la placa regulara la tensión a 5v.
Pin GND:
Pin 5v:
Este pin tiene varias funciones, podemos alimentar la placa mediante este pin, siempre
que tengamos la fuente externa regulada a 5v. Por otro lado si tenemos la placa
alimentada tanto por el Jack como por USB, se puede alimentar otro componente con
una tensión regulada de 5v.
Pin 3.3v:
Por este pin sacamos una tensión de 3.3v que es alimentada mediante el conector Jack
o el USB. Los 3.3v se utilizan para alimentar dispositivos que requieren una tensión
baja.
La placa de Arduino cuenta con 6 pines de entradas analógicas, que van desde el pin
A0 al A5, de los cuales proporcionan 10bits, llamados bits de resolución. La tensión
que miden va de 0 a 5v, aunque es posible cambiar su rango usando una función con el
pin AREF.
Pin IOREF:
El pin IOREF es una copia del pin VIN y se utiliza para indicar a los demás
dispositivos conectador a la placa que las tensiones de los pines de entrada y salida son
5v.
Pin RESET:
Este pin tiene el mismo funcionamiento que el botón RESET, se utiliza para reiniciar
el microcontrolador.
Las entradas y salidas digitales son 14 y van desde el pin 0 al 13 y ofrecen una tensión
de 5v.
Pines A5 SCL y A4 SDA:
Pin AREF:
Pines 1 TX y 0 RX:
Descripción
Principales características
1. FAIRCHILD SEMICONDUCTOR
2. SEME-LAB
3. SIEMENS
4. COMSET SEMICONDUCTOR
5. SEMICOA SEMICONDUCTOR
6. PHILIPS SEMICONDUCTORS
Aplicaciones
1. Transmisores
2. Amplificadores de HF y VHF
3. Radiofrecuencia
4. Aplicaciones de conmutación
Cable Puente
Los cables puente se fijan mediante la inserción de sus extremos en los agujeros
previstos a tal efecto en las ranuras de la placa de pruebas, la cual debajo de su
superficie tiene unas planchas interiores paralelas que conectan las ranuras en grupos
de filas o columnas según la zona. Los conectores se insertan en la placa de prototipos,
sin necesidad de soldar, en los agujeros que convengan para el conexionado del diseño.
los hay que llevan pinzas cocodrilo en lugar de conectores terminales que entre otras
aplicaciones, se utilizan temporalmente para puentear los sensores, botones y otros
elementos de los prototipos entre sí y con los microcontroladores.
Con terminales aislados
1. Macho - macho
2. Macho - hembra
3. Hembra - hembra
Resistencia Electrica
Dependiendo del tipo, material y sección (grosor) de cable o conductor por el que
tengan que pasar los electrones les costará más o menos trabajo. Un buen conductor
casi no les ofrecerá resistencia a su paso por él, un aislante les ofrecerá tanta
resistencia que los electrones no podrán pasar a través de él. Ese esfuerzo que tienen
que vencer los electrones para circular, es precisamente la Resistencia Eléctrica. Luego
lo veremos más detalladamente.
Además, estos electrones cuando llegan algún receptor, como por ejemplo una
lámpara, para pasar a través de ella les cuesta más trabajo, es decir, también les ofrece
resistencia a que pasen por el receptor.
Como ves, en un circuito eléctrico encontramos resistencia en los propios cables o
conductores y en los receptores (lámparas, motores, etc.).
Descripción
Las resistencias o resistores son los elementos mas utilizados en electrónica y son
utilizados en infinidad de proyectos, ya sea para limitar la corriente por ejemplo en un
LED , como divisor de voltaje, para disipar potencia como en el caso de los arreglos
de resistencia para motores eléctricos, o también para generar calor como las
resistencias eléctricas que utilizan las cafeteras, calentadores de agua, etc.
Este tipo de resistencias suelen ser las más comunes, y son muy fácil de leer, ya que
cuentan con 4 bandas de las cuales, si tienes ahora mismo una resistencia y si no
observa la figura de 4 bandas, si la ubicas de manera vertical, veras que hay 3 bandas
juntas y una banda más separa al resto, pues bien deja la que está más separada abajo
como se ve en la figura y ahora podrás leerla como se indica a continuación.
Un ejemplo, si tienes los colores Rojo, Rojo, Naranja, Café, vemos que el valor de dos
dígitos es “22” (veintidós) ahora el valor multiplicativo del Naranja es “1000” o un K,
por lo tanto, si multiplicamos obtenemos “22000” lo que es iguala 22 [kOHM]
(veintidós kilo Ohms), la banda café solo nos indica que la tolerancia, error o variación
de la resistencia es del 1%.
Las resistencias de 6 bandas son más usadas en aplicaciones militares, sin embargo,
antes de pasar a calcular la resistencia es indispensable indicar lo que significa esta
sexta banda.
Ejemplo, si tenemos lo colores amarillo, verde, azul, naranja, rojo y café, vemos que el
valor de 3 dígitos es “456”, y si el valor del multiplicador es 1000, el resultado es
“456000” Ohms lo que es equivalente a 456 [kOhm] (cuatrocientos cincuenta y seis
kilo ohms), con una tolerancia de mas menos 2% y una variación a la temperatura de
100 ppm.
Código de colores de Resistencias de 6 Bandas
Pilas
La pila 9 voltios (o pila 9V) es una pila eléctrica de nueve voltios. Es llamada
regularmente pila a transistor debido a su gran utilización en las primeras radios a
transistores. La pila tiene la forma de un prisma rectangular con las aristas redondeadas
con un connector que posee dos teminales uno positivo y uno negativo sobre un de sus
lados.
La pila 9V se utiliza normalmente en los detectores de humo, detectoresautónomos de
monóxido de carbono, los pedales de efectos, las guitarras electro-acústicas y los
mandos de aeromodelismo. Son utilizadas igualmente como fuente de alimentación
secundaria de ciertos relojes electrónicos.
Este formato de pila está basado en principalmente una Química de tipo alcalina, zinc-
carbono, litio-hierro y, bajo forma recargable, de tipo níquel cadmio (NiCd), nickel-
hydrure metálico (NiMH) y ion de litio. Los pilas 9V a base de mercurio ya no se
fabrican hoy en día para razones medioambientales.
En 2007, los pilas 9 volts cuentan para el 4 % de las ventas de pilas alcalines a Estados
Unidos. En 2008, los pilas 9 volts cuentan para el 2 % de las ventas totales de pilas en
Suiza
Definición de Protoboard
Los protoboard son pequeñas tablas con perforaciones en toda su área, en las cuales se
colocan diversos componentes electrónicos, se distinguen por tener filas y columnas
con lo que se puede saber en que ubicación posicionar cada pieza, también cuentan con
2 rieles a los lados, los cuales se usaran como las lineas Positivas y Negativas de
nuestro circuito.
¿Pero porque necesitaríamos conectar varios dispositivos en una de estas columnas?
Bueno esto se ocupa cuando necesitas que un microcontrolador no se queme por un
sobrevoltaje en ese caso conectas el circuito integrado y en el mismo riel una resistencia
de una medida adecuada para tu Microcontrolador.
Hablando de circuitos integrados, si se dieron cuenta que hay una linea intermedia en
el protoboard, esta se utiliza para conectar Pic/s o microcontroladores como un
ejemplo un pic de 8 patitas tiene 4 de cada lado y ninguna puede ir en el mismo riel
que la otra a menos que sea un puente. sin embargo no incursionare mucho en esto ya
que lo dejare para otro momento y así poder explicarlo mejor
¿Cómo funciona?
Los potenciómetros son dispositivos relativamente simples. Uno de los tres terminales
que tiene cada potenciómetro es conectado a la fuente de electricidad y otro es
conectado a un punto neutral (toma de tierra – un punto con voltaje cero y sin
resistencia). El tercer terminal se conecta a una resistencia. Esta resistencia
generalmente está construida en un pieza cuya resistividad (nivel de resistencia) va
creciendo desde un extremo hasta el otro. Este tercer terminal es el que manipula el
usuario a través de un mando o palanca.
Con esta disposición, el potenciómetro hace bajar el voltaje en una cantidad igual al
ratio entre la resistividad definida por la posición del tercer terminal y la resistividad
máxima de la resistencia. En otras palabras, si la palanca de control del nivel de
resistencia se coloca exactamente en el centro de la resistencia, el voltaje de salida
caerá exactamente un 50%, no importa cuál sea el voltaje de entrada. A diferencia de
cuándo se usa el potenciómetro para regular la intensidad de corriente eléctrica, la
regulación del voltaje no está limitada por la resistividad máxima de la resistencia.
Reostatos
Tipos de Potenciómetro
Potenciómetros digitales
Lo único que debemos hacer es seleccionar el sistema operativo desde donde vamos a
ejecutar nuestro entorno arduino ide y listo.
En el menu horizontal superior podemos ver las pestañas : Archivo, editar, programas,
herramientas y ayuda.
Una vez conectada nuestra placa Arduino Uno al ordenador a través del puerto USB
deberemos seleccionarla desde la pestaña herramientas, dentro de herramientas
seleccionaremos "Placa" y dentro de placa seleccionamos "Arduino/Genuino Uno".
Por último tendremos que seleccionar el puerto que el ordenador te asigna para
comunicarte con el entorno de programación, esto lo haremos desde la pestaña
"herramientas", dentro de "herramientas" seleccionamos "puerto", y dentro de "puerto"
tendremos que ver el puerto asignado para la comunicación vía usb con la placa arduino.
Un primer programa para comprobar que todo funciona correctamente podría ser:
1 Batería de 9 Voltios
1 Transistor NPN (C2073)
Jumpers
1 Resistencia de 1 kΩ
1 Motor DC
1 Arduino Uno
1 Protoboard
1 potenciómetro
R1 =1 kΩ
1 void setup(){
2 Serial.begin(9600);
3 }
4 void loop(){
5 float niv=analogRead(A0)/4;
6 analogWrite(3, niv);
7 Serial.println (niv);
8
9 delay(1000);
10 }
Para tener un concepto más claro veamos el comportamiento del siguiente gráfico:
0 0.0%
54 5.3%
93 9.1%
142 13.9%
201 19.6%
315 30.8%
393 38.4%
474 46.3%
574 56.1%
640 62.6%
733 71.7%
854 83.5%
967 94.5%
1023 100.0%
Display 7 Segmentos ánodo y cátodo común
Es importante mencionar que los display de 7 segmentos, dado que están construidos
con diodos LED, requieren una corriente máxima. En otras palabras se requiere
colocar una resistencia para limitar la corriente. Dicha resistencia depende de la
corriente que se quiera suministrar al LED así como de la caída de voltaje. Para
calcular la resistencia usamos la Ley de Ohm. Pueden ver este tutorial para calcular la
resistencia de un led. También te puede interesar el código de colores para resistencias.
Existen dos tipos principales para los display 7 segmentos. Esta diferencia depende
principalmente del arreglo como están conectados los leds que forman a cada
segmento. Sabemos que un led tiene dos terminales que se denominan: cátodo y
ánodo.
El ánodo es la parte positiva del LED, mientras que el cátodo es el pin negativo.
Entonces los tipos de display de 7 segmentos se dividen en aquellos de cátodo común
y los de ánodo común. Entonces el display tendrá además de los 7 segmentos, 1 pin
común. Este pin común se conecta al catodo o al anodo dependiendo del tipo de
display.
El display cátodo común es aquel que tiene el pin común conectado a los negativos de
los LED’s (cátodo). Esto significa que este tipo de display se «controla» con ‘1’ s
lógicos o con voltaje positivo. El arreglo para un display de cátodo común seria el
siguiente:
El display ánodo común es aquel cuyos ánodos están conectados al mismo punto. Este
tipo de display es controlado por ceros, es decir que el microcontrolador o MCU,
FPGA o microprocesador, le asigna a cada segmento un cero lógico (también llamada
tierra digital). El esquema o diagrama del display de 7 segmentos en ánodo común es:
FUNCIONAMIENTO DEL DISPLAY DE 7 SEGMENTOS
El display de 7 segmentos funciona al activar y desactivar cada uno de los leds para
formar los números deseados. Por ejemplo, en la siguiente imagen te mostramos como
debe de ser la activación de cada segmento para representar los números 0 y 3.
Un diodo emisor de luz o led5n 1 (también conocido por la sigla LED, del inglés light-
emitting diode) es una fuente de luz constituida por un material semiconductor dotado
de dos terminales. Se trata de un diodo de unión p-n, que emite luz cuando está
activado.6 Si se aplica una tensión adecuada a los terminales, los electrones se
recombinan con los huecos en la región de la unión p-n del dispositivo, liberando
energía en forma de fotones. Este efecto se denomina electroluminiscencia, y el color
de la luz generada (que depende de la energía de los fotones emitidos) viene
determinado por la anchura de la banda prohibida del semiconductor. Los ledes son
normalmente pequeños (menos de 1 mm2) y se les asocian algunas componentes
ópticas para configurar un patrón de radiación
En un par Darlington, la tensión de entrada será el doble respecto a los 0,6V porque se
suman las tensiones de base de ambos transistores como podemos ver en la figura.
También será mayor la caída de tensión en el transistor de salida porque será la suma
de la tensión de saturación del primer transistor + la tensión de base-emisor del
transistor de salida.
De cualquier manera, en el caso del integrado que estamos analizando, estos defectos
no son significativos porque generalmente las salidas de un micro son de 3,3V o de
5V, superando comodamente el umbral de conducción del driver. Por otro lado, una
caída de tensión de 1V de salida en las cargas puede ser tolerada sin inconvenientes
En la figura anterior podemos observar el circuito interno de uno de los driver del
ULN2003. En serie con la entrada podemos ver una resistencia de 2,75K y otras
resistencias de polarización que mejoran las características del driver. La resistencia de
entrada de cada driver nos ahorra de poner resistencias externas cuando conectamos el
ULN2003 al microcontrolador.
void setup()
{
//Configuramos como salida los pines del Display
for(i=a;i<=g;i++)
{ pinMode(i,OUTPUT); }
//Configuramos los pulsadores como entrada
pinMode(botonUP,INPUT);
pinMode(botonDOWN,INPUT);
pinMode(ON,INPUT);
//configuramos los LEDs como salida
pinMode(led,OUTPUT);
digitalWrite(led,LOW);
//inicializamos el display apagado
mostrarDisplay(10);
//inicializamos apagado el motor
velocidad(contador);
}
void loop()
{
//preguntamos si se a presionado el pulsador de encendido
while(digitalRead(ON)==HIGH)
{ delay(10); }
digitalWrite(led,HIGH);
mostrarDisplay(contador);
velocidad(contador);
//pregunto si sigue presiona el pulsador de encendido
while(digitalRead(ON)==LOW)
{ delay(10); }
//mientras no se presione el pulsador de apagado
//se mantiene en el ciclo while
while(digitalRead(ON)==HIGH)
{
//Preguntamos si ha presionado el boton de incremento
if(digitalRead(botonUP)==LOW)
{
//incrementados si el contador es menor a 9
if(contador<9)
{
contador++;
mostrarDisplay(contador);
velocidad(contador);
delay(tiempo);
}
}
//Preguntamos si ha presionado el boton de decremento
if(digitalRead(botonDOWN)==LOW)
{
//decrementamos si el contador es mayor a 0
if(contador>0)
{
contador--;
mostrarDisplay(contador);
velocidad(contador);
delay(tiempo);
}
}
}
//restablecemos a sus valores iniciales
mostrarDisplay(10);
contador=0;
velocidad(contador);
digitalWrite(led,LOW);
//lo mantenemos en un bucle mientras siga presionado
while(digitalRead(ON)==LOW)
{ delay(10); }
}
//Vuncion que controla la velocidad del motor (PWM)
void velocidad(int valor)
{
switch(valor)
{
case 0:
analogWrite(motor,0);
break;
case 1:
analogWrite(motor,50);
break;
case 2:
analogWrite(motor,75);
break;
case 3:
analogWrite(motor,100);
break;
case 4:
analogWrite(motor,125);
break;
case 5:
analogWrite(motor,150);
break;
case 6:
analogWrite(motor,175);
break;
case 7:
analogWrite(motor,200);
break;
case 8:
analogWrite(motor,225);
break;
case 9:
analogWrite(motor,255);
break;
}
}
//Funcion que se encarga de mostrar el valor en el display
void mostrarDisplay(int dato)
{
switch(dato)
{
case 0:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
break;
case 1:
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;
case 2:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
break;
case 3:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
break;
case 4:
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 5:
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 6:
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 7:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;
case 8:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 9:
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
break;
case 10:
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
break;
}
}