Brazo Robótico Soldador Automatizado: Precisión, Velocidad y Guía DIY
Componentes y Suministros
| Motor paso a paso 28BYJ-48 + driver ULN2003 | 1 |
| Arduino UNO | 1 |
| Servo TowerPro MG955 (engranajes metálicos) | 1 |
| LCD I2C 1602 | 1 |
| Módulo Step-Down (buck converter) | 1 |
| Motor paso a paso NEMA 17 (OpenBuilds) | 1 |
Herramientas y Máquinas
- Cortadora láser (chasis)
- Dremel + fresas (mecanizado)
Software
- Arduino IDE
- Microsoft Visual Studio 2015 (posible interfaz PC)
Sobre el Proyecto
Introducción
La idea surgió al investigar brazos robóticos para soldadura automatizada. Pocos proyectos cubren este nicho. Experiencia previa en proyectos similares, pero este resultó **muy útil y efectivo**.
Diseño inspirado en aplicaciones industriales y proyectos open-source. Cada pieza diseñada en **Google SketchUp 2017 Pro** para ensamblaje secuencial.

Paso 1: Diseño
Modelado 3D completo para verificar dimensiones, elección de soldador, interferencias. Guía para fabricación.
Paso 2: Problemas y Soluciones
- Brazos pesados para motores pequeños: Rediseño v2: brazos más ligeros, corte láser optimizado.
- Fricción base plástico-plástico: Movimientos bruscos.
- Intento 1: Motor mayor (NEMA 17) + rediseño base. No resolvió: fricción intrínseca plástico + límite corriente driver mal ajustado (medir tensión en potenciómetro, no girar a ciegas).
- Solución final: **Rediseño total base + servo MG955 engranajes metálicos** (alto par).
- Alimentación: Arduino admite 7-12V (jack DC / Vin), 5V (USB), pero pines 5V/3.3V **bypassean regulador**. Usamos cable USB especial 5V + **módulo step-down (buck)** para estabilizar 5V a motores y lógica.

Paso 3: Modificaciones v2


Brazos acortados, alojamiento servo base. Servo MG955 gira 180° con carga gracias a alto par. I2C para LCD: solo 2 pines, permite múltiples dispositivos (hasta 8 LCDs en mismo bus).
Paso 4: Pinza / Soporte Soldador

Servo MG955 (engranajes metálicos) soporta peso soldador. Problema vibración servo resuelto con límites mecánicos:
servo.attach(9, 1000, 2000); // rango pulsos µs
servo.write(constrain(angle, 10, 160)); // limita ángulo software
No todos los servos llegan a 180° reales. Método: prueba con servo.writeMicroseconds() (600-2400µs) para encontrar límites reales (zumbido = tope). Usa servo.attach(pin, min, max) y constrain().
Paso 5: Programación

Librerías usadas:
#include
#include
#include
#include
#include

Código: Control 3 Ejes (X, Y, Z)
#include "AccelStepper.h"
AccelStepper stepperX(1, 2, 3); // Interfaz EasyDriver: STEP=2, DIR=3
AccelStepper stepperZ(1, 5, 6); // STEP=5, DIR=6
AccelStepper stepperY(1, 7, 8); // STEP=7, DIR=8 (corregido: era 7,8,9)
long TravelX, TravelZ, TravelY;
int move_finished=1;
void setup() {
Serial.begin(9600);
Serial.println("Distancia viaje separada por comas: X,Z,Y");
Serial.print("Introduce valores: ");
stepperX.setMaxSpeed(500); stepperX.setAcceleration(500);
stepperZ.setMaxSpeed(250); stepperZ.setAcceleration(250);
stepperY.setMaxSpeed(250); stepperY.setAcceleration(250);
}
void loop() {
if(Serial.available()>0){
move_finished=0;
TravelX=Serial.parseInt(); Serial.print(TravelX); Serial.print(" X, ");
TravelZ=Serial.parseInt(); Serial.print(TravelZ); Serial.print(" Z, ");
TravelY=Serial.parseInt(); Serial.print(TravelY); Serial.println(" Y");
stepperX.moveTo(TravelX);
stepperZ.moveTo(TravelZ);
stepperY.moveTo(TravelY);
delay(1000);
Serial.print("Moviendo ejes...");
}
if(stepperX.distanceToGo()!=0 || stepperZ.distanceToGo()!=0 || stepperY.distanceToGo()!=0){
stepperX.run(); stepperZ.run(); stepperY.run();
}
if(move_finished==0 && stepperX.distanceToGo()==0 && stepperZ.distanceToGo()==0 && stepperY.distanceToGo()==0){
Serial.println("COMPLETADO!");
Serial.println("Próximos valores (0,0,0 para reset): ");
move_finished=1;
}
}
Esquemático

Proceso de manufactura
- Control Remoto IoT de Brazo Robótico Personalizado con Arduino MKR1000 y ThingSpeak
- Brazos Robóticos Industriales: Impulsando la Revolución Manufacturera
- Celdas FlexLoader de ABB automatizan tending de piezas, aumentan eficiencia y reducen costes
- Mercado de robots SCARA alcanzará $14,78 mil millones para 2026, impulsando crecimiento de automatización
- Cómo se construyen los brazos robóticos: diseño y funcionamiento
- Cómo los brazos robóticos industriales transforman la fabricación: beneficios clave explicados
- Motores servo en brazos robóticos: Función, ventajas e impacto
- Makerarm: El brazo robótico todo-en-uno de escritorio para makers
- Controles de motor precisos para sistemas robóticos avanzados
- Infineon presenta controlador de motor IMC300 con Arm Cortex-M0 integrado para mayor flexibilidad
- Trinamic y Maxim Integrated lanzan diseño referencia para acelerar desarrollo end-of-arm tooling en robótica industrial