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

BLE Bot 9000

Componentes y suministros

Arduino 101
× 1
Adafruit Motor / Stepper / Servo Shield para Arduino v2 Kit - v2 .3
× 1
SparkFun Multi-Chasis - Kit 4WD (básico)
[Embajadores:La variedad Tank Kit de Sparkfun se proporcionó como una alternativa a esta unidad. Se ha determinado que estos tienen problemas de energía asociados con el 5x AA incluido con ellos. Consulte Problemas conocidos para obtener más información. ]
× 1
Soporte para pilas Adafruit 6 x AA con enchufe de 5,5 mm / 2,1 mm
[Embajadores:Se sabe que esta pieza FALTA de los kits. El banco de baterías Intel USB se puede complementar en su lugar para alimentar el Arduino 101.]
× 1
5 soportes para pilas AA
Incluido con el kit de robot.
× 1
Paquete de componentes
Contiene 4 soportes verticales, tornillos de plástico / negros, ~ 20 cables, una tira de velcro de 3 pulgadas, posiblemente algunas pilas AA.
× 1
Pilas AA
× 11

Herramientas y máquinas necesarias

Soldador (genérico)
Soldar (genérico)
Destornillador Philips
Incluido con Sparkfun Bot Kits

Aplicaciones y servicios en línea

Arduino IDE
Johnny-Five
Arduino Firmata

Acerca de este proyecto

Avisos:

Actualizar 5/12/16 de Drew:haga clic en Problemas conocidos a la derecha y revíselos antes de completar esta compilación. Ciertas variedades del kit tienen problemas conocidos y faltan piezas. Hemos intentado esbozar los problemas comunes. Algunos aún se están resolviendo. Las correcciones se incluirán en las instrucciones a medida que se confirmen. Infórmeme de los adicionales (@ReanimationXP) en el #intel canal de slack.hacksterlive.com . ¡Gracias!

No explote el Arduino

Hemos recibido informes de que algunos ensamblaron su bot y dejaron el puente VIN en su lugar en el Motor Shield. Tómese un momento para quitarlo antes de comenzar. ¿Por qué? Consulta Encendido de Arduino y Shield a continuación.

Introducción

Este proyecto demuestra cómo usar el chip BLE integrado en un Arduino 101 para controlar un pequeño robot 4x4 desde su computadora portátil. Al hacer que su computadora tome el control del Arduino 101, abre la posibilidad de incorporar métodos de control intensivos del procesador, como visión por computadora, conducción autónoma y bucles de retroalimentación avanzados (PID).

Hardware

¡Empecemos! ¿Con qué viene este cachorro? La plataforma de robot utilizada fue el 4x4 multichasis de Sparkfun. Es bastante duradero con un marco de aluminio y tiene muchos puntos de montaje para sensores adicionales.

Pasos:

1) El kit requiere un montaje sencillo, pero lleva algo de tiempo. Siga las instrucciones incluidas con su kit para el montaje, con las siguientes desviaciones:

- Monte el Arduino 101 en separadores (parte del kit de componentes separado) en la placa superior (tapa) antes de colocar la tapa en el chasis del robot. Si no tiene los separadores, simplemente aísle la parte inferior del 101 de alguna manera y fíjelo a la tapa.

2) El Adafruit Motor shield v2.3 también requerirá un poco de ensamblaje, y con eso nos referimos a soldar. Los pines del cabezal deberán soldarse. Si recibió los conectores hembra con su kit de componentes (como los del A101), utilícelos y descarte los macho normales. De lo contrario, use la variedad macho incluida con el protector del motor. Puede encontrar instrucciones detalladas para soldar ambos tipos aquí (desplácese hacia abajo hasta la sección correspondiente para el tipo de encabezado masculino / femenino):https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/install-headers .

Si nunca ha soldado antes, es posible que desee practicar en algo que no le importe quemar, ya que los encabezados pueden ser un poco difíciles de soldar en su lugar. Pedirle a alguien que ha soldado mucho que lo observe será la forma más rápida de aprender. Comience cada encabezado soldando un pin en el borde, tirando firmemente de los encabezados para que estén alineados con la placa y perfectamente rectos. Puede usar esta técnica para alinear las cosas antes de soldar todos los pines que bloquearán el encabezado en su lugar de forma casi permanente.

Realice el encabezado hembra de cuadrícula de 6 pines junto al logotipo de Bluetooth al final. Tiene este aspecto: [:::] Enchufe el lado de plástico en el Arduino 101 para que esté completamente al ras, monte el protector del motor ahora completamente soldado en la parte superior y permita que el lado macho de la rejilla de 6 pines lo atraviese. Presione hacia abajo el protector del motor para que esté completamente insertado en el 101, luego suelde el lado macho del cabezal de rejilla de 6 pines.

3) Coloque el protector del motor ensamblado en la parte superior del Arduino 101 usando los encabezados que soltó.

4) Utilice los cables de puente (macho a macho) para conectar los motores a los bloques de terminales de salida del motor en el blindaje del motor, como se muestra a continuación. Asegúrese de hacer coincidir los pares correctos de cables negativos y positivos y siga el diagrama de cableado a continuación. Nota:los cables amarillos son positivos en el diagrama y rojo en los motores reales. Los cables verdes son negativos en el diagrama , negro en los motores reales.

5) Compruebe que el puente VIN NO esté conectado antes de continuar. Utilice un par de cables de puente para conectar el AA de 5 cuentas paquete de baterías incluido con el kit del robot al bloque de terminales de entrada de voltaje en el blindaje del motor, teniendo en cuenta la orientación positiva (rojo) y tierra (negro) como se muestra en el diagrama a continuación.

Nota: El soporte 2x AA que se muestra a continuación es NO EXACTO a la vida real y no tendrá uno en su kit; utilice el soporte 5x AA incluido en su kit de robot. Algunos kits tampoco contienen 4 motores. En este caso, simplemente conecte los motores adecuados a M1 y M2 como se muestra en el lado derecho de la placa y los dos motores superiores.

6) Suelde el conector de barril a los cables que salen del segundo paquete de baterías. Asegúrese de soldar el cable positivo rojo a la conexión central (más corta) en el conector de barril.

Nota :El soporte de batería 6x AA y su tapón cilíndrico a continuación no se incluyeron en el primer envío de kits de embajador. Complementaremos este envío con un soporte AA adicional y posiblemente componentes adicionales pronto. Termine de compilar el bot y vaya a Descripción general del software por ahora.

7) Coloque el paquete de baterías 6x AA en la parte trasera del robot con la tira de velcro:

Conecte el enchufe de barril al Arduino 101 para encenderlo. Una vez más, compruebe que el puente VIN no esté conectado.

¡El robot ahora debería estar completamente construido! Asegúrese de que ambos bancos de baterías estén desenchufados para que no consuman energía.

Descripción general del software

El sistema de control del robot consta de dos piezas principales de software. El primero es el boceto del servidor Firmata que se carga en el Arduino 101. Firmata permite que su computadora acceda a los pines del Arduino y, por extensión, se comunique con el escudo del motor que controla los motores en sí. Firmata también permite la comunicación bidireccional de modo que si en el futuro conecta un sensor a su robot, podrá enviar los datos del sensor a su computadora.

La segunda pieza de software es el cliente Firmata que se ejecuta en su computadora. Hay muchos clientes Firmata diferentes para una variedad de idiomas, pero en este proyecto usaremos el cliente Firmata que está integrado en Johnny-Five. Johnny-Five es una plataforma de robótica e IoT para Arduino construida sobre Node.js. Puede encontrar más información aquí:http://johnny-five.io/. Johnny-five tiene muchas bibliotecas útiles, incluidas Firmata y configuraciones para Adafruit Motorshield que estamos usando.

Para que el cliente y el servidor de Firmata se conecten, estamos usando una biblioteca ble-serial a node.js escrita para abrir una conexión en serie a través de BLE al Arduino 101. https://github.com/monteslu/ble-serial

Finalmente, para leer los comandos del teclado, usaremos keypess, una biblioteca de node.js para leer pulsaciones de teclas. https://github.com/TooTallNate/keypress

Cargar Arduino Sketch

1) Para cargar el boceto del servidor Firmata en el Arduino 101, primero tendrá que descargar e instalar el IDE de Arduino:https://www.arduino.cc/en/Main/Software

2) Una vez que haya instalado el IDE base, deberá instalar la placa Arduino 101. El siguiente tutorial cubre la instalación de la placa, así como la programación básica, si no está familiarizado con Arduino, este es un buen lugar para comenzar:https://www.arduino.cc/en/Guide/Arduino101. La versión corta es que necesita instalar el paquete "Intel Curie Boards" a través de Boards Manager en el IDE. Una vez que haya hecho eso, Arduino / Genuino 101 aparecerá en el submenú Board.

3) Conecte el Arduino 101 a su computadora a través del cable USB.

4) En el IDE de Arduino, vaya a Herramientas -> Placa y seleccione Arduino / Genuino 101. ¿No lo ves? Regrese al paso 2.

5) Vaya a Herramientas -> puerto y asegúrese de tener seleccionado el puerto correcto para su placa. Si no está seguro de qué puerto usar, desconecte el Arduino y vea qué puerto desaparece de la lista.

6) Instale el paquete AdaFruit Motor Shield v2. Vaya a Sketch -> Incluir biblioteca -> Administrar bibliotecas, y luego busque "AdaFruit Motor Shield v2". Selecciónelo y luego haga clic en el botón Instalar.

6a) Si desea probar su bot, actualice el siguiente archivo .ino para probar sus motores. De forma predeterminada, este archivo hará que su bot vaya hacia adelante, hacia atrás, gire a la izquierda y luego a la derecha repetidamente. https://github.com/ReanimationXP/a101_motortest.

¡NOTA! ¡Prepárate para que tus ruedas se muevan!

Si muestra el programa a101_motortest al bot, las ruedas comenzarán a moverse tan pronto como el boceto comience a ejecutarse. Si desea detener las ruedas, puede tirar del cable USB (cortando la energía al Arduino) o tirar de una de las baterías.

7) En el IDE de Arduino, vaya a Archivo -> Ejemplos -> Firmata -> StandardFirmataBLE para cargar el boceto del servidor Firmata BLE. Sube el boceto al Arduino 101 haciendo clic en la flecha de carga en la esquina superior izquierda del editor.

Si el boceto se carga correctamente, el último mensaje en la salida debería ser "El boceto comienza en 5 segundos".

Instale Python 2.7.13

1) Necesitará Python 2.7.13 para instalar y compilar el paquete bluetooth-hci-socket Node.js.

2) Vaya a https://www.python.org/downloads/. Descargue Python 2.7.13 e instálelo.

Cargar Firmata Client

1) El cliente Firmata se ejecutará en Node.js, si no lo tiene instalado, vaya al siguiente enlace y siga las instrucciones de instalación:https://nodejs.org/en/

2) Una vez que Node.js esté instalado, cree una nueva carpeta para contener su código de control.

3) Abra un símbolo del sistema de Node.js y navegue hasta la carpeta de su proyecto. Si va a instalar las herramientas de Windows en el siguiente paso, ejecute el símbolo del sistema en modo Administrador.

4) Si está utilizando Windows 10, debe instalar las herramientas de Windows. Haga esto usando el siguiente comando:

  npm install --global --production windows-build-tools  

5) Instale los siguientes módulos NPM:

  npm instalar johnny-fivenpm instalar keypressnpm instalar ble-serial npm instalar bluetooth-hci-socket  

6) Descargue el código de control en el github (https://github.com/martinkronberg/Firmata-BLE-Bot) y asegúrese de que control.js esté en la carpeta de su proyecto. Puede clonar el repositorio si lo desea, pero las posibilidades de actualizaciones son bastante pequeñas ...

Ejecute el código

¡Ahora estamos listos para comenzar a conducir el robot! Asegúrese de que ambos bancos de baterías estén conectados y desde la carpeta de su proyecto ejecute:

  control de nodo.js  

Si todo funciona, recibirá un mensaje similar a:

  1476382259569 [objeto objeto]  conectado 

Ahora, cuando presione "w", el robot avanzará, "s" para conducir en reversa, "a" y "d" girarán el robot hacia la izquierda y hacia la derecha.

Es posible que reciba un mensaje como "No se encontró ningún dispositivo USB Bluetooth 4.0 compatible". Asegúrese de que su computadora sea compatible con Bluetooth y que Bluetooth esté habilitado.

Tenga en cuenta que puede verificar el Administrador de dispositivos en Windows para ver si su PC es compatible con Bluetooth. Busque un subárbol llamado "Radios Bluetooth".

Versión de Blynk

Si Node y Firmata no le funcionan bien, puede usar la biblioteca Blynk.cc en su lugar. Es fácil de usar, multiplataforma, tiene interfaces para dispositivos móviles.

1. Descargue la biblioteca Blynk.cc e instálela en Arduino. Esto se puede hacer a través del Administrador de bibliotecas de Arduino. Versión 0.4.7 al momento de escribir este artículo.

2. Descargue y actualice el siguiente boceto en su Arduino 101:

https://github.com/ReanimationXP/a101_blynk_base

3. Descargue la aplicación Blynk. Cree la siguiente interfaz dentro de la aplicación:

Problemas conocidos

Piezas faltantes: Soporte de batería AA 6x y su conector de barril, el kit de tanque tiene solo motores 2x, no 4x.

Problemas de energía con el kit del tanque: Parece que el kit del tanque Sparkfun tiene un defecto:el soporte de la batería incluido no es lo suficientemente potente para impulsar las bandas del tanque. Las soluciones son quitar las bandas, reemplazar el soporte de la batería 5x AA con una batería lipo 2S (7.4v) con mAh significativos (750mah por ejemplo) y / o alimentar el 101 con uno de sus bancos de baterías USB Intel.

Además, si el soporte de la batería que viene con el chasis Sparkfun no parece funcionar, es posible que las baterías no estén colocadas correctamente. Tire hacia atrás mientras empuja hacia abajo y sentirá que encajan en su lugar.

Problemas con Bluetooth / BLE: El soporte BLE tiene requisitos mínimos. Una computadora debe ser compatible con Bluetooth 4.0 o superior, con Windows 8.1 o superior, para garantizar que sea compatible con BLE, la variedad de Bluetooth de baja energía. Es posible que algunas computadoras sigan teniendo problemas según la pila de controladores y las diferencias de hardware. La mayoría de los teléfonos inteligentes son más compatibles con BLE. Estamos estudiando la posibilidad de utilizar la plataforma Blynk para controlar el 101, que ahora incluye compatibilidad con BLE. Los detalles se publicarán aquí cuando estén disponibles.

También nos han dicho que la parte BLE del Arduino 101 es muy inestable si no se alimenta correctamente. Asegúrese de conectar la alimentación adecuada al Arduino 101. Sugeriría una fuente de alimentación USB de 5 V, 2 amperios o más para descartar problemas de caídas de tensión.

Compatibilidad de tornillos con Arduino 101: Los tornillos del kit de componentes tienen cabezas que son demasiado grandes para caber en el 101. La solución es cambiar algunos tornillos plateados del kit de robot en lugar de ellos, y viceversa si es posible. También puede usar cuadrados de velcro, por lo que la tabla está bien sujeta y aislada, pero se puede quitar fácilmente.

Bibliotecas: Debe actualizar la biblioteca Firmata a al menos 2.5.3 (las versiones inferiores a 2.5.3 no incluyen el boceto Firmate BLE)

Aquí hay algunos recursos para hacer su vida más fácil mientras organiza una reunión. Los dos últimos enlaces requieren la instalación de la biblioteca Adafruit Motor Shield v2.

  • Este tutorial de BLE Bot 9000:http://bit.ly/blebot1
  • Script de prueba de motor de CC de Pete Hoffswell:http://bit.ly/blebot2
  • Robótica BLE controlada por teléfono con Blynk:http://bit.ly/blebot3

Código

Controles de la pantalla táctil
¡Controle su 'bot desde una pantalla táctil, usando un servidor Express! (Para piratas informáticos más avanzados) https://github.com/monofuel/blebot9000
Código de control del robot
Github con código para ejecutar robothttps://github.com/martinkronberg/Firmata-BLE-Bot

Esquemas

PDF para ensamblar chasis

Proceso de manufactura

  1. Kit de prueba de glucómetro
  2. Kit de modelo de juguete
  3. El kit de código abierto admite el mantenimiento predictivo
  4. El kit admite diseños de IoT de recolección de energía
  5. El kit proporciona la plataforma de desarrollo mmWave
  6. El kit de desarrollo simplifica la red de malla BLE
  7. Guía de conexión del kit de inicio de Raspberry Pi 3
  8. Hologram Nova Starter Kit
  9. Creación del kit de robot MonkMakes Raspberry Pi
  10. Intellisaurus - Kit de robot dinosaurio
  11. 8 cosas que debe saber sobre ISO 9000