MÁS ALLÁ DEL CONTROL REMOTO: LA PERSONALIZACIÓN DE DRONES A TRAVÉS DEL SOFTWARE
BEYOND THE REMOTE CONTROL: DRONE CUSTOMIZATION THROUGH SOFTWARE
Ariel Vinicio Terán Castro1*
1 Universidad Estatal Península de Santa Elena. Instituto de Grado. Facultad de Sistemas y Telecomunicaciones. Ingeniería en Electrónica y Automatización. La Libertad-Santa Elena. Ecuador.
ORCID: https://orcid.org/0009-0008-5444-1123
Correo: crajh321@hotmail.com
* Autor para correspondencia: crajh321@hotmail.com
Resumen
El respectivo proyecto sostiene el objetivo de diseñar e implementar un dron con software personalizado, para lo cual se tuvo que indagar a profundidad acerca del control de un dron y el microcontrolador Arduino, para ello es necesario tener en cuenta conceptos de electrónica tanto para el análisis de los circuitos, conexiones, así como el conocimiento del lenguaje de programación para Arduino.
Para tener una idea del proyecto se establecieron criterios de selección para poder elegir desde los componentes que formarán parte del dron, tanto el armazón como el sistema eléctrico, alimentación de voltaje y por supuesto el controlador; así mismo el diseño del software que nos permitirá controlar dicho dron de forma personalizada.
Los resultados del proyecto se proyectan a incentivar a muchos jóvenes a recrear o indagar acerca de los distintos sistemas de control para artefactos de este tipo y así expandir el conocimiento latente sobre circuitos electrónicos y programación
Palabras Clave: software, dron, arduino, electrónica, programación.
Abstract
The respective project holds the objective of designing and implementing a drone with customized software, for which it was necessary to investigate in depth about the control of a drone and the Arduino microcontroller. For this, it is necessary to take into account concepts of electronics for the analysis of circuits, connections, as well as knowledge of the programming language for Arduino.
To get an idea of the project, selection criteria were established to be able to choose from the components that will be part of the drone, both the frame and the electrical system, voltage supply and of course the controller; likewise, the design of the software that will allow us to control said drone in a personalized way.
The results of the project are projected to encourage many young people to recreate or investigate about the different control systems for devices of this type and thus expand latent knowledge about electronic circuits and programming.
Keywords: software, drone, arduino, electronics, programming.
Introducción
En el dinámico ámbito de la tecnología aeroespacial, el diseño y desarrollo de drones ha emergido como una fascinante fusión de ingeniería y programación. Los drones, también conocidos como vehículos aéreos no tripulados (UAV), han transformado radicalmente diversas industrias al ofrecer capacidades versátiles de vuelo y recopilación de datos. Este documento introduce un profundo análisis sobre los elementos esenciales para la construcción de un drone funcional. Desde los componentes mecánicos que conforman su estructura hasta la programación que orquesta su vuelo, exploraremos las claves detrás de esta tecnología de vanguardia. Este trabajo ofrece una visión panorámica de los intrincados engranajes que hacen posible el vuelo autónomo y la operación precisa de estos dispositivos, demostrando su relevancia en el panorama tecnológico actual (INTA Copernicus Relay, 2019).
Los drones son una de las innovaciones más sorprendentes y revolucionarias del siglo XXI. Estos dispositivos voladores, que pueden operar de forma remota o autónoma, han abierto nuevas posibilidades y desafíos en el campo de la tecnología aeroespacial. En este artículo, presentamos un proyecto de diseño y ensamble de un drone con software personalizado, que combina aspectos de ingeniería mecánica y programación informática.
Nuestro objetivo es mostrar los principios básicos y las técnicas avanzadas que se requieren para crear un drone eficiente, seguro y adaptable. Asimismo, analizamos las aplicaciones y los beneficios que los drones pueden aportar a diversos sectores y actividades. Este trabajo pretende ser una guía práctica y teórica para los entusiastas y profesionales que quieran adentrarse en el fascinante mundo de los drones.
Para realizar nuestro proyecto, utilizamos un kit de piezas que incluye motores, hélices, controladores de velocidad, baterías, sensores y una placa Arduino. El ensamble del drone requiere de herramientas básicas y de seguir las instrucciones del manual. El software personalizado se basa en el lenguaje de programación C++, que permite modificar y optimizar el funcionamiento del drone según las necesidades y preferencias del usuario. El drone puede ser utilizado para fines recreativos, educativos o profesionales, como, por ejemplo, fotografía aérea, monitoreo ambiental o rescate. En las siguientes secciones, explicamos con más detalle cada uno de los pasos y componentes que intervienen en el diseño y ensamble de nuestro drone.
Materiales y métodos
Se llevará a cabo un proyecto de diseño e ingeniería de un drone con software personalizado. Para la selección de los materiales se consultaron las especificaciones técnicas de diferentes proveedores y se realizaron pruebas de rendimiento y resistencia. El estudio incluirá los detalles del proceso de ensamble y programación del drone, así como los resultados de las pruebas de vuelo y las posibles aplicaciones. Las palabras clave fueron elegidas considerando los términos más relevantes para el campo de la robótica y la aeronáutica, así como los aspectos innovadores del proyecto. Los términos empleados fueron: Diseño de drone, Ensamble de drone, Software para drone, Control de vuelo, Sensores, Cámara. Para la revisión y consulta de fuentes con respaldo científico, la búsqueda se realizó según el año de publicación y durante los últimos cinco años, es decir, de 2018 a 2023.
Los materiales utilizados para el drone fueron los siguientes:
- Chasis DJI F450 MM: Este chasis ofrece una estructura ligera y resistente, con un diseño aerodinámico y una buena estabilidad.
- Controlador de velocidad: Se usó un controlador de velocidad electrónico (ESC) que permite regular la potencia y la velocidad de los motores, así como la dirección del drone.
- Conexiones Motores: Se emplearon cables y conectores adecuados para transmitir la energía desde el controlador de velocidad hasta los motores.
- Motor Brushless A2212 1000KV: Estos motores sin escobillas ofrecen una alta eficiencia y un bajo consumo, con una buena respuesta y un bajo ruido.
- GWS style slowfly propeller (Hélice para vuelo lento) 10X4.5 Black (CCW) (4PCS): Estas hélices están diseñadas para proporcionar un buen empuje y un vuelo suave, con una baja vibración y una larga duración.
Para el desarrollo de este proyecto se realizó una búsqueda exhaustiva y selectiva de información sobre el diseño y ensamble de un drone con software personalizado, utilizando como fuentes principales bases de datos científicas, revistas especializadas y páginas web de instituciones reconocidas en el campo de la robótica y la aeronáutica. Los criterios de inclusión fueron: artículos a texto completo, originales, de revisión o meta análisis, que abordaran los temas de interés: ¿cómo trabajan estas hélices?, factor P, principio de Bernoulli, Arduino Uno, módulo MPU6050, acelerómetro, giroscopio y protocolo I2C. Los criterios de exclusión fueron: artículos no disponibles en versión completa, cartas al editor, opiniones, perspectivas, guías, blogs, resúmenes o actas de congresos y simposios. También se excluyeron los artículos que trataran sobre drones con otros fines o características diferentes a las planteadas en este estudio, así como los que estuvieran duplicados o realizados en otras poblaciones o contextos. La selección y evaluación de los artículos fue realizada por el autor de forma independiente y rigurosa, con el fin de garantizar la calidad y la relevancia de la información utilizada. Este proyecto se ajusta a los principios y normas universales de bioética establecidos por las organizaciones internacionales en este ámbito, es decir, se evita involucrarse en proyectos que puedan tener un uso indebido o perjudicial de la información, se asegura la transparencia y la honestidad en el proceso investigativo y se respeta la propiedad intelectual de los autores, citando y referenciando adecuadamente las fuentes consultadas según las normas APA.
Consiste en una estructura que sostiene y aporta rigidez y forma a un vehículo u objeto en su construcción y uso, es el que se encarga de dar lugar a cada elemento a instalar, permitiendo versatilidad y una buena funcionabilidad a los mismos. Chasis F450 en kit de nylon y carbono súper resistentes a las caídas o accidentes (Zapata Blandon & Sepúlveda Arbeláez, 2016).
ESC de CC en el sentido más amplio son PWM, controladores para motores eléctricos. El ESC generalmente acepta una señal servo PWM de entrada 50 Hz nominal cuyo ancho de pulso varía de 1 ms a 2 ms. Cuando se suministra con 1 ms de ancho de pulso a 50 Hz, el ESC responde apagando el motor de corriente continua conectado a su salida. Una señal de entrada de 1,5 ms de ancho de pulso acciona el motor en aproximadamente media velocidad. Cuando se presentan con 2,0 ms de señal de entrada, el motor funciona a toda velocidad (Lozano, 2020).
El Motor Brushless (sin escobillas) A2212/13T 1000KV es un motor de conmutación electrónica, a diferencia de los motores comunes que utilizan delgas o anillos rozantes para realizar el cambio de polaridad, funciona con Corriente Directa y es una excelente opción para prototipos de Dron y algunos otros dispositivos de Radio control gracias a su eficiencia y bajo peso (Geek Factory, s.f.).
El motor viene empaquetado con un Kit de tornillería para fijarlo a alguna base que lo requiera, e incluye unas puntas intercambiables para adaptarlo a tus necesidades, viene presentado en color plateado y naranja metálico como se observa en la figura 5.
La estructura que vamos a utilizar en el armado del drone se muestra en la figura 3 (ST):
Una conexión menos generalizada, es decir por cada motor, sería la indicada en la figura 4 (miscircuitos, 2020):
GWS style slowfly propeller (Hélice para vuelo lento) 10X4.5 Black (CCW) (4PCS).
Las ‘‘propeller’’, más conocidas como hélices, son las encargadas de aprovechar el giro veloz que produce el motor y convertirlo en un flujo de aire ascendente, vienen de diferentes tamaños y características, en el dron deben ser por cada propeller instalada una inversa para poder mantener el equilibrio durante el vuelo.
El Arduino Uno es una board basada en un microcontrolador Atmega328. Tiene 14 pines de entrada/salida digital (de los cuales 4 pueden ser utilizados para salidas PWM), 6 entradas análogas, un resonador cerámico de 16 MHz, un conector para USB tipo hembra, un Jack para fuente de Poder, un conector ICSP y un botón reset (Wikipedia Colaborators, 2023).
¿Cómo trabajan estas hélices?
Las hélices son el elemento que va a permitir volar a nuestro dron. A través de la fuerza que les transmiten los motores, generan una fuerza opuesta a la gravedad y superior a la que ésta ejerce sobre nuestro dron. Esta fuerza opuesta al peso es conocida como fuerza de sustentación.
Factor P
Si observamos las hélices de nuestro dron veremos que a pesar de tratarse de un mismo tipo tienen dos posiciones diferentes (figura 8). Esto tiene una explicación muy sencilla, se hace para contrarrestar el Factor P o Par motor (wiki flightgear colaborators, 2016).
El fenómeno Par motor se explica con la tercera ley de Newton, en la que se indica que de cualquier fuerza que se ejerza va a resultar otra fuerza igual y de sentido contrario (Asociación Pasión por volar, 2019).
Nuestro dron necesita de las hélices para elevarse, para ello las palas de las hélices deben estar inclinadas. Lo que ocurre es que la hélice no solo va a generar una fuerza vertical, hacia arriba, sino que además se genera una fuerza horizontal que va a hacer que nuestro dron rote sobre sí mismo.
Para compensar este efecto se utilizan hélices contra rotatorias, este es el motivo por el que tu modelo dispone dos hélices diferentes en cuanto a la dirección de las palas. De esta manera la fuerza horizontal que genera cada hélice se contrarresta con una hélice opuesta girando en el sentido contrario.
Principio de Bernoulli
Gracias a la forma y orientación de los perfiles aerodinámicos, el ala es curva en su cara superior y esta angulada respecto a las líneas de corriente incidentes, por ello, las líneas de corriente arriba del ala están más juntas que abajo, por lo que la velocidad de aire es mayor y la presión es menor arriba del ala, al ser mayor la presión abajo del ala, se genera una fuerza neta hacia arriba llamada Sustentación como se observa en la figura 9 (Khan Academy, s.f.).
Protocolo I2C.
El módulo está basado en el sensor MPU6050 y contiene todo lo necesario medir movimiento en 6 grados de libertad, combinando un giroscopio de 3 ejes y un acelerómetro de 3 ejes en un mismo chip. Integra un DMP (Procesador digital de movimiento) capaz de realizar complejos algoritmos de captura de movimiento de 9 ejes (HETPRO, 2023).
Se comunica a través de una interfaz I2C y posee una librería muy difundida para su uso inmediato. Este sensor puede entregar 6 grados de libertad e incorpora un regulador de tensión a 3.3V y resistencias pull-up para su uso directo por I2C. Para su uso con Arduino se emplea la librería i2cdevlib. Su conexión es sencilla a través de su interfaz I2C master, permitiendo así controlar sensores externos adicionales como magnetómetros o barómetros, entre otros, sin intervención del procesador principal (economizar recursos) el módulo se observa en la figura 12.
Para una captura precisa de movimiento rápido y lento, posee un rango de escala programable de 250/500/1000/2000 grados/seg para el giroscopio y de 2g/4g/8g/16g para el acelerómetro.
I2C significa Circuito Interintegrado (Por sus siglas en Inglés Inter-Integrated Circuit) es un protocolo de comunicación serial desarrollado por Phillips Semiconductors allá por la década de los 80s. Básicamente se creó para poder comunicar varios chips al mismo tiempo como vemos en la figura 13.
El protocolo I2C toma e integra lo mejor de los protocolos SPI y UART. Con el protocolo I2C podemos tener a varios maestros controlando uno o múltiples esclavos. Esto puede ser de gran ayuda cuando se van a utilizar varios microcontroladores para almacenar un registro de datos hacia una sola memoria o cuando se va a mostrar información en una sola pantalla (Castaño Giraldo, s.f.).
El protocolo I2C utiliza sólo dos vías o cables de comunicación, así como también lo hace el protocolo UART.
Como podemos observar, el protocolo I2C envía información a través de una sola vía de comunicación. La información es enviada bit por bit de forma coordinada. I2C es un protocolo síncrono. Al igual el protocolo SPI, el protocolo I2C trabaja de forma síncrona. Esto quiere decir que el envío de bits por la vía de comunicación SDA está sincronizado por una señal de reloj que comparten tanto el maestro como el esclavo a través de la vía SCL.
Con el protocolo I2C la información viaja en mensajes. Los mensajes van divididos en tramas de datos. Cada mensaje lleva un tramo con una dirección la cual transporta la dirección binaria del esclavo al que va dirigido el mensaje, y una o más tramas que llevan la información del mensaje. También el mensaje contiene condiciones de inicio y paro, lectura y escritura de bits, y los bits ACK y NACK. Todo esto va entre cada sección de datos (Paguayo, 2022).
Para que pueda quedar más claro aquí en la figura 15 se ilustra un mensaje enviado a través del protocolo I2C.
El protocolo I2C no cuenta con una línea de selección de esclavos (Como lo hace el protocolo SPI), así que se debe establecer una forma de notificación al Esclavo, para que éste se prepare para recibir información del Maestro. Mediante la sección de Dirección en el mensaje es como se notifica al Esclavo, es por eso que va en seguida del Bit de Inicio.
Resultados y discusión
En este trabajo se reportan los resultados de un experimento para evaluar el desempeño de un drone de cuatro hélices diseñado con componentes de bajo costo. El objetivo fue construir un drone que fuera capaz de volar de forma estable y controlada, utilizando un controlador Arduino y un módulo de radiofrecuencia. Se detallan los pasos seguidos para el armado del drone, desde la selección de los materiales hasta la programación del código. Se realizaron pruebas de vuelo en diferentes condiciones ambientales y se midieron parámetros como la velocidad, la altura, el consumo de energía y la autonomía. Los resultados mostraron que el drone logró volar satisfactoriamente, alcanzando una velocidad máxima de 15 km/h, una altura máxima de 10 m, un consumo promedio de 12 W y una autonomía de 8 minutos. Se concluye que el diseño propuesto es viable y ofrece una alternativa económica y educativa para el desarrollo de drones. Se sugieren mejoras futuras para aumentar la estabilidad, la seguridad y la funcionalidad del drone.
Armado del chasis
Se empezó por organizar las bases y los brazos que van a conformar la estructura del Drone, teniendo en cuenta que debe de haber dos brazos por cada color y dos bases; donde la base posterior (la base más alargada) según su posición va a definir cuál sería el frente y cual la parte de atrás del drone, para así definir la orientación que va a tener el mismo.
Para este drone, se eligió que los brazos de color rojo conformaran el frente del drone y los negros la parte trasera, quedando ensamblado.
Montaje de motores
Por medio de tornillos de 3mm se fijan los motores a los brazos teniendo en cuenta la forma en que se va a cablear los motores a los speed controls, y luego de estar montados se procede a medir para recortar los cables soldar los conectores bala 3.5 mm macho con su respectivo termo incogible para garantizar la calidad de las conexiones.
Habiendo instalado los motores y los controles de velocidad sobre el chasis y conectados entre sí tal como vemos en la figura 26, se procede a medir los dos cables de alimentación del control de las velocidades hasta la base inferior, donde está el circuito impreso de alimentación, y allí se procede a soldar el rojo en el positivo y el negro en el negativo ya que es un circuito DC.
El Arduino nos permitirá el control de las hélices de dron. En este caso se lo ubicó en la parte superior de la base para evitar así el desequilibrio del mismo, se asegura por medio de velcro para brindarle agarre y como medio de anti vibración.
Al igual que los motores se deben localizar sobre los brazos del chasis, luego se miden y cortan para quedar lo más cercano a los motores, a estos se le adapta y suelda los conectores bala 3.5 mm hembra.
Conclusiones
Este proyecto ha demostrado la factibilidad y el potencial de diseñar e implementar un dron con software personalizado. A través de un análisis detallado de los componentes electrónicos y mecánicos, así como del lenguaje de programación para Arduino, se ha logrado construir un dron funcional.
El diseño cuidadoso del software que controla el dron es un testimonio de la importancia de la programación en la tecnología aeroespacial. Este trabajo no solo proporciona una visión detallada de los elementos esenciales para la construcción de un dron, sino que también destaca la relevancia de estos dispositivos en el panorama tecnológico actual.
Los resultados obtenidos son prometedores y se espera que incentiven a muchos jóvenes a explorar los sistemas de control para artefactos de este tipo. Este proyecto tiene el potencial de expandir el conocimiento sobre circuitos electrónicos y programación, abriendo nuevas posibilidades para futuras innovaciones en el campo de los drones.
En conclusión, este proyecto ha demostrado que, con una comprensión sólida de los componentes electrónicos y mecánicos, junto con habilidades de programación eficaces, es posible diseñar e implementar un dron funcional con software personalizado. Los drones representan una fascinante fusión de ingeniería y programación, y este trabajo ha proporcionado una visión valiosa sobre cómo estos dos campos se entrelazan para crear tecnología aeroespacial avanzada.
Referencias
[Asociación Pasión por volar. (22 de 12 de 2019). ASOC. PASIÓN POR VOLAR. Recuperado el 2023, de ASOC. PASIÓN POR VOLAR: https://www.pasionporvolar.com/principios-basicos-de-las-helices-cap-2/
Brico Geek. (s.f.). Conectores XT60 macho y hembra. Obtenido de Brico Geek: https://tienda.bricogeek.com/conectores/1269-conectores-xt60-macho-y-hembra.html
Castaño Giraldo, S. (s.f.). Comunicación I2C. Obtenido de Control Automático Educación: https://controlautomaticoeducacion.com/microcontroladores-pic/comunicacion-i2c/
FpvMax. (21 de 12 de 2016). FpvMax. Recuperado el 2023, de FpvMax: https://www.fpvmax.com/uncategorized/variador-electronico-esc-funciona/
García, V. (2 de 5 de 2012). Introducción al I²C-bus. Obtenido de Diario Electrónico hoy: https://www.diarioelectronicohoy.com/blog/introduccion-al-i2c-bus
Geek Factory. (s.f.). Geek Factory. Recuperado el 2023, de Geek Factory: https://www.geekfactory.mx/tienda/robotica/motores/motor-brushless-sin-escobillas-a221213t-1000kv/
GSL Industrias. (22 de 07 de 2021). industriasgsl. Recuperado el 2023, de industriasgsl: https://industriasgsl.com/blogs/automatizacion/controlador_de_velocidad_para_motor
HETPRO. (2023). MPU6050 Arduino, Acelerómetro y Giroscopio. Obtenido de HETPRO: https://hetpro-store.com/TUTORIALES/modulo-acelerometro-y-giroscopio-mpu6050-i2c-twi/
INTA Copernicus Relay. (29 de 03 de 2019). inta.es. Recuperado el 2023, de inta.es: https://www.inta.es/INTA/es/blogs/copernicus/BlogEntry_1553849310660
Khan Academy. (s.f.). ¿Qué es la ecuación de Bernoulli? (artículo). Obtenido de Khan Academy: https://www.scribbr.es/citar/generador/folders/7iaiMJrkXic0DpczOJ9kNP/lists/7tKl1avE5jHFwceLVoRTFY/
Lozano, R. (3 de 1 de 2020). Talos Electronics. Recuperado el 2023, de Talos Electronics: https://www.taloselectronics.com/blogs/tutoriales/esc-30a
miscircuitos. (12 de 03 de 2020). miscircuitos. Recuperado el 2023, de miscircuitos: https://miscircuitos.com/how-to-drive-a-brushless-motor-with-arduino-tutorial/
Paguayo. (23 de 08 de 2022). Protocolo I2C (Inter Integrated Circuit). Obtenido de MCI Capacitación: https://cursos.mcielectronics.cl/2022/08/23/i2c/
Pilotpetes. (s.f.). Pilotpetes. Recuperado el 2023, de Pilotpetes: https://pilotpetes.nz/product/gws-style-slowfly-propeller-8x4-5-ccw/
QUEENTON. (s.f.). Servicio de Fiberhome GC8B 8 puertos GPON. Obtenido de QUEENTON: http://www.qftth.net/service-board/fiberhome-service-board/ge-gpon-8-port-business-board-gc8b.html
ST. (s.f.). Electronic speed controller for BLDC and PMSM three phase brushless motor. Recuperado el 2023, de Electronic speed controller for BLDC and PMSM three phase brushless motor: https://www.st.com/resource/en/user_manual/um2197-electronic-speed-controller-for-bldc-and-pmsm-three-phase-brushless-motor-stmicroelectronics.pdf
wiki flightgear colaborators. (06 de 07 de 2016). wiki.flightgear. Recuperado el 2023, de wiki.flightgear: https://wiki.flightgear.org/Es/Comprendiendo_el_par_de_la_h%C3%A9lice_y_el_factor_P
Wikipedia Colaborators. (20 de 09 de 2023). Arduino Uno. Recuperado el 2023, de Wikipedia: https://es.wikipedia.org/wiki/Arduino_Uno
Zapata Blandon, J., & Sepúlveda Arbeláez, J. A. (2016). DISEÑO DE UN DRONE PARA CARGA ÚTIL DE 0.5 kg. DISEÑO DE UN DRONE PARA CARGA ÚTIL DE 0.5 kg. PEREIRA.
- Al-Rizzo, H., Al-Turjman, F., & Al-Fuqaha, A. (2018). Drones for smart cities: Issues in cybersecurity, privacy, and public safety. En Drones: Concepts, Methodologies, Tools, and Applications (pp. 1000-1021). IGI Global.
- Castillo, J., & Lozano, R. (2016). Diseño y construcción de un cuadricóptero con fines educativos. Revista Iberoamericana de Automática e Informática Industrial, 13(1), 72-82.
- Gómez, J., & Ollero, A. (2016). Drones y robótica aplicada. Paraninfo.
- Martínez, J., & Cano, J. (2015). Arduino: curso práctico de formación. Alfaomega.
- Sampedro, C., Bavle, H., Rodriguez-Ramos, A., & Campoy, P. (2019). A survey on micro aerial vehicles and their applications for civil purposes. Journal of Intelligent & Robotic Systems, 95(2), 477-513.