Mostrando entradas con la etiqueta ROBOT MÓVIL (I). Mostrar todas las entradas
Mostrando entradas con la etiqueta ROBOT MÓVIL (I). Mostrar todas las entradas

Funciones para controlar el moviento de un robot


 


 

Cuando se construyen robot móviles, se debe conseguir que se muevan lentamente, para que cuando el sensor correspondiente detecta la variable de entorno, el robot tenga tiempo de reaccionar y realice la acción de control. Si el robot se mueve muy rápido, puede ocurrir que, aunque detecte la variable, no le dé tiempo a reaccionar.

La forma más sencilla de controlar los cambios de dirección en un robot es disponer de dos motores independientes y una rueda loca. De esta manera  se pueden hacer cambios de dirección actuando sobre el sentido de giro de los motores.


Cómo se mueve un robot

Cuando las dos ruedas giran en el mismo sentido y misma velocidad, el robot avanza en línea recta.

Cuando las dos ruedas giran en el mismo sentido y distinta velocidad, el robot gira suavemente.



 

Si solo se hace girar una rueda el robot gira bruscamente deslizándose sobre la otra rueda.


 

Si las dos ruedas giran en distinta dirección y la misma velocidad, el robot gira bruscamente sobre el centro del eje.

 

Para controlar el movimiento de los motores vamos a utilizar el driver L293D .

Usaremos una serie de variables para definir los pines desde los que se controlan los motores. El control de sus velocidades requiere de pines digitales PWM.

En total vamos a necesitar seis pines, dos de ellos PWM, para controlar el funcionamiento del robot.

Pero dado que los motores que vamos a usar en el taller  hemos llegado a la conclusión que es más efectivo para el funcionamiento de nuestro robot el conectar los pines EA y EB, a +5 v y controlar solo el sentido de giro del motor, lo cual nos simplifica el funcionamiento del robot.

En la función setup() definimos si los pines van a ser entradas o salida.

pinMode(pinI1, OUTPUT);

pinMode(pinI2, OUTPUT);

pinMode(pinI3, OUTPUT);

pinMode(pinI4,OUTPUT);


Programamos el control de velocidad de los motores

Para controlar la velocidad y el sentido de giro de los motores de nuestro robot, vamos a definir siguientes funciones: GirarDerecha(), GirarIzquierda(), Avanzar() yRetroceder(). Cada una de ellas tiene un par de argumentos: la velocidad del motor (entre 0 y 255) y el sentido de giro.


1-. Giro violento hacia la IZQUIERDA


void GirarDerecha()

{

digitalWrite(pinI1, LOW);

digitalWrite(pinI2,HIGH);

digitalWrite(pinI3, LOW);

digitalWrite(pinI4,LOW);

}



2.- Gira a la DERECHA

void GirarIzquierda()

{

digitalWrite(pinI1, LOW);

digitalWrite(pinI2,LOW);

digitalWrite(pinI3, HIGH);

digitalWrite(pinI4,LOW);

}



3.- Avanza hacia adelante

void Avanzar()

{

digitalWrite(pinI1, HIGH);

digitalWrite(pinI2,LOW);

digitalWrite(pinI3, HIGH);

digitalWrite(pinI4,LOW);
}


4.- Retroceder

void Retroceder()

{

digitalWrite(pinI1, LOW);

digitalWrite(pinI2,HIGH);

digitalWrite(pinI3, LOW);

digitalWrite(pinI4,HIGH);
}


5.- Parar

void Parar()

{

digitalWrite(pinI1,LOW);

digitalWrite(pinI2,LOW);

digitalWrite(pinI3, LOW);

digitalWrite(pinI4,LOW);
}



Robot seguidor de luz

El “robot seguidor de luz” que se propone, es un dispositivo móvil con tres ruedas, dos movidas cada una por un motor (ruedas motrices), y la tercera será loca. Se dispone de dos sensores de luz (LDR), cada uno controlará a un motor de las rueda motrices.

 

 
El funcionamiento será el siguiente: 

  • Si sobre la LDR1 incide luz suficiente, el dispositivo electrónico activará el motor 2 y el motor gira hacia la fuente de luz.
  • Si sobre la LDR 2 incide luz suficiente, el dispositivo electrónico activará el motor 1 y el motor gira hacia la fuente de luz.
  • Si la luz incide sobre las dos LDR, el robot avanzará hacia la fuente de luz

 

Solución adoptada

 Circuito eléctrico



Lista de materiales 

 


Este código de ejemplo puede servir para probar el robot. 

 

int I1 = 10;
int I2 = 9;
int I3 = 5;
int I4 = 4;
int LDR1 = 0;
int LDR2 = 0;
//int EA = 11;

void setup() {
  pinMode (I1, OUTPUT);     
  pinMode (I2, OUTPUT);
  pinMode (I4, OUTPUT);     
  pinMode (I3, OUTPUT);
  //pinMode (EA, OUTPUT);
  parar();                
  Serial.begin(9600);
}

void loop() {
  LDR1 = analogRead(A0);
  LDR2 = analogRead(A1);
  Serial.println("LDR1");
  Serial.println(LDR1);
  Serial.println("LDR2");
  Serial.println(LDR2);
  //delay(500);

  if ((LDR1>700) && (LDR2>700)){             
    adelante();
  }else if (LDR1>700){
    izquierda();
    digitalWrite (I3, LOW);
    digitalWrite (I4, LOW);
  }else if (LDR2>700){
    derecha();
    digitalWrite (I1, LOW);
    digitalWrite (I2, LOW);
  }else {
    parar();
  }
}

void adelante() {
  //analogWrite(EA, 180);
  digitalWrite (I1, HIGH);
  digitalWrite (I2, LOW);
  digitalWrite(I3, LOW);
  digitalWrite(I4, HIGH);
}

void parar() {
  digitalWrite (I1, LOW);
  digitalWrite (I2, LOW);
  digitalWrite (I3, LOW);
  digitalWrite (I4, LOW);
}

void izquierda() {
  digitalWrite (I1, HIGH);
  digitalWrite (I2, LOW);
  //digitalWrite (I4, HIGH);
  //digitalWrite (I3, LOW);  
}

void derecha() {
  //digitalWrite (I1, HIGH);
  //digitalWrite (I2, LOW);
  digitalWrite (I3, LOW);
  digitalWrite (I4, HIGH);  
}

 

 

 

Torillo de Lego

Torillo de lego


AUTOR: Lola A. B.
CURSO: 2º Bachillerato
Índice
1.-PROPUESTA DE TRABAJO
2.-MEMORIA DESCRIPTIVA
3.-PLAN DE FABRICACIÓN
4.-LISTA DE PIEZAS
5.-PROBLEMAS ENCONTRADOS Y SOLUCIÓN ADOPTADA.
6.-VALORACIÓN DEL PROYECTO.

Propuesta de trabajo.
Diseño y construcción de un torillo con piezas y mecanismos de Lego, cuya finalidad será elevar y bajar una carga.

2.-Memoria descriptiva.
 
Descripción general del objeto.

 Una carretilla elevadora, grúa horquilla, montacargas es un vehículo contrapesado en su parte trasera, que ―mediante dos horquillas― se utiliza para subir y bajar palés.

Tiene dos barras paralelas planas en su parte frontal, llamadas «horquillas» (a veces, coloquialmente también «uñas»), montadas sobre un soporte unido a un mástil de elevación para la manipulación de las tarimas. Las ruedas traseras son orientables para facilitar la maniobra de conducción y recoger las tarimas o palés.
Es de uso rudo e industrial, y se utiliza en almecenes y tiendas de autoservicio para transportar tarimas o palés con mercancías y acomodarlas en estanterías o racks. Aguanta cargas pesadas que ningún grupo de personas podría soportar por sí misma, y ahorra horas de trabajo pues se traslada un peso considerable de una sola vez en lugar de ir dividiendo el contenido de las tarimas por partes o secciones. Su uso requiere una cierta capacitación y los gobiernos de distintos países exigen a los negocios que sus empleados tramiten licencias especiales para su manejo.
Descripción técnica de la solución adoptada:
  • Estructura resistente: El móvil consta de una estructura principal sobre la que se sitúan los mecanismos de transmisión del movimiento, la unidad de control y dos sensores(1 de luz y 1 de contacto). Además, la principal lleva enganchada otra plataforma que será la encargada de elevar y bajar la carga. En la plataforma secundaria encontramos un sensor de luz.


Sistema de transmisión del movimiento
Sensor de luz
Sensor de contaco
  • Mecanismos de transmisión del movimiento: Encontramos dos motores, cada uno lleva enganchado un mecanismo de sinfín-piñón. Este mecanismo transmite un movimiento giratorio entre dos ejes que se cruzan perpendicularmente.Se emplea en mecanismos que necesiten una gran reducción de velocidad y un aumento importante de la ganancia mecánica: clavijas de guitarra, reductores de velocidad para motores eléctricos, limpiaparabrisas de los coches, cuentakilómetros...Están compuestos sinfín y un piñón(rueda dentada).



  • Circuito eléctrico: La unidad de control que usamos es el bloque RCX es la parte central del Lego Mindstorms, ya que aquí se encuentra toda la parte lógica y electrónica que permite la mayoría de las acciones del robot, almacenándose hasta 5 programas que se pueden cargar en su memoria interna, y guardándose allí el firmware básico para el control de los distintos dispositivos que se pueden conectar al bloque. A la unidad de control le encontramos enlazados dos sensores de luz y uno de contacto, además de los dos motores.
Unidad de control RCX


3.-Plan de fabricación.

A continuación, encontrareis la imagen del programa utilizado para que funcione el torillo.
Lista de piezas.
Listado de piezas utilizado en el proyecto.


Problemas encontrados y solución adoptada.

Cuando ya había terminado de construir el torillo al programarlo, cuando subía la estructura secundaria la carga , donde estaba enganchada se desmontaba. El problema era que enganche la pieza amarilla a la pieza negra superior eso provocaba que estuviera fija y no tuviera movilidad. Se solucionó el problema al quitarle esa pieza.

Solución del problema. 
Valoración del proyecto.
  • La construcción me ha resultado sencilla aunque en algunos pasos no estuviera claro donde iba exactamente la pieza.
  • La programación ha sido un poco más compleja al ser algo nuevo para mi, pero cuando le coges el tranquillo es muy sencilla.

ROBOT MÓVIL CAPAZ DE DETECTAR Y SALVAR OBJETOS


Propuesta de trabajo

Se trata de diseñar y construir un robot móvil que sea capaz de detectar y salvar obstáculos, con el objeto de que busque la salida de un recinto cerrado.

Condiciones iniciales
Dispondrá de dos ruedas motrices y una rueda loca.
Los obstáculos los detectará con dos antenas tal y como hacen algunos insectos, de modo que cuando los detecte girará para evitarlos.
Cuando el robot gire hacia un lado lo indicará el ojo correspondiente.
Se construirá en el aula de Tecnología.

Fase inicial

Construir una caja de cartón para guardar el proyecto. Nuestra caja la hemos diseñado siguiendo la instrucciones descritas en "la primera guía didáctica de proyectos técnicos para tecnologos/as noveles de la ESO",.



Estructura

Para la base hemos utilizado contrachapado de 5 mm, fácil de cortar utilizando una sierra de marquetería.

En vez de utilizar un motor reductor comercial, hemos fabricado dos motores con reductora, siguiendo la instrucciones recogidas en "la primera guía didáctica de proyectos técnicos para tecnologos/as noveles de la ESO". Este sistema nos ofrece un funcionamiento eficaz.

uedas
  1. Coloca las ruedas en el eje del motor reductor, según la fotografía.
  2. Pega con cola termofusible los motores reductores a la base de la estructura.
  3. Fija, también a la base, la rueda loca.

Sensores
Circuito eléctrico
Conecta todos los elementos a las regletas de conexión, tal como indica el esquema del circuito.



Resultado

Una vez que esté acabado, coloca el robot dentro de un recinto cerrado que disponga de una salida. Puedes prepara dicho recinto colocando en una mesa unos listones como se ve en la fotografía inferior.
Conecta el robot y espera que salga.