Informática
Ascensor con motor
Con este proyecto es realizar el control de un ascensor mediante un motor paso a paso que puede ascender y descender 4 pisos el cual mediante los conocimientos de java vistos en laboratorio de computación II. Mediante el control de la secuencia del motor. Los motores paso a paso son ideales para la construcción de mecanismos en donde se requieren movimientos muy precisos. La característica principal de estos motores es el hecho de poder moverlos un paso a la vez por cada pulso que se le aplique. Este paso puede variar desde 90° hasta pequeños movimientos de tan solo 1.8°, es decir, que se necesitarán 4 pasos en el primer caso (90°) y 200 para el segundo caso (1.8°), para completar un giro completo de 360°. Estos motores poseen la habilidad de poder quedar enclavados en una posición o bien totalmente libres. Si una o más de sus bobinas está energizada, el motor estará enclavado en la posición correspondiente y por el contrario quedará completamente libre si no circula corriente por ninguna de sus bobinas. En este capítulo trataremos solamente los motores P-P del tipo de imán permanente, ya que estos son los mas usados en robótica. 2.Principio de funcionamiento Básicamente estos motores están constituidos normalmente por un rotor sobre el que van aplicados distintos imanes permanentes y por un cierto número de bobinas excitadoras bobinadas en su estator. Las bobinas son parte del estator y el rotor es un imán permanente. Toda la conmutación (o excitación de las bobinas) deber ser externamente manejada por un controlador.
Imagen del rotor
Imagen de un estator de 4 bobinas
Existen dos tipos de motores paso a paso de imán permanente:
Una referencia importante: Cuando se trabaja con motores P-P usados o bien nuevos, pero de los cuales no tenemos hojas de datos. Es posible averiguar la distribución de los cables a los bobinados y el cable común en un motor de paso unipolar de 5 o 6 cables siguiendo las instrucciones que se detallan a continuación:
1. Aislando el cable(s) común que va a la fuente de alimentación: Como se aprecia en las figuras anteriores, en el caso de motores con 6 cables, estos poseen dos cables comunes, pero generalmente poseen el mismo color, por lo que lo mejor es unirlos antes de comenzar las pruebas. Usando un tester para chequear la resistencia entre pares de cables, el cable común será el único que tenga la mitad del valor de la resistencia entre ella y el resto de los cables. Esto es debido a que el cable común tiene una bobina entre ella y cualquier otro cable, mientras que cada uno de los otros cables tienen dos bobinas entre ellos. De ahí la mitad de la resistencia medida en el cable común. 2.Identificando los cables de las bobinas (A, B, C y D): aplicar un voltaje al cable común (generalmente 12 volts, pero puede ser más o menos) y manteniendo uno de los otros cables a masa (GND) mientras vamos poniendo a masa cada uno de los demás cables de forma alternada y observando los resultados. El proceso se puede apreciar en el siguiente cuadro:
Nota: La nomenclatura de los cables (A, B, C, D) es totalmente arbitraria.
|
SECUENCIAS PARA MANEJAR MOTORES PASO A PASO (UNIPOLAR)
Existen tres métodos para el control de este tipo de motores , según las secuencias de encendido de bobinas.
Las secuencias son las siguientes:
Paso simple:
Esta secuencia de pasos es la mas simple de todas y consiste en activar cada bobina una a una y por separado, con esta secuencia de encendido de bobinas no se obtiene mucha fuerza ya que solo es una bobina cada vez la que arrastra y sujeta el rotor del eje del motor
| Paso | A | B | C | D |
|
1 | 1 | 0 | 0 | 0 | ||
2 | 0 | 1 | 0 | 0 | ||
3 | 0 | 0 | 1 | 0 | ||
4 | 0 | 0 | 0 | 1 |
Paso doble:
Con el paso doble activamos las bobinas de dos en dos con lo que hacemos un campo magnético mas potente que atraerá con mas fuerza y retendrá el rotor del motor en el sitio. Los pasos también serán algo mas bruscos debidos a que la acción del campo magnético es mas poderosa que en la secuencia anterior.
| Paso | A | B | C | D |
|
1 | 1 | 1 | 0 | 0 | ||
2 | 0 | 1 | 1 | 0 | ||
3 | 0 | 0 | 1 | 1 | ||
4 | 1 | 0 | 0 | 1 |
Medio Paso:
Combinando los dos tipos de secuencias anteriores podemos hacer moverse al motor en pasos mas pequeños y precisos y así pues tenemos el doble de pasos de movimiento para el recorrido total de 360º del motor.
| Paso | A | B | C | D |
|
1 | 1 | 0 | 0 | 0 | ||
2 | 1 | 1 | 0 | 0 | ||
3 | 0 | 1 | 0 | 0 | ||
4 | 0 | 1 | 1 | 0 | ||
5 | 0 | 0 | 1 | 0 | ||
6 | 0 | 0 | 1 | 1 | ||
7 | 0 | 0 | 0 | 1 | ||
8 | 1 | 0 | 0 | 1 |
LA PRACTICA:
Unipolar:Para controlar un motor paso a paso unipolar deberemos alimentar el común del motor con Vcc y conmutaremos con masa en los cables del devanado correspondiente con lo que haremos pasar la corriente por la bobina del motor adecuada y esta generará un campo electromagnético que atraerá el polo magnetizado del rotor y el eje del mismo girará.
Para hacer esto podemos usar transistores montados en configuración Darlington o usar un circuito integrado como el ULN2003 que ya los lleva integrados en su interior aunque la corriente que aguanta este integrado es baja y si queremos controlar motores mas potentes deberemos montar nosotros mismos el circuito de control a base de transistores de potencia.
El esquema de uso del ULN2003 para un motor unipolar es el siguiente:
Las entradas son TTL y se activan a nivel alto, también disponen de resistencias de polarización internas con lo que no deberemos de preocuparnos de esto y podremos dejar "al aire" las entradas no utilizadas. Las salidas son en colector abierto.
Imagen del rotor Imagen de un estator de 4 bobinas
MPPC . Familia de circuitos integrados controladores de motores unipolares de 4 fases y bipolares de 2 fases.
MPPC 001. Controlador de motores paso a paso simple
MPPC 001 controlara un motor paso a paso con solo dos o tres bits. Dos bits le permitirán controlar el sentido de giro y en que instante el motor debe avanzar un paso. Con el tercer bit podrá seleccionar entre precisión 1 paso o 1/2 paso.
Es provisto en encapsulado DIP20. Todas sus entradas y salidas son TTL, con cual es optimo para ser utilizado con PICs, BasicX , Basic Stamps, etc...
El circuito integrado esta preparado para recibir una senal digital de realimentación de limite de corriente de fase . Sus dos entradas para comparadores de le facilitaran implementar controles de corriente de fase por medio de switching.
Las salidas tienen capacidad para entregar una corriente máxima de 100 mA, capaces de entregar corriente suficiente para la excitación de los transistores de potencia adecuados para las tensiones y corrientes de operación del motor paso a paso a controlar.
Características técnicas
Condiciones Máximas
Tensión de alimentación | 0 a +7v. |
Tensiones de entrada | -2.5 a vcc + Vcc+1v |
Corriente de salida | 100mA |
Temperatura ambiente con alimentación | -65 a +125° c |
Condiciones recomendadas de operación:
Parámetro | Min. | Nom. | Max. |
|
Vcc | 4.75 | 5 | 5.25 | v |
Tamb | 0 | 25 | 75 | ° c |
Ancho de pulso minimo de la señal de reloj | 15 |
|
| nseg |
La entrada de reloj será valida después de la subida de la alimentación a los |
|
| 100 | nseg |
Nivel alto de las entradas | 2 |
| Vcc+1 | v |
Nivel bajo de las entradas | -1 |
| 0.8 | v |
Tensión de salida en alto | 2.4 |
|
| v |
Tensión de salida en bajo |
|
| 0.5 | v |
Corriente máxima de salida con las salidas deshabilitadas |
|
| 10 | m A |
Definición de pines:
Pin | Nombre | E/S | Descripción |
1 | Reloj | E | Cada vez que esta señal pasa de 0 a 1 produce el avance de un paso en el motor en el sentido determinado por el pin de izq/der. |
2 | Izq , /der | E | Establece el sentido de giro. |
3 | Comp1 | E | Entrada para operacional de control de corriente por switching para las salidas 0 y 1. |
4 | Comp2 | E | Entrada para operacional de control de corriente por switching para las salidas 2 y 3. |
5 | 1/2 paso | E | En "1" genera una secuencia de control de 1/2 paso, en "0" genera una secuencia de 4 estados. |
6 | N.C. |
|
|
7 | N.C. |
|
|
8 | N.C. |
|
|
9 | N.C. |
|
|
10 | GND |
| 0v. Tierra. |
11 | /habilitacion | E | En "0" habilita las salidas del circuito integrado, en "1" las des habilita. |
12 | Sal3 | S | Salida de excitación 3 |
13 | Sal2 | S | Salida de excitación 2 |
14 | N.C. |
|
|
15 | N.C. |
|
|
16 | N.C. |
|
|
17 | N.C. |
|
|
18 | Sal1 | S | Salida de excitación 1 |
19 | Sal0 | S | Salida de excitación 0 |
20 | Vcc |
| +4.75 a +5.25 volt |
Circuito de aplicación típico:
La configuración mas sencilla es la de la del esquema de la figura. Sus salidas atacando directamente a transistores npn para la excitación de cada bobina del motor paso a paso. los pines de comparación comp1 y comp2 polarizados a tierra para que las salidas se encuentren permanentemente habilitadas. El pin de 1/2 paso polarizado a VCC para que el controlador genere una salida de paso completo. La entrada izq/der permite definir la dirección de giro del motor paso a paso, la cual será validada en el primer pulso presente en la entrada de reloj. Por cada pulso entregado al pin de reloj el motor paso a paso dará un paso.
4. MATERIALES.
-
Estructura de edificio hechas de cartulina
-
Soportes de cartulina prensada para los soportes del ascensor
-
Hilo como cuerda para nuestra polea
-
Motor paso a paso unipolar
-
Alicate
-
Multimetro
-
Cinta aislante
Circuito:
-
Resistecia de 220
-
Transistores TIP 31C
-
Un circuito LC 7473
-
Un integrado 7486 norex
-
4 leds
-
Conectores
-
3 Protoboard
-
1 cable de puerto paralelo LPT1
-
1 fuente de tensión de 5 voltios
Software:
-
1 computadora con conector LPT1
-
Programa READY TO PROGRAM
-
Programa de control de secuencias realizado en java
Programa en java para el control del ascensor:
import parport.ParallelPort;
import java.io.*;
public class Led {
//------------------------------------------
public static class Aplicacion {
private ParallelPort lpt1;
public Aplicacion()throws IOException
{
int pin=0;
BufferedReader w=new BufferedReader(new InputStreamReader(System.in));
lpt1 = new ParallelPort(888); // 0x378 normalmente es utilizado para impresora LPT1
int opcion=0;
do {
System.out.println("1) Sube ascensor.");
System.out.println("2) Para ascensor.");
System.out.println("3) baja ascensor.");
System.out.println("4) para todo.");
System.out.println("6) Salir.");
opcion = Integer.parseInt(w.readLine());
switch(opcion){
case 1 :
pin = 310;
//(int)Math.pow(2,2);
//potencias desde 2 elevado a 0
break;
case 2 :
pin = (int)Math.pow(2,4);
break;
case 3 :
pin = (int)Math.pow(2,2);
try
{
Thread.sleep(3000);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
//pin=0;
break;
case 4 :
pin = 0;
try
{
Thread.sleep(3200);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
break;
case 5 :
pin = 255; //prender todo
break;
}
lpt1.write(pin);//manda a la impresora
}while(opcion!=6);
}
}
//----------------------------------
public static void main(String[] args)throws IOException
{
new Aplicacion();
}
}
ANEXOS:
Descargar
Enviado por: | El remitente no desea revelar su nombre |
Idioma: | castellano |
País: | Bolivia |