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

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

En este tutorial aprenderemos a hacer un slider de cámara motorizado con cabeza pan & tilt. Este proyecto Arduino 100% DIY está construido con materiales económicos como MDF y contrachapado, controlado con Arduino, tres motores paso a paso, botones y un joystick en un PCB de diseño personalizado. A pesar de ello, el resultado final es impresionante, con movimientos de cámara super-suaves que permiten obtener tomas cinematográficas de aspecto profesional.

Puede ver el video siguiente o leer el tutorial escrito a continuación.

Resumen

Con el controlador podemos mover la cámara manualmente o definir puntos de inicio y fin para que la cámara se mueva automáticamente entre ellos. Además, usando el brazo de soporte podemos montar el slider incluso en un trípode pequeño, a cualquier ángulo, y conseguir movimientos estables.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Empecé diseñando el slider en software de modelado 3D.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Puede encontrar y descargar este modelo 3D con todas las dimensiones aquí, y explorarlo en su navegador en Thangs.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Enlace polea GT2 impresa 3D: Thingiverse

Construcción del Slider de Cámara

Empecé con los rieles del slider: tubos de cobre de 22 mm. Decidí 1 metro de longitud, así que corté dos piezas a 1 m. El cobre se oxida fácilmente, así que hay que pulirlo con pulidor metálico. Yo no tenía y usé pasta de dientes.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

No fue la solución perfecta pero se notó la diferencia y los tubos quedaron más limpios.

Luego hice la base de madera donde se fijan los tubos y que sirve para montar el slider en trípode. Con sierra circular corté dos piezas de contrachapado 21 mm y las encolé para obtener una pieza más gruesa. Con madera maciza hice réplica de la placa de montaje de mi trípode y la fijé con cola y tornillo. Ahora la base del slider se monta fácilmente en el trípode.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Monté los rieles a la base usando varillas roscadas de 8 mm: hice dos agujeros en la base e inserté varillas de 138 mm cortadas a medida. Luego taladré agujeros de 8 mm en los tubos (algo delicado).

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Hice una plantilla simple elevando un lápiz a 11 mm (mitad del diámetro del tubo). Fijé el tubo en superficie plana y marqué con la plantilla desde ambos lados para agujeros perfectamente alineados. Primero marqué con punta de tornillo afilado y luego taladré progresivamente con brocas de 2, 4, 6 y 8 mm.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Inserté los rieles por las varillas roscadas y los aseguré con arandelas y tuercas. De forma similar, con una pieza de contrachapado y varilla roscada fijé los extremos de los rieles.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

La plataforma deslizante: corté tablero MDF de 8 mm según modelo 3D. Hice agujeros de 8 mm para varillas roscadas donde irán los rodamientos. Ensamblé con cola y tornillos: taladré guías, avellané y atornillé tornillos de 3 mm.

Asegurados los paneles, continué con el sistema de rodamientos. Uso rodamientos 608Z (diámetro exterior 22 mm). Dos arandelas y una tuerca entre dos rodamientos crean la separación suficiente para buen contacto con los rieles de 22 mm.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Para mayor seguridad al usar el slider inclinado, añadí dos juegos más de rodamientos en la cara inferior de la plataforma. Al final la plataforma desliza perfectamente.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Al mover la plataforma en mi trípode pequeño, la cabeza no aguantaba el peso, así que hice un brazo de soporte para estabilizar. Con dos piezas de madera y tornillos/ tuercas hice una abrazadera que se fija a una pata del trípode.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

La abrazadera tiene un tornillo donde se fija el brazo de soporte. Hice una ranura en el brazo para posicionar el slider a distintos ángulos: taladré muchos agujeros de 6 mm juntos y luego limé líneas rectas. Este sistema de soporte funcionó perfectamente.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Añadí patas al slider por si no se usa trípode. Las hice de MDF 8 mm con sierra de mano y lima. Las fijé a los extremos con cola y dos tuercas.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Sistema Pan & Tilt

Construí las partes superiores del sistema pan & tilt que se montan sobre la plataforma deslizante. Con sierra circular corté todas las piezas según modelo 3D. Usé contrachapado para el mecanismo de bisagra de la plataforma de nivelación de la cámara (cuando el slider está inclinado), y tableros MDF con agujeros para motor y rodamientos del sistema de pan.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Instalé el motor paso a paso y correa dentada para la plataforma deslizante. En un lado de la plataforma fijé el motor con MDF y tornillos/pernos. En el otro extremo del slider fijé una polea tensora para instalar la correa. Con dos pernos y bridas aseguré la correa a la plataforma.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Con esto el mecanismo deslizante quedó completo.

Continué con las partes superiores de pan & tilt. Según modelo 3D, hice agujeros para motor y rodamientos, encolé y atornillé todo.

Un amigo me imprimió en 3D dos poleas de 80 dientes. Así logré reducción 5:1 respecto a la polea de 16 dientes en el motor.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Hice una correa dentada de lazo cerrado a mi medida: medí longitud necesaria, corté y pegué con cianocrilato y cinta encima. El cianocrilato funciona genial con goma; la correa cerrada funciona sin problemas.

Empecé el ensamblaje final de pan & tilt. Fijé el motor de tilt con pernos, puse los dos rodamientos en su sitio asegurándolos en las ranuras con epoxi. Fijé la plataforma de tilt sobre la de pan con pernos de 8 mm y a la vez monté la polea de 80 dientes con la correa.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

La correa quedó un poco floja, pero puse un rodamiento pequeño donde va el tornillo del motor para actuar como tensor. Funcionó y la correa tuvo tensión suficiente.

Fijé el motor de pan, puse rodamientos en la parte superior e inferior de la plataforma de nivelación. Inserté un tornillo a través, añadí rodamiento de empuje, polea de 80 dientes, correa, y encima la cabeza de tilt ya ensamblada. Aseguré con tornillo y ¡listo! La construcción mecánica del slider está completa.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Diagrama de Circuito

Viene la parte divertida: instalar la electrónica. Aquí el diagrama de circuito del proyecto DIY slider de cámara.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Tres motores paso a paso NEMA 17 controlados por tres drivers A4988. Para movimiento del slider usamos un potenciómetro en entrada analógica; para pan & tilt usamos módulo joystick (dos potenciómetros) en dos entradas analógicas. Otro potenciómetro ajusta velocidad del movimiento automático entre posiciones IN y OUT. Estas posiciones se definen con pulsador (con pull-up en pin digital). También hay pulsador de reset, interruptor de alimentación, conector de alimentación, final de carrera para el slider y dos LEDs indicadores de estado IN/OUT. Alimentación 9 o 12V.

Componentes necesarios:

Diseño PCB

Según el esquema diseñé PCB personalizado en EasyEDA para organizar la electrónica. El circuito tenía muchas conexiones, usé ambas capas y logré PCB funcional y estético. Generé archivo Gerber y pedí a JLCPCB (patrocinador).

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino
Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Subimos Gerber, revisamos en visor, seleccionamos propiedades y pedimos. Primer pedido: hasta 10 PCBs por $2.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Tras una semana llegaron los PCBs. Calidad excelente y es muy satisfactorio ver tu propio diseño fabricado.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Montaje de la Electrónica

Soldé pines header en el PCB para conectar/desconectar componentes fácilmente. Usé headers para todo salvo condensadores y resistencias (soldados directo). Soldé cables jumper a todos los componentes electrónicos.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Para la caja del controlador usé acrílico transparente de 4 mm para ver la electrónica. Sierra circular para cortar paneles. Taladro y fresas Forstner para huecos en panel frontal: botones, potenciómetros, interruptor, joystick. Ensamblé con epoxi 5 min. Para la tapa, puse dos tornillos por donde se inserta el panel frontal y se asegura con tuercas arriba.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Monté la electrónica: inserté Arduino y drivers A4988 en PCB. Luego fijé botones y demás componentes en panel frontal.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Conecté componentes a los headers correspondientes del PCB. En panel lateral puse conector alimentación, e hice agujero para pasar jumpers a drivers y motores, y final de carrera al final del slider.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Con termoretráctil organicé cables que salen de la caja. Finalmente, conecté controlador con tres motores paso a paso y final de carrera.

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Para alimentar usé tres baterías Li-ion 3,7V en serie (~11V). ¡El slider está listo y funciona perfectamente!

Slider de Cámara Motorizado DIY con Pan & Tilt – Proyecto Controlado por Arduino

Código Arduino Slider DIY Cámara

Queda ver el código Arduino y explicar su funcionamiento. Al ser largo, lo publicaré en secciones con descripción. Al final pondré el código completo.

El programa usa la librería AccelStepper de Mike McCauley, increíble para control fácil de múltiples motores paso a paso simultáneos. Incluimos esta librería y MultiStepper.h (parte de ella), definimos pines, instancias de steppers y variables.

#include <AccelStepper.h>
#include <MultiStepper.h>
#define JoyX A0 // Joystick eje X
#define JoyY A1 // Joystick eje Y
#define slider A2 // Potenciómetro slider
#define inOutPot A3 // Potenciómetro velocidad auto IN/OUT
#define JoySwitch 10 // Pulsador joystick
#define InOutSet 12 // Botón Set IN/OUT
#define limitSwitch 11 // Final de carrera
#define inLED 8 // LED IN
#define outLED 9 // LED OUT

// Motores paso a paso y pines (Tipo:driver, STEP, DIR)
AccelStepper stepper1(1, 7, 6); // Slider
AccelStepper stepper2(1, 5, 4); // Pan
AccelStepper stepper3(1, 3, 2); // Tilt
MultiStepper StepperControl; // Control multi-stepper

long gotoposition[3]; // Array posiciones IN/OUT por motor
int JoyXPos = 0, JoyYPos = 0, sliderPos = 0;
int currentSpeed = 100, inOutSpeed = 100;
int XInPoint = 0, YInPoint = 0, ZInPoint = 0;
int XOutPoint = 0, YOutPoint = 0, ZOutPoint = 0;
int InandOut = 0; // Máquina de estados

En setup() fijamos velocidades iniciales, modos de pin, añadimos los 3 steppers a StepperControl. Con bucles while hacemos homing: movemos slider hasta pulsar final de carrera (posición 0), luego retrocedemos 200 pasos para liberar el final de carrera.

void setup() {
  stepper1.setMaxSpeed(3000); stepper1.setSpeed(200);
  stepper2.setMaxSpeed(3000); stepper2.setSpeed(200);
  stepper3.setMaxSpeed(3000); stepper3.setSpeed(200);
  pinMode(JoySwitch, INPUT_PULLUP);
  pinMode(InOutSet, INPUT_PULLUP);
  pinMode(limitSwitch, INPUT_PULLUP);
  pinMode(inLED, OUTPUT);
  pinMode(outLED, OUTPUT);
  StepperControl.addStepper(stepper1);
  StepperControl.addStepper(stepper2);
  StepperControl.addStepper(stepper3);
  // Homing
  while (digitalRead(limitSwitch) != 0) {
    stepper1.setSpeed(3000); stepper1.runSpeed();
    stepper1.setCurrentPosition(0);
  }
  delay(20);
  while (stepper1.currentPosition() != -200) {
    stepper1.setSpeed(-3000); stepper1.run();
  }
}

En loop() limitamos movimiento: no hacer nada si final de carrera pulsado o distancia > 80 cm en dirección opuesta.

while (digitalRead(limitSwitch) == 0 || stepper1.currentPosition() < -64800) {}

Pulsando el botón del joystick aumentamos velocidad pan/tilt.

if (digitalRead(JoySwitch) == 0) {
  currentSpeed = currentSpeed + 50; delay(200);
}

Botón Set para definir posiciones IN/OUT (máquina de estados InandOut):

Control Pan/Tilt con joystick: valor analógico 0-1024 (centro ~500). Si >600 → velocidad positiva; si <400 → negativa; centro → 0. Igual para eje Y (tilt).

// Joystick X - Pan
JoyXPos = analogRead(JoyX);
if (JoyXPos > 600) stepper2.setSpeed(currentSpeed);
else if (JoyXPos < 400) stepper2.setSpeed(-currentSpeed);
else stepper2.setSpeed(0);

// Joystick Y - Tilt
JoyYPos = analogRead(JoyY);
if (JoyYPos > 600) stepper3.setSpeed(currentSpeed);
else if (JoyYPos < 400) stepper3.setSpeed(-currentSpeed);
else stepper3.setSpeed(0);

Control slider con potenciómetro: similar pero mapeando valor analógico a rango velocidad 0-3000 según giro.

sliderPos = analogRead(slider);
if (sliderPos > 600) {
  sliderPos = map(sliderPos, 600, 1024, 0, 3000);
  stepper1.setSpeed(sliderPos);
} else if (sliderPos < 400) {
  sliderPos = map(sliderPos, 400, 0, 0, 3000);
  stepper1.setSpeed(-sliderPos);
} else stepper1.setSpeed(0);

Finalmente ejecutamos los comandos:

stepper1.runSpeed();
stepper2.runSpeed();
stepper3.runSpeed();

Código completo al final del artículo original.

¡Eso es todo! Espero que hayan disfrutado este proyecto Arduino y aprendido algo nuevo. Pregunten en comentarios y vean mi Colección de Proyectos Arduino.

Proceso de manufactura

  1. Controlador de Slider Motorizado para Cámara con Bluetooth y Arduino para Tomas Cinematográficas Suaves
  2. Crea un Impresionante Sistema Ambilight para Monitor con Arduino
  3. Sistema de Asistencia RFID Fiable con Arduino y Python
  4. Construye un Voltímetro Inteligente con Arduino y Smartphone – Proyecto DIY Fácil
  5. Construye un voltímetro DIY con Arduino y pantalla Nokia 5110 – Guía paso a paso
  6. Autómatas Celulares en Tiempo Real con Arduino y Pantalla OLED 128x64
  7. Tacómetro Arduino de Alta Velocidad – Algoritmo "Single-Shot" para RPM Preciso
  8. Construye una Radio FM Compacta con Arduino Nano y RDA5807M
  9. Sistema de control de asistencia RFID en tiempo real con Arduino y Google Sheets
  10. Genera Tonos Musicales con Arduino: Guía Paso a Paso
  11. Construye un Monitor de Energía Inteligente Fiable con Arduino UNO – Guía Paso a Paso