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

Arte del servomotor

Componentes y suministros

Arduino UNO
× 1
Controlador de servomotor PWM de 16 canales Adafruit
× 3
Micro-servo motor SG90
× 36
Fuente de alimentación conmutada de 5 voltios y 30 vatios
× 1
Extensiones de cable de servomotor
× 1
Tablero de clavijas de 24 x 48 pulgadas
× 1
Palitos de paleta, cortados a 3 1/4 pulgadas
× 36
Sensor ultrasónico - HC-SR04 (genérico)
Estos componentes son opcionales; solo se requieren si agrega la función interactiva.
× 5

Herramientas y máquinas necesarias

Soldador (genérico)
Pistola de pegamento caliente (genérica)

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

El siguiente video muestra la acción cuando 36 servomotores crean una obra de arte electrónica. Un Arduino Uno y tres servocontroladores PWM de 16 canales están trabajando detrás de escena. La inspiración original para esto fue una versión mucho más grande con 450 servos que vi en un museo de arte moderno. Pero incluso esta pequeña versión con solo 36 servos proporciona algunos efectos interesantes.

Hay una función opcional que no he mostrado en el video, pero se puede agregar para que la pantalla sea interactiva. Es puramente opcional y el software funcionará bien sin él. Para esta opción, se montan cinco sensores ultrasónicos de distancia a lo largo de la parte trasera del borde superior de la pantalla. Cuando coloca su mano sobre el sensor central, el Uno entra en modo interactivo y todos los servos intentan seguir su mano mientras la mueve por encima de los sensores de distancia. Cuando quita la mano durante unos segundos, el programa vuelve a mostrar su pantalla. Nuevamente, puede agregar esta opción si lo desea. Si no lo hace, el software funcionará bien sin él.

Hardware

Como puede ver, este proyecto se construyó sobre un tablero de clavijas de 24 "por 48". El ancho se redujo a 32 pulgadas. Los servos se montan a 4 pulgadas de distancia y se aseguran a la parte posterior del tablero de clavijas con pegamento caliente. Los palitos de helado, cortados a 3 1/4 pulgadas, se montan en los ejes de los servos, nuevamente usando pegamento caliente.

Los servomotores SG90 son el único elemento costoso de este proyecto. Puede obtener un juego de 8 por $ 20 en Amazon. Aun así, necesitas invertir $ 100 en servos. Se supone que los SG90 son todos servos de 180º, pero la mayoría no lo logran. Algunos se quedan cortos y deben descartarse. Si compra 5 juegos de 8, debería poder encontrar 36 productos que viajen al menos 160º.

Los servos deben establecerse en su posición mínima (posición en PWM 150), y los palitos de paleta montados apuntando horizontalmente y hacia la derecha en esta posición mínima, como se ve desde el frente. He proporcionado un pequeño programa que puede usar para asegurarse de que los servos estén en esta posición mínima:SetServosToMinimum.

La foto de arriba muestra el diseño de la parte trasera. Los tres controladores PWM están montados en el lado izquierdo de los servos. El suministro de 30 vatios y 5 voltios está en el extremo derecho. El Arduino se alimenta por separado a través de un adaptador de corriente USB. Lo hago de esa manera solo para poder desconectar el cable USB y, a través de un cable de extensión USB, enchufarlo a mi computadora para cambios de programa. Parece un poco extraño, pero lo encuentro conveniente.

También puede ver los sensores de distancia por ultrasonidos opcionales montados en la parte superior de la pantalla. Se empleó pegamento caliente y palitos de paleta adicionales para montarlos. La pequeña placa de creación de prototipos que ve debajo del Uno está ahí simplemente para facilitar la alimentación y la conexión a tierra de todos los sensores de ultrasonido.

Software

Estoy usando la biblioteca de servocontroladores PWM de Adafruit para manejar los servocontroladores de 16 canales, por lo que deberá obtenerlo de Adafruit e instalarlo en las bibliotecas de Arduino. Mi software se puede usar tal cual con o sin los sensores ultrasónicos opcionales. Presenta una variedad de efectos en un espectáculo que dura poco más de tres minutos antes de repetirse. Si los sensores opcionales están instalados, entrará en modo interactivo cada vez que se coloque una mano del sensor central.

Hay muchas cosas en el software. No intentaré explicarlo todo aquí, pero te daré un poco de información sobre cómo funciona. Tengo dos mesas. La tabla curPos almacena la posición actual de cada servo dividida por tres. La tabla tarPos almacena la posición deseada de cada servo dividida por tres. Se dividen entre 3 por dos razones. Primero, permite que se almacenen en un byte, y segundo, siempre estoy moviendo los servos en incrementos de 3 pasos.

El Uno no conoce inicialmente las posiciones de cada servo, por lo que la rutina de configuración establece todos los servos en una posición vertical y establece todas las variables curPos y tarPos para que coincidan con esa posición vertical. Luego podemos mover los servos desde allí a otras posiciones cambiando las posiciones deseadas en tarPos.

Una subrutina llamada goToTargets () es la forma principal en que se mueven los servos. Controlamos a dónde van los servos estableciendo los objetivos en tarPos, luego podemos controlar qué tan rápido van allí con la rutina goToTargets. Tiene dos formas de controlar la velocidad. Mueve los servos hacia sus objetivos en incrementos de 15 pasos, donde la entrada de repeticiones a la subrutina le da múltiplos de 15 pasos. La otra entrada es mydelay, que solo agrega un retraso en milisegundos a cada llamada de goToTargets.

Hay muchas otras cosas, pero básicamente todo lo demás son solo varias configuraciones e implementaciones de los diversos efectos presentados.

La función interactiva opcional es manejada por una subrutina llamada trackRoutine. Se llama cuando la rutina goToTarget ve un objeto (su mano) en algún lugar sobre el sensor ultrasónico central. Intenta hacer que todos los servos sigan el movimiento de su mano mientras se mueve sobre los sensores. Cuando no ha detectado una mano durante unos segundos, regresa y el programa normal se reanuda.

Código

  • Software ServosArt para Arduino Uno
Software ServosArt para Arduino Uno Arduino
 Sin vista previa (solo descarga). 

Esquemas

Muestra cómo Uno y los servos se conectan a través de tres controladores de 16 canales Conecta 5 sensores de distancia ultrasónicos a Uno para permitir que los servos sigan el movimiento de la mano.

Proceso de manufactura

  1. Prototipo de Raspoulette
  2. Robot Pi simple
  3. Expertos en reparación de servomotores Fanuc
  4. Expertos en reparación de servomotores Siemens
  5. Consejos para reparaciones de servomotores y solución de problemas
  6. MOSMusic
  7. ¿Qué es un motor lineal?
  8. La belleza de la caja de cambios planetaria para servomotor
  9. Una introducción a la servoprensa
  10. ¿Qué es un servomotor?
  11. ¿Qué es el servomotor reductor?