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

Construye un Avión RC Completo con Arduino desde Cero

En este tutorial muestro cómo construí un avión RC basado en Arduino, y cómo controlarlo con el mando Arduino personalizado que construí en video anterior.

Video o tutorial escrito abajo.

Resumen

Avión enteramente de espuma (Styrofoam). Formas cortadas con mi Máquina CNC Corte Espuma Arduino (tutorial previo). Aunque uso CNC, es 100 % DIY porque la CNC también es DIY.

Control 100 % DIY: Arduino + módulo radio NRF24L01.

Construye un Avión RC Completo con Arduino desde Cero

Joystick derecho → alerones y elevador. Joystick izquierdo → timón y motor.

Construye un Avión RC Completo con Arduino desde Cero

Potenciómetro derecho → sensibilidad controles / reducir recorrido servos. Potenciómetro izquierdo → sub-trim timón / posición neutra servo.

Construye un Avión RC Completo con Arduino desde Cero

Y la característica principal: ¡vuela!

Diseño del Avión RC – Modelo 3D

Diseño en Fusion 360. Miré aviones RC comerciales y seguí reglas básicas de diseño aeromodelismo.

Construye un Avión RC Completo con Arduino desde Cero

Punto partida: envergadura 80 cm. Longitud fuselaje ≈ 75 % envergadura. Perfil alar (airfoil): CLARK Y, popular en RC.

Construye un Avión RC Completo con Arduino desde Cero

Descargué perfil de airfoiltools.com (.SVG) → importé a Fusion 360. Ajusté tamaño: cuerda alar ≈ 1/5 envergadura.

Construye un Avión RC Completo con Arduino desde Cero

Estabilizadores horizontal/vertical según mismas reglas. Parámetros básicos diseño:

Construye un Avión RC Completo con Arduino desde Cero

Fuselaje: dos lados 10 mm + núcleo 50 mm hueco (electrónica).

Modelo 3D descargable (2 versiones: v1 = imágenes; v2 = morro menor, motor más adelantado para mejor flujo).

Generación G-codes para CNC Corta Espuma DIY

Mi CNC área trabajo 45 cm; fuselaje 60 cm → 2 piezas.

Construye un Avión RC Completo con Arduino desde Cero

Corté fuselaje a 34 cm del morro, nuevo sketch con forma proyectada + punto cerca. En pestaña Manufacturing Fusion 360 genero G-code.

Construye un Avión RC Completo con Arduino desde Cero

Nuevo setup: sketch como modelo, punto añadido = origen, ejes X/Y ajustados.

Construye un Avión RC Completo con Arduino desde Cero

Operación 2D Contour. Herramienta nueva: diámetro 3 mm (tamaño corte hilo caliente). Avance corte: 150 mm/min (depende hilo/espuma).

Pestaña Geometry: seleccionar contorno. Heights: todo 1 mm (sin eje Z en mi CNC). Linking: entrada cerca origen.

Construye un Avión RC Completo con Arduino desde Cero

Simulación → trayectoria bucle cerrado pasada única → Post Process: GRBL, carpeta salida, nombre, Post.

Construye un Avión RC Completo con Arduino desde Cero

Guardar archivo → ver G-code en WordPad o similar.

Construye un Avión RC Completo con Arduino desde Cero

Cargar G-code en Universal G-code Sender → enviar a CNC.

Construye un Avión RC Completo con Arduino desde Cero

Proceso no profesional pero funciona para mi CNC DIY. Detalles CNC en tutorial dedicado (enlace en descripción video).

Descarga G-codes aquí:

Lados: espuma 1 cm. Núcleo: 5 cm.

Construye un Avión RC Completo con Arduino desde Cero

Ala: espuma 10 cm, cortada ~30 cm ancho (máx. mi máquina). 2 perfiles ala en 1 G-code, corté varios.

Construye un Avión RC Completo con Arduino desde Cero

Envergadura 80 cm → pegar 3 piezas 27 cm. Corté extremos a mano para perpendicularidad.

Montaje del Avión RC

Piezas cortadas: 3 frontal, 3 trasero, 3 ala. Montaje con pistola pegamento caliente (funde un poco espuma pero funciona).

Construye un Avión RC Completo con Arduino desde Cero
Construye un Avión RC Completo con Arduino desde Cero

Otra opción: epoxi 5 min. Antes de pegar otro lado, hice soporte motor. Perfil aluminio 30 mm (ligero). Corté ~18 cm, marqué/taladré agujeros motor (broca 3 mm), doblé 90°. Motor atornillado M3.

Construye un Avión RC Completo con Arduino desde Cero

Con este conjunto hice agujero en parte frontal espuma. Cuchilla → agrandar a 30 mm (diámetro motor).

Otro lado soporte: 4 agujeros (fijar soporte + tren aterrizaje). Marcados en fuselaje, taladrados 4 mm a mano. Otra pieza aluminio 7 cm mismos agujeros → fija soporte motor.

Construye un Avión RC Completo con Arduino desde Cero

Tornillos M4 fijan soporte sin dañar espuma. Lo quité y seguí pegando otro lado. Mismo método parte trasera.

Unión frontal-trasero: palitos brocheta entre medias para reforzar.

Construye un Avión RC Completo con Arduino desde Cero

Sugiero palos mayores (al estrellarse rompe fácil). Buena cantidad pegamento caliente, apreté. Fuselaje listo, queda chulo.

Construye un Avión RC Completo con Arduino desde Cero

Estabilizadores: cuchilla → 2 piezas 10 mm espuma. Biselé bordes (estética + aerodinámica). Pegado directo a cola pero antes superficies de control.

Construye un Avión RC Completo con Arduino desde Cero

Corté ~1/3 longitud = superficie control (elevador horizontal, timón vertical). Biselé superficie contacto para bisagra. Cuchilla afilada para corte limpio.

Más aerodinámica: lija → bordes ataque redondeados, salida ligeramente lijados.

Construye un Avión RC Completo con Arduino desde Cero

Espuma frágil → envolví todo estabilizadores+superficies con cinta embalaje. Refuerza + aerodinámica (cinta más lisa).

Construye un Avión RC Completo con Arduino desde Cero

Timón: corte inferior 45° para hueco elevador.

Construye un Avión RC Completo con Arduino desde Cero

Bisagra con cinta: une ambas partes → bisagra fuerte.

Construye un Avión RC Completo con Arduino desde Cero

Mismo proceso estabilizador horizontal. Cinta también en otro lado para más fuerza. Cinta en laterales → estabilizadores listos.

Construye un Avión RC Completo con Arduino desde Cero

Pegué horizontal a fuselaje (pegamento caliente). Vertical: 3 palitos brocheta insertados/pegados a través horizontal+fuselaje, pegamento encima, presioné firme.

Construye un Avión RC Completo con Arduino desde Cero

Estabilizadores listos. Ala.

Ala = 3 piezas (límite CNC). Palitos brocheta refuerzo al pegar. Para alinear: tira madera recta donde deslizar piezas.

Construye un Avión RC Completo con Arduino desde Cero

Ala frágil (larga y fina) → refuerzo: palo madera. Corté a medida, marqué bolsillo en ala, cuchilla → hueco lento/cuidado. Pegamento + palo sin alterar perfil alar.

Construye un Avión RC Completo con Arduino desde Cero

Ala más fuerte. Aún rompería al impactar → envuelta toda en cinta embalaje (como estabilizadores). Desde borde salida (trailing edge) a borde ataque (leading edge).

Construye un Avión RC Completo con Arduino desde Cero

Así aire entrante no despega cinta. Proceso fácil pero requiere mano firme/paciencia. Ala perfecta: fuerte, aerodinámica, bonita.

Alerones: 22 cm ancho, ~1/4 cuerda. Corté ~0,5 cm para movimiento libre.

Construye un Avión RC Completo con Arduino desde Cero

Bordes expuestos → cinta. Bisel inferior alerón 45°, bisagra con cinta (método anterior). Hueco central ala para encaje en fuselaje.

Construye un Avión RC Completo con Arduino desde Cero

Servos alerones: micro servos 9g. Marqué posición, cuchilla → hueco en ala. Quité soportes servo (forma simple). Pegamento + inserción.

Construye un Avión RC Completo con Arduino desde Cero

Cuchilla → ranura servo-centro ala para cableado. Cubrí con cinta. Mismo proceso otro lado.

Pernos control (control horns): perfil aluminio (mismo que soporte motor). Dibujé a mano aprox. altura perno servo + sobresalga bisagra. Sierra arco → corte.

Construye un Avión RC Completo con Arduino desde Cero

Varilla acero 2 mm → agujero 2,5 mm en perno. Ranura en alerón + pegamento perno. Medí varilla (servo en neutro) → varilla 2 mm con alicates.

Construye un Avión RC Completo con Arduino desde Cero

Neutro: manual centro rango, o tester servo, o Arduino. Repetí otro lado. Ala completada.

Servos timón+elevador: mismos 9g, proceso idéntico. Marqué, hueco cuchilla, pegué ambos (ejes salida opuestos).

Construye un Avión RC Completo con Arduino desde Cero

Ranura fuselaje para cables → compartimento electrónica. Cinta sobre servos + huecos pernos. Pernos + pegamento. Varillas correspondientes.

Construye un Avión RC Completo con Arduino desde Cero

Tren aterrizaje: 2 varillas madera 8 mm. Agujeros manuales broca 6 mm. Sobresalen ~1 cm cada lado. Pegamento caliente a fuselaje.

Construye un Avión RC Completo con Arduino desde Cero

Sujeción ala-fuselaje: gomas elásticas. Ala extraíble + gomas absorben impacto en choque. Montaje fuerte.

Construye un Avión RC Completo con Arduino desde Cero

Tren aterrizaje: perfil aluminio + ruedas espuma (CNC). Ranuras perfil para doblar fácil. Aspecto final:

Construye un Avión RC Completo con Arduino desde Cero

Ruedas: tornillos M5 + tubo aluminio 6 mm int. Tubo fijo a soporte M5 tuerca, arandelas M5 lados → rueda gira libre. Misma rueda trasera.

Construye un Avión RC Completo con Arduino desde Cero

Componentes listos. Electrónica ahora.

Electrónica Avión RC Arduino – Diagrama de circuito

Transmisor y Receptor custom basados en Arduino Pro Mini.

Construye un Avión RC Completo con Arduino desde Cero

Tutoriales detallados transmisor/receptor previos. Aquí: diagrama y principio funcionamiento.

Construye un Avión RC Completo con Arduino desde Cero

Componentes:

  • NRF24L01 + PA + LNA …………..…..…….
  • Arduino Pro Mini………………..……….…..
  • Servomotor ……………………………………
  • Motor Brushless ………………………..……
  • ESC 30A ……………………………….…………
  • Batería Li-Po ……………………..……………

Radio: módulos NRF24L01. Transmisor DIY: joysticks, potenciómetros, botones → envía datos constantemente. Receptor: recibe vía NRF24L01 → comanda servos y motor brushless.

Control servos/motor brushless con Arduino = simple. Concepto avión RC Arduino no difícil.

Motor brushless: 1000 KV, ESC 30A. ESC alimenta motor + Arduino/servos vía BEC (5 V). Potencia ESC+motor: LiPo 3S.

Extra: LED indicador batería baja. Divisor tensión: 12 V LiPo → ~5 V para entrada analógica Arduino → detectar < 11 V. Receptor tiene canales libres → añadir funciones: luces estroboscópicas, flaps, mecanismos lanzamiento…

Finalizando montaje

Conectado según diagrama. Canal 1 = timón, 2 = elevador, 3 y 4 = alerones, 6 = LED. LED y interruptor en lados opuestos.

Construye un Avión RC Completo con Arduino desde Cero

Tren aterrizaje atornillado a soporte motor (2 tornillos). Inserto motor+soporte por apertura superior, atornillo, pongo tren. Al insertar, gomas sujetan batería.

Construye un Avión RC Completo con Arduino desde Cero

Conecté batería a ESC, metí todo. Cables extensión → conectar alerones ala a receptor, fijar ala con gomas.

Construye un Avión RC Completo con Arduino desde Cero

Hélice en motor. Queda: comprobar CG (centro de gravedad).

Construye un Avión RC Completo con Arduino desde Cero

CG = factor crítico para volar bien o volar.

Construye un Avión RC Completo con Arduino desde Cero

Inicialmente cola pesada → batería al morro + peso (tornillos/tuercas) → equilibrado.

Construye un Avión RC Completo con Arduino desde Cero

¡Avión RC Arduino listo! Probemos fuera.

Pruebas del Avión RC Arduino

Primer vuelo (maiden) no fue bien. Resultado del choque:

Construye un Avión RC Completo con Arduino desde Cero

Conclusión: seguía cola pesada y motor parecía falto de potencia. Sin otro motor/hélice, modifiqué morro: más pequeño, motor más adelantado (mejor flujo), bordes redondeados. Refuerzo estructura: palos madera + perfiles aluminio pegados dentro fuselaje.

Construye un Avión RC Completo con Arduino desde Cero

Fondo compartimento electrónica: 2 agujeros (aire escape frontal + antena NRF24L01 fuera para mayor alcance).

Intento 2: similar, pero mejor flujo/potencia.

Construye un Avión RC Completo con Arduino desde Cero

Fuselaje rompió de nuevo → espuma débil. Nuevo fuselaje con cinta duct tape reforzando.

Intento 3: prometedor pero terreno despegue malo. Avión se fue a derecha, golpeó borde camino, rompió.

Reparé + cinta duct + cinta embalaje casi todo fuselaje. ¡Debería haberlo hecho antes! Dio resistencia correcta: no rompió tras varios choques más.

Construye un Avión RC Completo con Arduino desde Cero

Problema: rompí 4 hélices → usé hélice pegada. Se deshizo en despegue.

Otra hélice pegada de 2 rotas → ¡suerte! Avión despegó bien.

Construye un Avión RC Completo con Arduino desde Cero

Suerte duró poco: hélice rompió en vuelo.

Construye un Avión RC Completo con Arduino desde Cero

Como primera experiencia volando RC, considero proyecto exitoso: probé concepto sistema 100 % Arduino para control RC.

Controles del mando muy bruscos: joysticks malos (poco recorrido, mala respuesta).

Construye un Avión RC Completo con Arduino desde Cero

Solución en software: potenciómetro derecho → sensibilidad controles; potenciómetro izquierdo → trim timón.

Código Avión RC Arduino

Código = mismo que tutorial previo (control servos/motor brushless con NRF24L01).

Código completo:

/* Arduino RC Airplane == Receiver Code = by Dejan, www.HowToMechatronics.com Library: TMRh20/RF24, https://github.com/tmrh20/RF24/ */ #include  #include  #include  #include  #define led 9 RF24 radio(3, 2); // nRF24L01 (CE, CSN) const byte address[6] = "00001"; unsigned long lastReceiveTime = 0; unsigned long currentTime = 0; Servo throttle; // objeto servo para controlar ESC Servo rudderServo; Servo elevatorServo; Servo aileron1Servo; Servo aileron2Servo; int throttleValue, rudderValue, elevatorValue, aileron1Value, aileron2Value, travelAdjust; // Max struct 32 bytes - límite buffer NRF24L01 struct Data_Package { byte j1PotX; byte j1PotY; byte j1Button; byte j2PotX; byte j2PotY; byte j2Button; byte pot1; byte pot2; byte tSwitch1; byte tSwitch2; byte button1; byte button2; byte button3; byte button4; }; Data_Package data; void setup() { Serial.begin(9600); radio.begin(); radio.openReadingPipe(0, address); radio.setAutoAck(false); radio.setDataRate(RF24_250KBPS); radio.setPALevel(RF24_PA_MAX); radio.startListening(); // receptor resetData(); throttle.attach(10); rudderServo.attach(4); // CH1 elevatorServo.attach(5); // CH2 aileron1Servo.attach(6); // CH3 aileron2Servo.attach(7); // CH4 pinMode(led, OUTPUT); // CH6 } void loop() { // Comprobar recepción continua / conexión currentTime = millis(); if ( currentTime - lastReceiveTime > 1000 ) { // >1s sin datos = conexión perdida resetData(); // Reset evita comportamiento no deseado (ej. dron con gas, si pierde conexión sigue volando) } if (radio.available()) { radio.read(&data, sizeof(Data_Package)); lastReceiveTime = millis(); } // Control motor brushless via ESC throttleValue = constrain(data.j1PotY, 80, 255); // Joystick centro. Solo valores altos 130-255 throttleValue = map(throttleValue, 80, 255, 1000, 2000); throttle.writeMicroseconds(throttleValue); // Ajuste sensibilidad servos travelAdjust = map(data.pot2, 0, 255, 0, 25); // Elevador elevatorValue = map(data.j2PotY, 0, 255, (85 - travelAdjust), (35 + travelAdjust)); elevatorServo.write(elevatorValue); // Alerones aileron1Value = map(data.j2PotX, 0, 255, (10 + travelAdjust), (80 - travelAdjust)); aileron1Servo.write(aileron1Value); aileron2Servo.write(aileron1Value); // Trim timón if (data.j1PotX > 127) { rudderValue = data.pot1 + (data.j1PotX - 127); } if (data.j1PotX < 127) { rudderValue = data.pot1 - (127 - data.j1PotX); } // Timón rudderValue = map(rudderValue, 0, 255, (10 + travelAdjust), (90 - travelAdjust)); rudderServo.write(rudderValue); // Monitor batería int sensorValue = analogRead(A3); float voltage = sensorValue * (5.00 / 1023.00) * 3; // Conversión 5V → 12V aprox if (voltage < 11) { digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); } } void resetData() { // Valores por defecto sin conexión radio data.j1PotX = 127; data.j1PotY = 80; // Motor parado // punto central joystick no es inicio gas, está en 80 no 127 data.j2PotX = 127; data.j2PotY = 127; data.j1Button = 1; data.j2Button = 1; data.pot1 = 1; data.pot2 = 1; data.tSwitch1 = 1; data.tSwitch2 = 1; data.button1 = 1; data.button2 = 1; data.button3 = 1; data.button4 = 1; }

Descripción: Explico funciones principales; detalles en tutorial previo. Tras recibir datos transmisor:

  • Joystick1 Y → gas. Valores 80-255 → 1000-2000 µs (control ESC).
  • Elevador: Joystick2 Y → 85-35° (posición servo). travelAdjust (potenciómetro derecho) reduce recorrido servos aunque joystick vaya a tope.
  • Mismo principio alerones y timón. Potenciómetro izquierdo → punto neutro timón.
  • analogRead() + matemáticas → LED batería baja.

¡Opiniones en comentarios, especialmente de expertos en RC! Principiantes: canal FliteTest (recurso increíble para mundo RC). Enlace en descripción.

¡Espero que disfrutaras y aprendieras! Preguntas en comentarios y mira mi Colección Proyectos Arduino.


Proceso de manufactura

  1. Construya su propio LUMAZOID: Visualizador de música DIY con Arduino
  2. Construye tu propia máquina de escribir deberes casera (DIY Homework Writing Machine)
  3. Construye una consola de control DIY para Photoshop con Arduino Nano RP2040
  4. Construye un Voltímetro Inteligente con Arduino y Smartphone – Proyecto DIY Fácil
  5. Construye un Skateboard VR Casero con Arduino, Google Cardboard y Bluetooth
  6. Osciloscopio DIY con Arduino Nano (10 Hz–50 kHz) y LCD 128×64
  7. Construye un dispositivo de tratamiento radiónico EMR con Arduino DIY
  8. Simulador de Carreras 2D DIY con Arduino Nano y Servos SG90
  9. Kit de Brazo Robótico Programable de 3 Ejes – Control Local y Remoto con Arduino y Bluetooth
  10. Construye un Cerco RFID Portátil con Arduino – Guía Paso a Paso
  11. Fresadora CNC 3 Ejes DIY: Construye una Máquina de Precisión