Taula de continguts:

La guia que desitjava tenir sobre la construcció d’un dron Arduino: 9 passos
La guia que desitjava tenir sobre la construcció d’un dron Arduino: 9 passos

Vídeo: La guia que desitjava tenir sobre la construcció d’un dron Arduino: 9 passos

Vídeo: La guia que desitjava tenir sobre la construcció d’un dron Arduino: 9 passos
Vídeo: La Punyalada by Marià Vayreda | Catalan audiobook | Literature for Eyes and Ears 2024, Juliol
Anonim
La guia que desitjava tenir sobre la construcció d’un dron Arduino
La guia que desitjava tenir sobre la construcció d’un dron Arduino

Aquest document és una mena de documentació de barra "Com guiar" que va passar pel procés que em va portar a comprendre els conceptes per assolir el meu objectiu de construir un quadricòpter simple que pogués controlar des del meu telèfon mòbil.

Per fer aquest projecte, volia fer-me una idea de què és realment un dron, en el meu cas un quadcopter, així que vaig començar a investigar. Vaig veure molts vídeos de YouTube, vaig llegir un munt d’articles i pàgines Insructibles i això és el que vaig obtenir.

Essencialment, podeu dividir un dron en dues parts. Vaig anomenar-lo "Físic" i "Controlador". El físic és bàsicament tot el que té a veure amb la mecànica que fa volar el dron. Són coses com el motor, el quadre, la bateria, les hèlixs i qualsevol altra cosa que doni físicament al dron la possibilitat de volar.

El controlador és essencialment el controlador de vol. Què controla el físic perquè el dron pugui volar com una unitat sencera sense caure. Bàsicament el microcontrolador, el programari i els sensors que l’ajuden a triangular els seus coixinets. Per tant, per tenir un dron, necessitava un controlador i un munt de peces físiques perquè el controlador ‘controlés’.

Subministraments

Pressupost del projecte: 250 dòlars

Termini: 2 setmanes

Coses a comprar:

  • Marc físic de 20 dòlars
  • Blades 0 $ (ve amb marc)
  • Bateria de 25 USD
  • ESC (controladors electrònics de velocitat) 0 $ (ve amb motors)
  • Motors de 70 dòlars

Controlador de vol

  • Arduino nano 20 dòlars
  • Cable USB Arduino 2 $
  • Mòdul Bluetooth (HC-05) 8 $
  • Resistències i cables LED de 3 mm i 330 Ohm de 13 dòlars
  • GY-87 (acceleròmetre, giroscopi) 5 $
  • Tauler prototip de 10 dòlars
  • Capçaleres masculí i femení 5 $

Altres

  • Kit de soldadura de 10 dòlars
  • Multímetre de 20 dòlars

Volia gaudir de la construcció d’aquest projecte com a enginyer, així que vaig comprar altres coses que no havia de fer.

Total: 208 dòlars

Pas 1: la meva experiència inicial

Després de comprar tots els meus components, ho vaig ajuntar tot i després vaig intentar llançar el dron, fent servir Multiwii (el software que utilitza la majoria de drones de bricolatge DIY), però em vaig adonar ràpidament que no entenia completament el que ho feia perquè hi havia molts errors i no tenia ni idea de com solucionar-los.

Després d'això, vaig decidir desmuntar el dron i comprendre cada component peça per peça i reconstruir-lo de manera que entengués completament tot el que passava.

A les següents seccions, passaré pel procés de separació del trencaclosques. Abans d’això, obtenim una visió general ràpida.

Física

Per al físic, hauríem de tenir: el marc, les hèlixs, la bateria i els escs. Serien bastant fàcils de combinar. Per entendre aquestes parts i quines hauríeu d’obtenir, visiteu aquest enllaç. Explica el que heu de saber sobre la compra de cadascuna de les peces que he indicat. Mireu també aquest vídeo de Youtube. Us ajudarà si esteu encallats en unint les peces.

Pas 2: consells per triar i depurar les parts físiques

Consells per triar i depurar les parts físiques
Consells per triar i depurar les parts físiques

Hèlices i motors

  • Per comprovar si les hèlixs estan en l’orientació correcta (capgirades o no), quan les gireu en la direcció indicada pels motors (la majoria dels motors tenen fletxes que indiquen com haurien de girar), hauríeu de sentir una brisa sota les hèlixs i no per sobre.
  • Els cargols de les hèlixs oposades haurien de tenir el mateix color.
  • El color de les hèlixs adjacents hauria de ser el mateix.
  • Assegureu-vos també que heu disposat els motors de manera que giren igual que a la imatge superior.
  • Si intenteu capgirar la direcció d’un motor, canvieu els cables per extrems oposats. Això invertirà la direcció del motor.

Bateria i alimentació

  • Si per alguna raó les coses estan disparant i no es pot entendre per què, és probable que tingueu intercanvis positius i negatius.
  • Si no esteu segur de quan carregar les bateries, podeu utilitzar un voltímetre per comprovar-ne la tensió. Si és inferior a les especificacions de la bateria, cal carregar-la. Consulteu aquest enllaç per carregar les bateries.
  • La majoria de les bateries LIPO no inclouen carregadors de bateries. Els compres per separat.

Pas 3: el controlador Arduino

El controlador Arduino
El controlador Arduino

Sens dubte, aquesta és la part més difícil de tot aquest projecte. És molt fàcil explotar components i la depuració pot ser molt frustrant si no sabeu què feu. També en aquest projecte vaig controlar el meu dron mitjançant bluetooth i una aplicació que us mostraré com construir. Això va fer que el projecte fos particularment més difícil, ja que el 99% dels tutorials que hi ha utilitzen controladors de ràdio (això no és un fet jajaja), però no us preocupeu, he passat per la frustració per vosaltres.

Consells abans d’emprendre aquest viatge

  • Utilitzeu una taula de proves abans de finalitzar el dispositiu en un PCB. Això us permet fer canvis fàcilment.
  • Si heu provat un component extensament i no funciona, probablement no funcionarà.
  • Mireu les tensions que pot suportar un dispositiu abans de connectar-lo.

    • Arduino pot suportar de 6 a 20V, però intenteu tapar-lo a 12V per no explotar-lo. Podeu llegir més sobre les seves especificacions aquí.
    • L'HC-05 pot suportar fins a 5V, però alguns pins funcionen a 3,3V, així que vés amb compte. En parlarem més endavant.
    • La IMU (GY-521, MPU-6050) també funciona a 5V.
  • Utilitzarem RemoteXY per crear la nostra aplicació. Si voleu construir-lo en un dispositiu iOS, heu d’utilitzar un mòdul bluetooth diferent (The HM-10). Podeu obtenir més informació al respecte al lloc web RemoteXY.

Esperem que hàgiu llegit els consells. Ara anem a provar cada component que formarà part del controlador per separat.

Pas 4: el MPU-6050

La MPU-6050
La MPU-6050

Aquest dispositiu té un giroscopi i un acceleròmetre, de manera que bàsicament us indica l’acceleració en una direcció (X, Y, Z) i l’acceleració angular al llarg d’aquestes direccions.

Per provar-ho, podem fer servir el tutorial sobre aquest. Podem utilitzar aquest tutorial al lloc web d'Arduino. Si funciona, hauríeu d'obtenir un flux de valors d'acceleròmetre i giroscopi que canvien a mesura que inclineu, gireu i accelereu la configuració. A més, intenteu modificar i manipular el codi per saber què passa.

Pas 5: el mòdul Bluetooth HC-05

El mòdul Bluetooth HC-05
El mòdul Bluetooth HC-05
El mòdul Bluetooth HC-05
El mòdul Bluetooth HC-05
El mòdul Bluetooth HC-05
El mòdul Bluetooth HC-05

No heu de fer aquesta part, però és important poder anar al mode AT (mode de configuració), ja que és probable que hàgiu de canviar una de les configuracions del mòdul. Aquesta va ser una de les parts més frustrants d’aquest projecte. Vaig fer tantes investigacions per esbrinar com posar el meu mòdul en mode AT, perquè el meu dispositiu no responia a les meves ordres. Vaig trigar 2 dies a concloure que el meu mòdul estava trencat. Vaig demanar-ne un altre i va funcionar. Consulteu aquest tutorial per entrar al mode AT.

L’HC-05 es presenta en diferents tipus, n’hi ha amb botons i d’altres sense i tot tipus de variables de disseny. Però això és constant que tots tenen un "Pin 34". Consulteu aquest tutorial.

Coses que hauríeu de saber

  • Per entrar al mode AT, només cal que mantingueu premut 5V per fixar el 34 del mòdul bluetooth abans de connectar-hi l'alimentació.
  • Connecteu un divisor de potencial al pin RX del mòdul ja que funciona a 3,3V. Encara el podríeu fer servir a 5 V, però pot sofregir aquest pin si alguna cosa surt malament.
  • Si utilitzeu el Pin 34 (en lloc del botó o d'alguna altra manera que heu trobat en línia), el mòdul establirà la velocitat de transmissió del bluetooth a 38400. És per això que a l'enllaç del tutorial anterior hi ha una línia al codi que diu:

BTSerial.begin (38400); // Velocitat predeterminada de l'HC-05 a l'ordre AT més

Si el mòdul encara no respon amb "D'acord", proveu de canviar els pins tx i rx. Hauria de ser:

Bluetooth => Arduino

RXD => TX1

TDX => RX0

Si això encara no funciona, trieu canviar els pins del codi per altres pins Arduino. Proveu, si no funciona, canvieu els pins tx i rx, proveu-ho de nou

SoftwareSerial BTSerial (10, 11); // RX | TX

Canvieu la línia anterior. Podeu provar RX = 2, TX = 3 o qualsevol altra combinació vàlida. Podeu veure els números del pin Arduino a la imatge superior.

Pas 6: Connexió de les peces

Connexió de les peces
Connexió de les peces

Ara que estem segurs que tot funciona, és hora de començar a muntar-los. Podeu connectar les parts tal com es mostra al circuit. Ho he obtingut de Electronoobs. Realment em va ajudar amb aquest projecte. Consulteu la seva versió del projecte aquí. Si seguiu aquest tutorial, no us haureu de preocupar de les connexions del receptor: input_Yaw, input_Pitch, etc. Tot això es gestionarà amb bluetooth. A més, connecteu el bluetooth de la manera que vam fer a la secció anterior. Els meus pins tx i rx em donaven problemes, així que vaig fer servir Arduino's:

RX com a 2 i TX com a 3, en lloc dels pins normals. A continuació, haurem d’escriure una aplicació senzilla que continuarem millorant fins que tinguem el producte final.

Pas 7: la bellesa de RemoteXY

La bellesa de RemoteXY
La bellesa de RemoteXY

Durant més temps vaig estar pensant en una manera senzilla de construir una aplicació remota utilitzable que em permetés controlar el dron. La majoria de la gent utilitza MIT App Inventor, però la interfície d’usuari no és tan bonica com voldria i tampoc no sóc un fan de la programació pictòrica. Podria haver-lo dissenyat amb Android Studio, però això seria massa feina. Em va emocionar molt quan vaig trobar un tutorial amb RemoteXY. Aquí teniu l’enllaç al lloc web. És extremadament fàcil d’utilitzar i la documentació és molt bona. Crearem una interfície d’usuari senzilla per al nostre dron. Podeu personalitzar la vostra com vulgueu. Assegureu-vos de saber què esteu fent. Seguiu les instruccions aquí.

Un cop fet això, editarem el codi perquè puguem canviar l’accelerador del nostre helicòpter. Afegiu les línies que tinguin el / **** Coses que heu de fer i per què *** / al vostre codi.

Si no es compila, assegureu-vos que teniu la biblioteca descarregada. Obriu també un esbós d’exemple i compareu el que té que el vostre no.

////////////////////////////////////////////////// RemoteXY inclou biblioteca // /////////////////////////////////////////////////

// RemoteXY selecciona el mode de connexió i inclou la biblioteca

#define REMOTEXY_MODE_HC05_SOFTSERIAL

#include #include #include

// Configuració de la connexió RemoteXY

#define REMOTEXY_SERIAL_RX 2 #define REMOTEXY_SERIAL_TX 3 #define REMOTEXY_SERIAL_SPEED 9600

// Hèlixs

Servo L_F_prop; Servo L_B_prop; Servo R_F_prop; Servo R_B_prop;

// Configurar RemoteXY

#pragma pack (push, 1) uint8_t RemoteXY_CONF = {255, 3, 0, 0, 0, 61, 0, 8, 13, 0, 5, 0, 49, 15, 43, 43, 2, 26, 31, 4, 0, 12, 11, 8, 47, 2, 26, 129, 0, 11, 8, 11, 3, 17, 84, 104, 114, 111, 116, 116, 108, 101, 0, 129, 0, 66, 10, 7, 3, 17, 80, 105, 116, 99, 104, 0, 129, 0, 41, 34, 6, 3, 17, 82, 111, 108, 108, 0}; // aquesta estructura defineix totes les variables de la vostra interfície de control struct {

// variable d’entrada

int8_t Joystick_x; // -100..100 posició del joystick de coordenades x int8_t Joystick_y; // -100..100 posició del joystick de coordenades y int8_t ThrottleSlider; // 0..100 posició del control lliscant

// altra variable

uint8_t connect_flag; // = 1 si el cable està connectat, en cas contrari = 0

} RemoteXY;

#pragma pack (pop)

/////////////////////////////////////////////

// END RemoteXY inclou // /////////////////////////////////////////////// /

/ ********** Afegiu aquesta línia per mantenir el valor de l'accelerador ************** /

int input_THROTTLE;

configuració nul·la () {

RemoteXY_Init ();

/ ********** Connecteu els motors als pins Canvieu els valors perquè s’adaptin al vostre ************** /

L_F_prop.attach (4); // motor frontal esquerre

L_B_prop.attach (5); // motor esquerra esquerra R_F_prop.attach (7); // motor frontal dret R_B_prop.attach (6); // motor posterior dret

/ ************* Eviteu que esc entri al mode de programació ******************** /

L_F_prop.writeMicroseconds (1000); L_B_prop.writeMicroseconds (1000); R_F_prop.writeMicroseconds (1000); R_B_prop.writeMicroseconds (1000); retard (1000);

}

bucle buit () {

RemoteXY_Handler ();

/ ****** Assigneu el valor de l’accelerador que obtingueu de l’aplicació a 1000 i 2000, que són els valors que més operen els ESC a ********* /

input_THROTTLE = mapa (RemoteXY. ThrottleSlider, 0, 100, 1000, 2000);

L_F_prop.writeMicroseconds (input_THROTTLE);

L_B_prop.writeMicroseconds (input_THROTTLE); R_F_prop.writeMicroseconds (input_THROTTLE); R_B_prop.writeMicroseconds (input_THROTTLE); }

Pas 8: proves

Si ho heu fet tot bé, hauríeu de poder provar el copter fent lliscar l’accelerador cap amunt i cap avall. Assegureu-vos de fer-ho fora. Tampoc mantingueu les hèlixs engegades perquè això farà saltar l’helicòpter. Encara no hem escrit el codi per equilibrar-lo, de manera que seria una MALA IDEA PROVAR-HO AMB ELS HPLIX. Només he fet això perquè lmao.

La demostració és només per demostrar que hauríem de ser capaços de controlar l’accelerador des de l’aplicació. Notareu que els motors tartamudeixen. Això es deu al fet que els ESC no s’han calibrat. Per fer-ho, mireu les instruccions d’aquesta pàgina de Github. Llegiu les instruccions, obriu el fitxer ESC-Calibration.ino i seguiu aquestes instruccions. Si voleu entendre què passa, consulteu aquest tutorial d’Electronoobs.

Mentre executeu el programa, assegureu-vos que lligueu el dron amb cordes, ja que funcionarà a tota velocitat. Assegureu-vos també que les hèlixs no estan engegades. Només vaig deixar el meu encès perquè estic mig boig. NO DEIXEU ELS HÈLIXS A PART !!! Aquesta demostració es mostra al segon vídeo.

Pas 9: Estic treballant en el codi. Acabarà l'instrumentable en pocs dies

Només volia afegir que, si esteu fent servir aquest tutorial i m'espereu, encara hi estic treballant. Només han aparegut altres coses de la meva vida en què també estic treballant, però no us preocupeu, ho publicaré aviat. Posem per cas el 10 d’agost de 2019.

Actualització del 10 d'agost: no us volia deixar penjat. Malauradament, no he tingut temps de treballar en el projecte la setmana passada. He estat molt ocupat amb altres coses. No vull conduir-te cap endavant. Tant de bo completi allò instructable en un futur proper. Si teniu alguna pregunta o necessiteu ajuda, podeu afegir un comentari a continuació i us respondré.

Recomanat: