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

Proyecto Interactivo de Motores Servo con Arduino y Sensores HC-SR04

Componentes y suministros

Arduino UNO×1
Controlador PWM de 16 canales para servos (Adafruit)×3
Motor micro-servo SG90×36
Fuente de alimentación conmutada 5V 30W×1
Extensiones de cable para servos×1
Tablero perforado 60×120 cm×1
Palitos de helado, cortados a 8,25 cm×36
Sensor ultrasónico HC-SR04 (opcional)×5

Herramientas necesarias

Aplicaciones y servicios online

Sobre el proyecto

El video muestra la acción de 36 motores servo creando una obra de arte electrónica. Un Arduino Uno y tres controladores PWM de 16 canales trabajan entre bastidores. La inspiración original fue una versión mucho mayor con 450 servos vista en un museo de arte moderno, pero incluso esta versión pequeña con solo 36 servos proporciona efectos interesantes.

Existe una característica opcional no mostrada en el video que puede añadirse para hacer la pantalla interactiva. Es totalmente opcional y el software funciona bien sin ella. Para esta opción, cinco sensores ultrasónicos de distancia se montan a lo largo del borde superior trasero de la pantalla. Al colocar la mano sobre el sensor central, el Uno entra en modo interactivo y todos los servos intentan seguir la mano mientras se mueve sobre los sensores. Al retirar la mano durante unos segundos, el programa vuelve a su modo de exhibición automático.

Hardware

El proyecto se construyó sobre un tablero perforado de 60×120 cm, recortado a 81 cm de ancho. Los servos se montan cada 10 cm y se fijan a la parte trasera del tablero con silicona caliente. Los palitos de helado, cortados a 8,25 cm, se montan en los ejes de los servos, también con silicona caliente.

Los motores servo SG90 son el único elemento costoso. Se pueden conseguir juegos de 8 por 20€ en Amazon. Aun así, se necesitan unos 100€ en servos. Se supone que todos los SG90 son de 180°, pero la mayoría no llegan; algunos se quedan muy cortos y deben desecharse. Comprando 5 juegos de 8, deberías encontrar 36 buenos que recorran al menos 160°.

Los servos deben ponerse en su posición mínima (PWM 150) y los palitos montados apuntando horizontalmente hacia la derecha en esa posición mínima, vistos desde el frente. Se incluye un pequeño programa para asegurar esta posición: SetServosToMinimum.

Proyecto Interactivo de Motores Servo con Arduino y Sensores HC-SR04

La foto muestra la disposición trasera. Los tres controladores PWM están a la izquierda de los servos. La fuente de 30W 5V está a la derecha. El Arduino se alimenta aparte mediante un adaptador USB, lo que permite desconectar el cable USB y, mediante una extensión, conectarlo al ordenador para cambios de programa. Puede parecer extraño, pero resulta muy cómodo.

También se ven los sensores ultrasónicos opcionales montados en el borde superior. Se usaron silicona caliente y palitos extra para fijarlos. La pequeña placa de prototipado bajo el Arduino solo sirve para distribuir alimentación y masa a todos los sensores.

Software

Se usa la librería Adafruit PWM Servo Driver para manejar los controladores de 16 canales; hay que instalarla desde el gestor de librerías de Arduino. El software funciona con o sin los sensores ultrasónicos opcionales. Presenta una variedad de efectos en un espectáculo que dura un poco más de tres minutos antes de repetirse. Si los sensores están instalados, entrará en modo interactivo al detectar una mano sobre el sensor central.

El software tiene bastante complejidad; no lo explicaré todo, pero daré una idea de su funcionamiento. Uso dos tablas: curPos almacena la posición actual de cada servo dividida entre tres, y tarPos la posición objetivo también dividida entre tres. Se dividen por 3 para que quepan en un byte y porque siempre muevo los servos en incrementos de 3 pasos.

Al inicio, el Uno no conoce las posiciones de los servos, así que la rutina setup pone todos en posición vertical e iguala curPos y tarPos a esa posición. A partir de ahí, movemos los servos cambiando los objetivos en tarPos.

La subrutina goToTargets() es la forma principal de mover los servos. Controlamos a dónde van estableciendo los objetivos en tarPos, y la velocidad con goToTargets. Tiene dos formas de controlar la velocidad: mueve los servos hacia sus objetivos en incrementos de 15 pasos, donde el parámetro reps da múltiplos de 15 pasos; el otro parámetro es mydelay, que añade un retraso en milisegundos a cada llamada.

El resto son configuraciones e implementaciones de los distintos efectos. La función interactiva opcional la maneja la subrutina trackRoutine, llamada cuando goToTarget detecta un objeto (tu mano) sobre el sensor ultrasónico central. Intenta que todos los servos sigan el movimiento de la mano mientras se desplaza sobre los sensores. Si no detecta mano durante unos segundos, retorna y reanuda el programa normal.

Código

Software ServosArt para Arduino Uno
No hay vista previa (solo descarga).

Esquemáticos

Conexión del Uno y los servos a través de tres controladores de 16 canales.

Proyecto Interactivo de Motores Servo con Arduino y Sensores HC-SR04

Conexión de 5 sensores ultrasónicos al Uno para seguimiento de mano.

Proyecto Interactivo de Motores Servo con Arduino y Sensores HC-SR04

Proceso de manufactura

  1. Servicios profesionales de reparación de servomotores Fanuc
  2. Reparación Profesional de Servomotores Siemens: Servicio Rápido y Fiable
  3. Guía Experta: Reparación y Diagnóstico de Servomotores
  4. Raspoulette: Sistema autónomo de puerta de gallinero alimentado por energía solar – Prototipo
  5. Simple Pi Robot: Construye un Rover Autónomo 2‑WD con Raspberry Pi
  6. Kit MOSMusic: Control de Iluminación de Alta Potencia Sincronizada con Música vía MOSFET y Arduino
  7. Entendiendo los Motores Lineales: De Energía Eléctrica a Movimiento Lineal Preciso
  8. Por Qué los Reductores Planetarios Mejoran el Rendimiento de Motores Servo
  9. Fundamentos de la Prensa Servo: Potencia, Precisión y Eficiencia Explicadas
  10. Motores servo: funcionamiento, tipos y por qué son importantes
  11. Entendiendo los reductores para servomotores: funciones, beneficios y aplicaciones