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

Aerodeslizador RC basado en Arduino DIY

En este tutorial, aprenderemos cómo construir un aerodeslizador RC basado en Arduino. Te mostraré todo el proceso de construcción, desde el diseño y la impresión en 3D de las piezas del aerodeslizador, incluidas las hélices, hasta la conexión de los componentes electrónicos y la programación del Arduino.

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

Resumen

Para controlar el aerodeslizador, utilicé mi transmisor RC basado en Arduino DIY que hice en uno de mis videos anteriores. Configuré el joystick derecho para controlar el servomotor para colocar los timones en la parte trasera del motor de empuje, configuré uno de los potenciómetros para controlar la hélice de elevación que en realidad está conectada a un motor de CC sin escobillas, y configuré el joystick izquierdo para controlar la propulsión. Entonces, echemos un vistazo a lo que se necesita para construir este aerodeslizador RC.

Modelo 3D de aerodeslizador

Para empezar, diseñé el aerodeslizador utilizando un software de modelado 3D.

Puede buscar y descargar este modelo 3D, así como explorarlo en su navegador en Thangs.

Descargue el modelo 3D de ensamblaje en Thangs.

Archivos STL para impresión 3D:

Principio de funcionamiento del aerodeslizador

El principio básico de funcionamiento de un aerodeslizador es que la nave se eleva mediante un colchón de aire. La hélice central sopla aire debajo de la nave, lo que infla una falda hecha de material suave.

Cuando la presión del aire en la falda es lo suficientemente alta, la embarcación se eleva. El aire que se suministra constantemente se escapa desde el centro de la nave, entre el faldón y el suelo, lo que crea una sustentación adicional y también reduce la fricción entre el aerodeslizador y el suelo.

Una vez levantado, usando la segunda hélice se genera un empuje que mueve el aerodeslizador hacia adelante.

En la parte trasera de la hélice de empuje hay un conjunto simple de timones que se utilizan para dirigir el aerodeslizador.

Impresión 3D

Sin embargo, una vez que terminé el diseño, comencé con la impresión 3D de las piezas.

El casco del aerodeslizador es la parte más grande para imprimir y lo diseñé específicamente para adaptarse a mi impresora 3D Creality CR-10, que tiene una plataforma de impresión de 30x30 cm.

Aquí hay un enlace a esta impresora 3D en caso de que quiera verla.

Una vez finalizada la impresión, es hora de hacer un poco de limpieza. El cuerpo principal del aerodeslizador o la cabina fue la impresión más larga, que tardó alrededor de 18 horas en imprimirse. Debido al diseño curvo y porque quería que fuera una única impresión, se utilizó mucho material de soporte para esta impresión.

Sin embargo, fue muy fácil quitarlo y la pieza final resultó perfecta. El casco del aerodeslizador estaba impreso al revés y solo tenía que quitar una pequeña cantidad de material de soporte. De hecho, tuve que hacer algunos ajustes a esta impresión y cortar algo de material de la carcasa del ventilador central para que el soporte de la falda pueda encajar correctamente.

Ya actualicé el modelo 3D, así que no tendré este problema.

Algunas de las áreas redondas de las piezas estaban un poco ásperas, así que usé un papel de envío simple para suavizarlas.

Las hélices no necesitaron ninguna limpieza y funcionaron bastante bien recién salidas de la impresora 3D.

Pintar el aerodeslizador

Bien, el siguiente paso es pintar las piezas impresas en 3D. No usé ninguna imprimación antes, sino que apliqué directamente una pintura acrílica en forma de pintura en aerosol.

Usé un color de cejas chocolate para la primera capa. Para algunas de las partes más pequeñas, que en realidad son solo piezas decorativas, usé un color marrón más claro.

Para hacer que el aerodeslizador se viera un poco más fresco, una vez que se secó la primera capa, continué agregando dos colores más a las partes. Para ello, hice unos patrones aleatorios en una simple hoja de papel, y con ellos hice rayas y manchas de diferentes colores. Usé color marrón claro y negro para ese propósito.

Ensamblaje del Arduino RC Hovercraft

Me gusta mucho cómo quedaron las piezas, así que una vez que se secaron, continué con el montaje.

Comencé instalando el servomotor que controla los timones en la carcasa del ventilador de empuje. Aseguré el servo con dos pernos y tuercas M2.

El siguiente es el motor sin escobillas. El modelo particular que tengo es el D2830 que tiene un diámetro de 28 mm y 30 mm de largo y, por supuesto, la carcasa está diseñada específicamente para adaptarse a este motor.

Aquí al insertar el motor, primero tuve que pasar los cables por las aberturas. Es un poco apretado, pero aún así es manejable pasarlos. Luego, en la parte posterior, usando pernos M3, aseguré el motor a la carcasa.

A continuación, puedo fusionar la carcasa de empuje con el cuerpo principal del aerodeslizador. Esta parte tiene una abertura para que el servo y los cables del motor BLDC puedan pasar.

Usando cuatro pernos M3, los aseguré firmemente juntos.

Una vez que terminé eso, continué con la instalación del segundo motor sin escobillas en el casco del aerodeslizador. Aquí nuevamente utilicé el mismo método. Primero, pasé los cables a través de las aberturas y luego, en la parte posterior, aseguré el motor con cuatro pernos M3.

Diagrama de circuito

Luego viene la electrónica. Los componentes electrónicos se colocarán entre el casco y el cuerpo principal del aerodeslizador. Pero antes de hacerlo, echemos un vistazo al diagrama del circuito y veamos cómo se debe conectar todo.

Entonces, el cerebro de este aerodeslizador es una placa Arduino. Con Arduino podemos controlar fácilmente el servo y los dos motores sin escobillas usando los dos controladores electrónicos de velocidad o ESC. Para alimentar los motores BLDC, usaré una batería Li-Po 3S que proporciona alrededor de 11 V, y para alimentar el Arduino, podemos usar los 5 V regulados que proporcionan los ESC a través de su función de circuito eliminador de batería.

Para la comunicación inalámbrica usaré el módulo transceptor NRF24L01 que si se usa con una antena amplificada puede tener un alcance estable de hasta 700 metros en espacios abiertos. El transmisor RC que usaré para controlar el aerodeslizador es el que construí a medida en uno de mis tutoriales anteriores, por lo que puede consultarlo si necesita más detalles al respecto. También hay tutoriales detallados sobre el módulo NRF24l01 y cómo usar motores sin escobillas con Arduino. No obstante, el principio básico de funcionamiento es que el transmisor envía los datos de los Joysticks o potenciómetros al receptor que controla la velocidad de los motores brushless y la posición del servo.

Hay un pequeño detalle más en este diagrama de circuito, y ese es el monitor de batería. Agregué un divisor de voltaje simple hecho de dos resistencias, que se conecta directamente a la batería y su salida va a la entrada analógica del Arduino. El divisor de voltaje reduce los 11 voltios a alrededor de 4 voltios, que luego son aceptables para los pines Arduino de 5V. Con esto podemos monitorear el voltaje de la batería y configurar un LED para que se ilumine cuando, por ejemplo, el voltaje de la batería caiga por debajo de los 11 voltios.

Puede obtener los componentes necesarios para este tutorial de Arduino desde los siguientes enlaces:

  • Módulo transceptor NRF24L01….
  • NRF24L01 + PA + LNA ………….….
  • Motor sin escobillas ………………….……
  • ESC 30A …………………………….…..
  • Batería Li-Po ………………………………..
  • XT60 2 hembra a 1 macho ………….
  • Conector XT60 …………………………
  • Servomotor ………………………………..
  • Placa Arduino …………………………

Entonces, comencé a conectar los componentes como se explica. Para conectar los dos ESC a una sola batería, utilicé un divisor de conector de batería paralelo, tipo XT60.

Para agregar un interruptor de encendido al proyecto, utilicé otro conector XT60, en el que corté un cable y soldé un interruptor de palanca allí. Entonces, un lado va al cable divisor en Y y el otro lado a la batería.

A continuación, coloqué los ESC en el cuerpo principal y los atrapé entre este y el casco del aerodeslizador. Luego, usando cuatro pernos M3, sujeté las dos partes juntas. Desde la abertura superior del cuerpo, inserté la batería en el área de la cabina.

A continuación, debemos conectar los componentes al Arduino y, para ello, agregué dos cabezales de pines al Arduino que servirán como pines GND y 5V.

Entonces, una vez que conecté todo al Arduino, pasé la antena NRF24L01, el indicador LED y el interruptor de encendido, a través de la tapa superior de la cabina.

Entonces solo necesitaba exprimir todo en la cabina. Estaba un poco apretado aquí porque usé Arduino UNO, y probablemente debería haber usado Arduino Nano en su lugar.

Sin embargo, me las arreglé para encajar todo, también adjunté una pequeña pieza decorativa a la cubierta y luego la sujeté al cuerpo de la cabina.

Continué con la instalación del sistema de dirección. Primero, conecté un pequeño enlace a la bocina del servo usando un perno M2 y una tuerca. Luego inserté el primer timón en su lugar y lo aseguré a la carcasa de empuje usando un alambre de metal de 2 mm que pasa a través de su cuerpo y así el timón puede girar alrededor de él. De la misma manera coloqué el segundo timón.

Este timón tiene una ranura adicional para que podamos conectarlo al enlace de inserción anterior al servo. Nuevamente, usé pernos y tuercas M2 para asegurarlos. Y finalmente, conecté los dos timones entre sí usando otro enlace y con eso se completa el sistema de dirección.

A continuación, colocaré esta pequeña pieza de decoración en el lateral del aerodeslizador. Con un taladro, hice un agujero y luego fijé la pieza al casco con un solo tornillo. Coloqué estas piezas en ambos lados y creo que encajan bastante bien con la apariencia general del aerodeslizador.

Ok, luego continué haciendo la falda para este aerodeslizador. Puede notar aquí que el soporte de la falda tiene agujeros alrededor y eso es para sujetarlo al casco.

También hay ranuras para colocar tuercas y de esa manera, podremos asegurar fácilmente el soporte de falda al casco usando tornillos M3. Una vez que aseguré todas las tuercas en su lugar, continué haciendo la falda para lo cual usé una simple bolsa de plástico de un bote de basura.

Entonces, primero apliqué un pegamento AC en el área central del soporte y lo pegué a la bolsa de plástico. Luego compensé el perímetro del soporte en unos 6 cm. Lo marqué en varios puntos y luego los conecté.

Usando un cuchillo multiusos, corté la bolsa de plástico al tamaño adecuado. Luego volteé la falda y agregué un soporte adicional a la bolsa donde la pegamos previamente con el pegamento AC.

A continuación, se debe pegar el exterior de la bolsa a la parte superior del soporte. Una vez más, utilicé pegamento AC para ese propósito y le aseguré con cuidado la bolsa de plástico.

Una vez hecho esto, así es como debería verse la falda.

A continuación, hice agujeros en la bolsa de plástico por donde debían pasar los pernos. El soporte del faldón es solo 1 mm más pequeño que el casco del aerodeslizador, por lo que, en combinación con la bolsa de plástico, encaja perfectamente en el casco. Para asegurar el faldón al casco, simplemente fijé los tornillos M3 en todo el perímetro.

Hay una cosa más que hacer con la falda y es cortar el área central de la bolsa de plástico.

Entonces, con esta mitad del aire inflará directamente la falda y luego se sangrará a través de esta abertura, creando una burbuja de aire adicional en el medio.

Finalmente, lo que queda por hacer es unir las hélices a los motores sin escobillas. Para ese propósito, estoy usando el collar que viene con el motor sin escobillas. Es una forma realmente sencilla y eficaz de sujetar la hélice al eje del motor.

Sin embargo, perdí el collar de mi otro motor, así que tuve que imprimir una versión diferente de la hélice para que encajara directamente en el eje del motor, que es de 3,15 mm. De hecho, la impresión salió bastante bien, se ajustó y fijó perfectamente al motor sin siquiera usar pegamento.

Y eso es todo, nuestro aerodeslizador controlado por radio finalmente está listo.

Sin embargo, lo que queda en este video es echar un vistazo al código Arduino y cómo funciona el programa.

Código de aerodeslizador Arduino RC

Aquí está el código para este proyecto DIY RC Hovercraft basado en Arduino:

/*
         Arduino based RC Hovercraft
   == Receiver Code - ESC and Servo Control =
  by Dejan, www.HowToMechatronics.com
  Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>

#define led 10

RF24 radio(8, 9);   // nRF24L01 (CE, CSN)
const byte address[6] = "00001";
unsigned long lastReceiveTime = 0;
unsigned long currentTime = 0;

Servo esc1;  // create servo object to control the ESC
Servo esc2;
Servo servo1;

int esc1Value, esc2Value, servo1Value;
// Max size of this struct is 32 bytes - NRF24L01 buffer limit
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; //Create a variable with the above structure
void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(0, address);
  radio.setAutoAck(false);
  radio.setDataRate(RF24_250KBPS);
  radio.setPALevel(RF24_PA_LOW);
  radio.startListening(); //  Set the module as receiver
  resetData();
  esc1.attach(7);
  esc2.attach(6);
  servo1.attach(5);
  pinMode(led, OUTPUT);
}
void loop() {
  // Check whether we keep receving data, or we have a connection between the two modules
  currentTime = millis();
  if ( currentTime - lastReceiveTime > 1000 ) { // If current time is more then 1 second since we have recived the last data, that means we have lost connection
    resetData(); // If connection is lost, reset the data. It prevents unwanted behavior, for example if a drone jas a throttle up, if we lose connection it can keep flying away if we dont reset the function
  }
  // Check whether there is data to be received
  if (radio.available()) {
    radio.read(&data, sizeof(Data_Package)); // Read the whole data and store it into the 'data' structure
    lastReceiveTime = millis(); // At this moment we have received the data
  }
  // Controlling servos
  servo1Value = map(data.j2PotX, 0, 255, 0, 50);
  servo1.write(servo1Value);

  // Controlling brushless motor with ESC
  // Lift propeller
  esc1Value = map(data.pot1, 0, 255, 1000, 2000); // Map the receiving value form 0 to 255 to 0 1000 to 2000, values used for controlling ESCs
  esc1.writeMicroseconds(esc1Value); // Send the PWM control singal to the ESC
  
  // Thrust propeller
  esc2Value = constrain(data.j1PotY, 130, 255); // Joysticks stays in middle. So we only need values the upper values from 130 to 255
  esc2Value = map(esc2Value, 130, 255, 1000, 2000);
  esc2.writeMicroseconds(esc2Value);

  // Monitor the battery voltage
  int sensorValue = analogRead(A0);
  float voltage = sensorValue * (5.00 / 1023.00) * 3; // Convert the reading values from 5v to suitable 12V i
  Serial.println(voltage);
  // If voltage is below 11V turn on the LED
  if (voltage < 11) {
    digitalWrite(led, HIGH);
  }
  else {
    digitalWrite(led, LOW);
  }
}
void resetData() {
  // Reset the values when there is no radio connection - Set initial default values
  data.j1PotX = 127;
  data.j1PotY = 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;
}Code language: Arduino (arduino)

Descripción: Entonces, primero debemos incluir la biblioteca RF24 para la comunicación por radio, así como la biblioteca de servos para controlar tanto los servos como los motores sin escobillas. Luego, debemos definir la radio y los objetos del servo, algunas variables necesarias para el programa a continuación, así como la estructura de las variables que se utilizan para almacenar los datos entrantes de mi transmisor RC DIY. Para obtener más detalles sobre cómo funciona esta comunicación, le sugiero que consulte mi tutorial particular.

En la sección de configuración, debemos inicializar la comunicación por radio y definir los pines a los que se conectan el servo y los ESC.

En la sección de bucle, leemos los datos entrantes del transmisor y usamos esos valores para controlar el servo y los motores sin escobillas. Entonces, los datos entrantes del joystick que varían de 0 a 255 se convierten en valores de 0 a 50 y usamos estos valores para controlar la posición del servo.

Con el mismo método controlamos los motores sin escobillas usando los ESC. Los datos entrantes que van de 0 a 255 se convierten en valores de 1000 a 2000 y mediante la función wirteMicroseconds() enviamos estos datos al ESC como una señal de control.

Para monitorear el voltaje de la batería, leemos la entrada analógica proveniente del divisor de voltaje y con algunas matemáticas simples convertimos los valores de entrada en el valor real del voltaje de la batería. Si el voltaje de la batería cae por debajo de 11V, simplemente encendemos el indicador LED.

Y eso es. En caso de que necesite más detalles, puede consultar los otros tutoriales sugeridos y así podrá comprender completamente cómo funciona todo.

Espero que hayas disfrutado este tutorial y hayas aprendido algo nuevo. No dude en hacer cualquier pregunta en la sección de comentarios a continuación y consulte mi Colección de proyectos de Arduino.


Proceso de manufactura

  1. Visualizador de música DIY LUMAZOID Arduino
  2. Voltímetro de bricolaje con Arduino y un teléfono inteligente
  3. Pixie:un reloj de pulsera NeoPixel basado en Arduino
  4. Patineta de realidad virtual DIY
  5. Autómatas celulares basados ​​en Arduino y OLED
  6. Máquina de tratamiento DIY Arduino RADIONICS
  7. Sistema de asistencia basado en Arduino y hoja de cálculo de Google
  8. Simulador de carreras de movimiento 2D DIY
  9. Smart Energy Monitor basado en Arduino
  10. Sistema de seguridad basado en Arduino
  11. Idea de bricolaje con RFID