miércoles, 10 de mayo de 2017

Servomotor Futaba


Controlando un servo motor

En esta ocasión  observaremos como funciona en específico este servomotor “futaba s3003” el cual manipularemos en orientación a los grados, pero antes de ponerlo en marcha hay que saber cómo son sus conexiones  de operación fundamental en este servo.



Para que se pueda manipular el servo se debe de aplicar una señal periódica de 50hz , 20ms el periodo y lo ancho que tenemos del pulso determina la posición del servo, si la anchura de la señal es de 2.3 milisegundos  entonces el servo se posicionara en 180º  pero si su anchura es de 0.3 milisegundos se colocara en 0 grados por lo tanto será la clave para que te transporte de extremo a extremo.
Este servo podría manipularse hasta 360 grados pero se tendría que considerar un tope mecánico físico que se tendría que quitar, pero todo depende del funcionamiento para lo que se vaya a utilizar, en este caso sería parte de una articulación de un robot articulado, una vez sabiendo nuestro extremos podemos  observar que a 1.3 milisegundos nos daría 90º y nos quedaría una tabla como la siguiente.


Sabiendo que para conseguir 180º necesitamos enviar un pulso de 2300 milisegundos podemos aplicar una regla de tres para calcular los ángulos en los cuales el servomotor avanzara  por lo que tendremos una variable llamada tiempo  y otra llamada Angulo la cual nos indicara el ángulo deseado a calcular por arduino.
Tiempo= (angulox2300/180)

La función de void  moverServo recibe como parámetros el pin del Servomotor y el ángulo al que este debe girar. Donde se utilizó  la regla de tres para calcular el tiempo que debe estar encendido el pin digital del servo. Este se utiliza de forma manual donde se puede modificar si se desea agregarle 180 grados más para que sean los 360º. La variable donde  ira la fórmula de regla de tres se llamara pausa.


Ahora solo necesitamos hacer las conexiones físicas de nuestro servomotor



A continuación de mostramos la programación.


int servoPin = 13; 
int pausa = 20;

void setup()
{
 pinMode(servoPin, OUTPUT);    
 digitalWrite(servoPin, LOW);  
}

void loop() {
moverServo(servoPin,180);
}

void moverServo(int pin, int angulo)   
{
   float pausa;                       
   pausa = angulo*2300.0/180.0;     
   digitalWrite(pin, HIGH);            
   delayMicroseconds(pausa);           
   digitalWrite(pin, LOW);             
   delayMicroseconds(2300-pausa);    
}

En la configuración del bucle podemos modificar los grados de 0 a 180 dependiendo el uso que se le valla a dar, a continuación te mostramos el video donde el servomotor futaba s3003 gira de 0 a 180 grados, comprobado. 





Te recordamos que en Robótica Educativa RED Matamoros ya iniciamos  con el curso de Robótica en desarrollos  que relaciona  los servomecanismos en  donde recibirás el entrenamiento necesario para que tú puedas crear un brazo manipulador de una manera  detallada y entretenida  si quieres tener más  información puedes llamar a los teléfonos  01 (868) 8134817 o síguenos en Facebook como “Robótica Educativa RED

jueves, 4 de mayo de 2017

ROBOT ARTICULADO

Un  robot articulado  es un manipulador multifuncional  que se puede programar, y es  capaz de mover materiales, piezas, herramientas, y algunos  dispositivos especiales mediante su trayectoria. Su forma física se asemeja a la de una extremidad del cuerpo humano, como el brazo el cual le permite manipular gracias a sus diferentes grados de libertad. 

 Antes de dar a conocer sus principales usos de este tipo de robot, es necesario saber qué clase de ventajas tiene.

Las aplicaciones de este tipo de robots son muchas, a continuación se ara mención de algunas de ellas:

 En Laboratorios y Cirugía:

Los robots articulados  llevan a cabo tareas repetitivas como la colocación de tubos de prueba dentro de instrumentos de medición.  A si como también se encuentran las suturas automáticas o los sistemas de estabilización del corazón. Los cuales ayudan a que el entorno medico con el paciente sea aún una experiencia más rápida y sencilla, en la actualidad se trata de competir con los grados de libertad que puede llegar a tener un médico al momento de hacer alguna cirugía, pero en este campo los robots articulados han evolucionado mucho.

En la Industria:
En área  industrial existe  mucho campo para los robots articulados, la que podemos dividir en 4 segmentos fundamentales:

·        Aplicación de transferencia de material:

Las aplicaciones de transferencia de material se refieren como las operaciones en las cuales el objetivo primario es mover una pieza de una posición a otra. Se suelen considerar entre las operaciones más sencillas o directas de realizar por los robots articulados

·        Carga y descarga de máquinas:

Estas aplicaciones son de manejos de material en las que el robot se utiliza para servir a una máquina de producción transfiriendo piezas  desde las máquinas. Existen tres casos que caen dentro de ésta categoría de aplicación:
Carga/Descarga de Máquinas. El robot carga una pieza de trabajo en bruto en el proceso y descarga una pieza acabada.

 ·        Operación de procesamiento:

Además de las aplicaciones de manejo de piezas, existe una gran clase de aplicaciones en las cuales el robot realmente efectúa trabajos sobre piezas. Este trabajo casi siempre necesita que el efector final del robot sea una herramienta en lugar de una pinza.
Por tanto la utilización de una herramienta para efectuar el trabajo  depende de la operación de procesamiento que se realiza.


En la Agricultura y Ganadería:

Se han implementado nuevas formas para el riego y la recolección automatizada de las hortalizas y un gran avance de ello es gracias a los robots articulados que les permite hacer una labor más precisa y rápida sin lastimar el producto así como el la ganadería.

Vehículos Submarinos

Algunos vehículos submarinos cuentan con robots articulados que les ayudan a recolectar algunas piezas del fondo marino o de algunas embarcaciones hundidas y eso gracias a su efector final, que en la mayoría de los casos en este ámbito son unas pinzas o tenazas.

Los elementos que constituyen un robot articulado  son:
·        Cuerpo
·        Brazo
·        Muñeca
·        Efector final
En  la muñeca de un robot articulado le corresponden los siguientes movimientos o grados de libertad: giro (hand rotate), elevación (wrist flex) y desviación (wrist rotate), esto ayuda a que la muñeca sea los más precisamente posible para que pueda mover a su efector final.


 El cuerpo y el brazo por lo general se constituyen por su base y el largo  de su extremidad, esto le permite moverse ampliamente, y ayuda a hacer movimientos lineales y angulares.

El efector final es un dispositivo que se une a  la muñeca del brazo del robot con la finalidad de activarlo para la realización de una tarea específica. La razón por la que existen distintos tipos de elementos terminales es, precisamente, por las funciones que realizan. Los diversos tipos podemos dividirlos en dos grandes categorías en pinzas y herramientas.



Te recordamos que en Robótica Educativa RED Matamoros ya iniciamos  con el curso de Robótica en desarrollos  que relaciona  los servomecanismos en  donde recibirás el entrenamiento necesario para que tú puedas crear un robot articulado de una manera  detallada y entretenida  si quieres tener más  información puedes llamar a los teléfonos  01 (868) 8134817 o síguenos en Facebook como “Robótica Educativa RED"





lunes, 24 de abril de 2017

Servomotores

 Servomotores 

Un servomotor también conocido como Servo, es un dispositivo con una similitud  a un motor tradicional y que tiene como característica particular ubicarse en cualquier posición dependiendo de su configuración en grados.  Los elementos principales de un servomotor son:
·         Un motor
Es el elemento principal  que le brinda movilidad al servomotor. Cuando se aplica una energía a sus dos terminales, este motor gira en un sentido a su velocidad máxima. Si el voltaje aplicado sus dos terminales es inverso, el sentido de giro también se invierte.


·         Una Caja reductora de engranes
Se encargan de convertir gran parte de la velocidad de giro del motor de corriente continua en torque.

·         Circuito de control
Este circuito es el encargado del control de la posición del motor. Recibe los pulsos de entrada y ubica al motor en su nueva posición dependiendo de los pulsos recibidos.

Los servomotores se usan principalmente para modelismos, robótica y sistemas  de radio control, pero tienen una amplia gama de usos así que no está limitado solo a las ramas antes mencionadas, un servomotor normal tiene como estándar 3.1 kg por cm de torque, lo que quiere decir que puede soportar más veces  de su peso de operación. 

Por lo general las terminales de un servomotor son 3

1.       Terminal positivo: Recibe la alimentación del motor (4 a 8 voltios, aplica solo en motores de CC).
2.       Terminal negativo: va a la  tierra del motor (0 voltios).
3.       Entrada de señal: Recibe la señal digital  de control del motor.


Dependiendo del modelo del servo, la tensión de alimentación puede estar comprendida entre los 4 y 8 voltios. El control de un servo se reduce a indicar su posición mediante una señal cuadrada de voltaje. El ángulo de ubicación del motor depende de cuánto dure el nivel alto de la señal. Cada servo motor, dependiendo de la marca y modelo utilizado, tiene sus propios márgenes de operación. Por ejemplo el servomotor Futaba S3003, los valores posibles de la señal en alto están entre 0,3 y 2,1 ms, que posicionan al motor en ambos extremos de giro (0° y 180°, respectivamente)
A continuación se muestran algunas marcas de servomotores  que utilizan el tiempo en milisegundos para su cambio de posición en grados.

En el siguiente blog se explicara como funciona el tiempo en milisegundos por (PWM) para que un servomotor pueda lograr un giro respectivamente en un Angulo llano de 0 a 180 grados 

Te recordamos que en Robótica Educativa RED Matamoros ya iniciamos  con el curso de Robótica en desarrollos  que relaciona  los servomecanismos en  donde recibirás el entrenamiento necesario para que tú puedas crear un brazo manipulador de una manera  detallada y entretenida  si quieres tener más  información puedes llamar a los teléfonos  01 (868) 8134817 o síguenos en Facebook como “Robótica Educativa RED

martes, 11 de abril de 2017

TARJETA DE CONTROL ARDUINO

 Tarjeta de control Arduino

Arduino es una plataforma de algunos prototipos en electrónica que cuentan con un código abierto, o también llamado open source, esto quiere decir que tienen un hardware y un software muy flexible y  muy fácil de usar. Esta tarjeta esta creada principalmente para estudiantes, diseñadores, artistas que estén interesados en la robótica y programación o que estén interesados en crear sistemas inteligentes, arduino cuenta  con una placa principal y una serie de componentes electrónicos como resistencias, capacitores, reguladores de voltaje y los controladores principales que gestionan los elementos de los demás componentes, requiere también de un lenguaje de programación  para poder ser utilizado y ser programado a nuestra necesidad, a lo que podemos agregar que arduino sería una tarjeta completa  en cuanto a las herramientas necesarias que nos referimos, ya que solo consta de instalar el programa y comenzar la programación.

Las tarjetas arduinos se clasifican de muchas maneras dependiendo el uso que se le valla a dar. Como por ejemplo que tan pequeña quieres la tarjeta o que tanto espacio de almacenamiento necesitas, solo usaras una sola tarjeta o quieres agregarle más circuitería, esto es algo que te debes de preguntar antes de hacer cualquier proyecto relacionado con la placa arduino,  ahora en la actualidad cada vez salen a la luz nuevos tipos de arduinos con nuevas funcionalidades,  así que nos centraremos en los que son más nombrados a la hora de realizar un proyecto.
Tamaño  (de mayor a menor)

·         Arduino Mega
·         Arduino Uno
·         Arduino Decimila
·         Arduino Duemilanove
·         Arduino Bluetooth
·         Arduino Nano
·         Arduino Mini



Arduino Mega (es el más potente y  más completo para hacer  trabajos complejos donde se sacrifica algo de espacio, cuenta con el microcontrolador Atmega1280 con más memoria para el programa, tiene una RAM  mas veloz y más pines que el resto de los modelos ).



Arduino Bluetooth (incorpora un módulo bluetooth con un alcance de hasta 100 metros. Es muy factible ya que aquí no se utilizan los cables y se puede programar a distancia.

Arduino Pro (más robusto y mejor acabado final; incorpora funcionalidades interesantes tales como un conector especial para conectar una batería LiPo, si se cuenta con esta batería nuestro arduino podría ser portátil.

Arduino Nano (su principal ventaja es que puede ser pinchado directamente sobre una protoboard haciendo muy cómodo el prototipo al igual que el Arduino mini).


Arduino Duemilanove (es la placa estándar)
Arduino Diecimila (a pesar de ser el mismo modelo que el duemilanove pero en su versión anterior lo cito porque aún hay algunas tiendas con él en stock; la principal desventaja es que trae el chip atmega168 frente al atmega328 del duemilanove que es más potente aunque perfectamente compatibles respecto a patillaje y programación)
Arduino Mini (versión miniaturizada de la placa Arduino. Mide tan sólo 30x18mm y permite ahorrar espacio en los proyectos que lo requieran. Las funcionalidades son las misma que Arduino Duemilanove ).

Una vez sabiendo lo básico para que puedas tener una tarjeta Arduino, es hora de proceder con la descarga de lo principal pero no menos importante. El software de programación de la placa este software lo podemos encontrar en la página oficial de Arduino ya que es un software libre y gratuito https://www.arduino.cc/en/main/software
Instalarlo es muy fácil ya que no requiere se muchos permisos, una vez instalado en tu computadora te abrirá una área de trabajo color blanco con los comandos principales de void setup y void loop con sus respectivas llaves
Para hacer un programa sencillo es importante saber una estructura básica de un programa para que podamos establecer nuestros algoritmos de una manera correcta.
Los comandos más utilizados en arduino son:
·         Int
·         pinMode
·         analogWrite
·         digitalWrite
·         delay
·         if
  
Puedes ver en nuestro blog anterior como funcionan algunos de estos comandos https://roboticared.blogspot.mx/2016/11/fuciones-basicas-tarjeta-de-control-ya.html 


Estos comandos la mayoría de cualquier programación realizada con arduino los incluye, a continuación se mostrara una práctica muy básica con un led, donde se utilizan algunos de estos comandos. Solo necesitaras un led y una resistencia conectadas en serie al puerto 12 de tu arduino.
Te recordamos que en Robótica Educativa RED Matamoros contamos con el curso de Robótica en desarrollos donde recibirás el entrenamiento necesario para que tú puedas crear un  sistema inteligente de robot móvil de una manera detallada y entretenida  si quieres tener más  información puedes llamar a los teléfonos  01 (868) 8134817 o síguenos en Facebook como “Robótica Educativa RED
¡

jueves, 23 de marzo de 2017

COMUNICACIONES INALAMBRICAS (Programaciòn del proyecto) 5.1



Robótica inalámbrica  5.1 (proyecto)



            En el blog (http://roboticared.blogspot.mx/2017/03/robotica-en-desarrollos-comunicaciones.html) se habló respecto a lo que es una comunicación inalámbrica y como funciona resumidamente el bluetooth, ahora veamos un poco de la programación, para hacer funcionar un robot móvil inalámbrico.

Antes de empezar debemos destacar que:
Para que funcione nuestro desarrollo es necesario contar con un módulo bluetooth modelo HC-06 para la comunicación con el dispositivo móvil (teléfono Android).





  CONEXIONES

   
                    Entre el modulo bluetooth hc06 y tarjeta de control Arduino.



(ES IMPORTANTE EL NO TENER CONECTADO LOS PUERTO RX Y TX  A LA HORA DE DESCARGAR EL PROGRAMA, YA QUE GENERARA UN ERROR).

Tarjeta de control Arduino y el driver de los motores L298N.

También en lo referente a la conexión de los motores deben de ser de la siguiente manera en nuestro robot móvil. Este robot móvil  utiliza una tarjeta de control (Arduino) y una tarjeta driver L298N para los moto-reductores de DC (modulo puente H), para que este a su vez pueda darle velocidad y potencia a los motores, e influye mucho la manera de conexión ya que sin esta configuración, nuestros motores no nos responderán correctamente a la hora de la exposición.
A continuación se muestra la programación hecha por los alumnos así como las conexiones de este robot móvil en la tarjeta L298N a los puertos digitales del arduino.


Entre el driver de los motores L298N y los moto-reductores


Los moto-reductores son motores de corriente directa que tienen acoplado en la flecha de salida un engranaje que le permite reducir su velocidad y aumentar su torque, son muy utilizados para controlar la precisión y para trabajar con pesos que sin ese acoplamiento sería imposible mover








PROGRAMACIÓN




Antes de presentar la programación debemos de conocer los comandos que se utilizaron en la elaboración de este proyecto y para que se utilizan:




Int: nos sirve para declarar datos numéricos enteros de 16 bits, estas variables las configuramos al principio de la programación y las vamos llamando según sea el caso necesitado.



Serial.begin: abre su puerto serie y fija una velocidad predeterminada en baudios para la transición de datos en serie. El valor típico de velocidades para comunicarse con un ordenador, o dispositivo móvil es de 9600 aunque se le pueden agregar otras velocidades.




analogWrite: Esta instrucción es utilizada para escribir un valor analógico utilizando la modulaciones por ancho de pulso (PWM), si enviamos un valor de 0 nos mandara una salida de 0 voltios en el pin especificado, el valor HIGH de una salida de este tipo equivale a 5 voltios.

if: es una condición que se utiliza para probar si una determinada condición  se ha alcanzado, como por ejemplo averiguar si un valor analógico está por encima de un cierto numero, si es verdad se  ejecuta una serie de acciones, que se describen dentro de las llaves. Si es falso la condición no se cumple  y salta a otra linea programa.

La declaración de estado llama a las subrutinas de la aplicación Android y ejecuta el programa seleccionado por los comandos en los botones de la pantalla del celular. Es importante que para que este funcione, descargues nuestra app.


int izqA = 5;
int izqB = 6;
int derA = 9;
int derB = 10;
int vel = 255;            // Velocidad de los motores (0-255)
int estado = 'g';         // inicia detenido

void setup()  {
  Serial.begin(9600);    // inicia el puerto serial para comunicacion con el Bluetooth
  pinMode(derA, OUTPUT);
  pinMode(derB, OUTPUT);
  pinMode(izqA, OUTPUT);
  pinMode(izqB, OUTPUT);
 }

void loop()  {
 
  if(Serial.available()>0){        // lee el bluetooth y almacena en estado
      estado = Serial.read();
  }
  if(estado=='a'){           // Boton desplazar al Frente
      analogWrite(derB, 0);    
      analogWrite(izqB, 0);
      analogWrite(derA, vel); 
      analogWrite(izqA, vel);      
  }
  if(estado=='b'){          // Boton IZQ
      analogWrite(derB, 0);    
      analogWrite(izqB, 0);
      analogWrite(derA, 0); 
      analogWrite(izqA, vel);     
  }
  if(estado=='c'){         // Boton Parar
      analogWrite(derB, 0);    
      analogWrite(izqB, 0);
      analogWrite(derA, 0);   
      analogWrite(izqA, 0);
  }
  if(estado=='d'){          // Boton DER
       analogWrite(derB, 0);    
       analogWrite(izqB, 0);
       analogWrite(izqA, 0);
       analogWrite(derA, vel); 
  }
 
  if(estado=='e'){          // Boton Reversa
       analogWrite(derA, 0);   
       analogWrite(izqA, 0);
       analogWrite(derB, vel); 
       analogWrite(izqB, vel);     
  }
  if (estado =='f'){          // Boton ON se mueve sensando distancia

  }
  if  (estado=='g'){          // Boton OFF, detiene los motores no hace nada
  }
}






En Robótica Educativa RED Matamoros estamos iniciando  el curso de Robótica en desarrollos en Comunicaciones inalámbricas, donde recibirás el entrenamiento necesario para que tú puedas crear tu propia app y tu sistema inteligente de robot móvil de una manera facil y  entretenida asi como diversas practicas  de la placa arduino, si te interesa adquirir el kit  de comunicaciones inalambricas en robots moviles puedes  llamarnos  a los teléfonos  01 (868) 8134817 o síguenos en Facebook: https://www.facebook.com/roboticaRED/ " TE ESTAMOS ESPERANDO LLAMA YA!!! "




miércoles, 15 de marzo de 2017

ROBÓTICA EN DESARROLLOS " COMUNICACIONES INALAMBRICAS" 5.0

Comunicaciones Inalambricas


Una red Inalámbrica es  un conjunto de  computadoras conectadas entre sí utilizando un medio y un sistema de comunicacion  en común con la finalidad de compartir datos o bien un sistema de comunicación , que no utiliza medio físicos si no, propagación de muchas ondas electromagnéticas, utilizando radiofrecuencia para transmisión de datos. Algunas de las desventajas de esta tecnologia son: que utiliza radiaciones aproximadas a aparatos electrodomésticos como teléfonos inalámbricos, hornos de cocina, los cuales pueden producir interferencia en la  comunicacion  de dispositivos.

Bluetooth implementa Ondas de Radiofrecuencia de corto alcance, ya que es una de los medios de transmisión sencillos, económicos, fáciles de configurar y administrar.

Las transmisiones en esta banda están formadas por ondas con una longitud de cresta a cresta de 12.5cm que vibran a razón de 2.400 millones de veces cada segundo (de ahí los 2.4GHz). La amplitud de estas ondas es variable y depende de la intensidad con la que seamos capaces de transmitir la señal, es decir, de la energía que seamos capaces deutilizar para poder modularla.

En nuestra clase de comunicaciones inalámbricas, nuestros alumnos crearon un robot móvil controlado remotamente con un dispositivo celular mediante el uso del  módulo bluetooth compatible con las tarjetas arduino modelo HC-06 el cual nos permite tener una comunicación con un aparato inteligente  con conexión  bluetooth.
 Cabe destacar que  el módulo HC-06 puede ser utilizado por esta placa, el módulo HC-06 su comunicación es muy sencilla puesto a que este necesita de un aparato bluetooth para poder comunicarse, ya que recibe señales tanto de letras o números, que seria las instrucciones que son prestablecidas por el código de arduino.  Este a su vez funciona como receptor de señales de un teléfono inteligente atreves de la app. El módulo de bluetooth HC-06 opera de modo Esclavo   y recibe las señales de cualquier dispositivo en Comunicación App-Android a Arduino. 


Esta aplicación puede ser descargada en el siguiente link para realizar este proyecto


https://play.google.com/store/apps/details?id=appinventor.ai_clau_fabiolvera.CarBluetoothArduino






Te recordamos que en Robótica Educativa RED Matamoros contamos con el curso de Robótica en desarrollos en Comunicaciones inalámbricas, donde recibirán el entrenamiento necesario para que tú puedas crear tu propia app y tu sistema inteligente de robot móvil de una manera detallada y entretenida para más información puedes llamar a los teléfonos  01 (868) 8134817 o síguenos en Facebook como “Robótica Educativa RED”