Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak

Componentes y Suministros

Arduino MKR1000 ×1

Herramientas y Máquinas Necesarias

Aplicaciones y Servicios en Línea

Sobre el Proyecto

Introducción

Quería diseñar un brazo robótico completamente desde cero. Hay muchos diseños de código abierto disponibles, pero pensé que sería gratificante diseñar, construir y programar uno desde la nada (y lo fue).

Hablaré de las fases de diseño y programación, pero me centraré más en la programación, ya que no se trata solo de controlar ángulos de servos.

Video del proyecto final en acción: Ver en MathWorks

Usé Simulink para programar un Arduino MKR1000 que controla el brazo robótico. Luego añadí la capacidad de controlar el brazo desde prácticamente cualquier lugar a través de ThingSpeak, una plataforma IoT abierta con analíticas de MATLAB.

Hardware Necesario

Software Utilizado

Diseño

Quise mantener bajo el coste de piezas, así que diseñé para servos hobby, específicamente el modelo GS-9025MG. Esto limitó el peso y tamaño final, ya que los micro servos no ejercen mucho par y no pueden levantar brazos de palanca pesados.

Prototipé con madera contrachapada de 1/4 pulgada, que resultó demasiado pesada para los servos. Reduje la longitud de los brazos y usé madera de 1/8 pulgada, solucionando el problema de control. Diseñé en Fusion 360, exporté como .dxf y corté láser.

También fue necesario alimentar con voltaje DC continuo desde la red, ya que las baterías se agotaban muy rápido por el alto consumo.

Para controlar los motores: el Arduino MKR1000 tiene 4 pines PWM, pero necesitaba 5 para 5 servos. Me las arreglé usando un pin PWM para controlar 2 servos y un pin digital para alternar entre ellos.

Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak
Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak

Programación

Dos fases: prototipado (ensamblar y hacer que los servos vayan a cierta posición) y control preciso (comandar ubicación vía ThingSpeak).

Prototipado

Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak

Usé bloques deslizadores y constantes para comandar los servos a ciertos ángulos. Este modelo sirvió para hallar los sesgos entre ángulo comandado y real, y el rango permitido por servo. Los bloques con engranaje son bloques de escritura PWM para ángulos 0-180.

Usé cinemática inversa para un brazo en movimiento planar 2D para resolver los ángulos necesarios para mover el brazo a una coordenada XY. Este enlace explica bien la cinemática: appliedgo.net/roboticarm

Control Preciso

Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak

La lógica es la misma: bloques de salida son escritura de servo (con engranaje). Las entradas ya no son deslizadores, sino lectura desde canal ThingSpeak. Las entradas son posición X e Y del brazo, convertidas a ángulos comandados mediante el bloque de función MATLAB loc2angles. El bloque angles2loc monitoriza el sistema verificando que los ángulos de servo se traducen a la posición correcta usando cinemática directa.

Una herramienta genial de Simulink usada aquí es External Mode, que permite monitorizar el sistema mientras corre en el Arduino.

Los bloques con nube gris son bloques de lectura ThingSpeak del paquete de soporte Simulink para Arduino. Se introduce el ID de canal, número de campo de datos y clave de lectura API, y devuelve los datos de ese canal y campo.

Usando ThingSpeak: Crear y Usar un Canal

  1. Ir a thingspeak.com
  2. Clic en "Sign in" (arriba derecha), login con cuenta gratuita MathWorks
  3. En dashboard, clic en "New Channel"
  4. Rellenar datos como se muestra:
Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak
  1. Clic "Save channel" al final
  2. Canal ThingSpeak creado
  3. En ventana de comandos MATLAB o app móvil MATLAB, enviar comandos como:
    thingSpeakWrite(chID, [0.6963.94 -12 0 0], 'WriteKey', APIKEY, 'Fields', [1 2 3 4 5]);
    Esto escribe nuevos datos en los campos del canal. Cambiando los valores del segundo argumento se cambia el valor del campo correspondiente. Los datos del canal deberían verse así:
Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak

Ejecutar el Modelo

Configurado el canal ThingSpeak, ejecutar el modelo en el Arduino en modo externo o desplegando en hardware. En Simulink: "Model Configuration Parameters" → engranaje superior → "Hardware Implementation" → "Hardware Board": Arduino MKR 1000. En "Target Hardware Resources" → "WiFi Properties" → credenciales WiFi.

Botón verde "Run" para modo externo, azul "Deploy" para desplegar en hardware.

Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak

Una vez corriendo el modelo, escribir nuevos datos en los campos del canal ThingSpeak desde MATLAB o MATLAB Mobile en el móvil y ver cómo mueve el brazo robótico.

Código

https://www.mathworks.com/matlabcentral/fileexchange/68880-controlling-a-robotic-arm-from-anywhere-using-iot

Proceso de manufactura

  1. Mando universal Android con Arduino, 1Sheeld y control IR
  2. Alcancía Inteligente: Controla un Aceptador de Monedas con Arduino Nano
  3. Centro de Control de Potencia Arduino: N-FET, P-FET, Relé y RTC
  4. Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
  5. Construye un tarro inteligente IoT con ESP8266, Arduino y sensor ultrasónico: Monitorización en tiempo real
  6. Construye un Brazo Robótico Impreso en 3D Controlado por Arduino – Guía Paso a Paso
  7. Controla un Rover Arduino con Firmata y Mando Xbox One - Guía Completa
  8. Controlador de Humidificador DIY con Arduino y Relé: Configuración Segura de Alto Voltaje
  9. Brazo Robótico de 6 Grados de Libertad Controlado por Nunchuk con Arduino
  10. Brazo Robótico Inteligente Controlado por Arduino: Tutorial DIY Fácil
  11. Controla tu TV con Alexa mediante Arduino IoT Cloud: Guía Paso a Paso