» Electrònica » Arduino »Sistema d’estabilització d’avions casolans basat en Arduino

Sistema d’estabilització d’avions casolans basat en Arduino


Recentment, m’he interessat pel tema del model d’avions. I després va començar: va construir un avió, va comprar equipament. Anticipant la ràpida desaparició del primer model sense sortir de la taquilla, va començar a recollir el segon, alhora que treballava al simulador. En general, he endarrerit el primer vol real com he pogut, amb por de trencar-me en moviment el model. I, per casualitat, emplatant els espais oberts d’aliexpress, em vaig trobar amb una cosa interessant: un sistema d’estabilització de vol. Es tracta d’un dispositiu de mida petita del receptor que ajusta el vol d’un avió, fent-lo més suau, suavitzant els defectes del pilot. Començats a cercar, llegir, diuen, i realment una cosa bona per als principiants. Bé, aquí m'he acomiadat, jo vull i almenys us heu esquerdat. Simplement, el pressupost ja s’estava esgotant ... Sembla que l’avió construiria una qüestió de 10 dòlars al sostre i compraria equipament, comprarà una bateria, comprà un carregador, un motor, un regulador, servos, hèlixs ... En definitiva, passen moltes coses. Una mica deprimit, però sense renunciar, vaig començar a treure'm la part del darrere del cap: Duc, puc fer una soldadura. Va començar a cercar i va trobar gairebé immediatament un petit article titulat "El sistema d'estabilització de l'avió per a 200 rubles". Un petit article molt modest amb una implementació molt modesta. Però això ja és alguna cosa. Va pujar a fòrums estrangers, i heus aquí, aquest és un projecte enorme amb un desenvolupament constant. Decidit, ho farem!

El projecte s’anomena MultiWii. Inicialment, va ser concebut com un controlador de vol basat en multicòpters arduino, però, amb el pas del temps, van començar a créixer i millorar. Ara hi ha un codi que permet posar aquest sistema d’estabilització en avions i ales V. Per a una execució més senzilla, com a l'article anterior, només necessitareu 2 coses: arduino i acceleròmetre. Tot això es pot soldar amb cables, omplir-se amb mocs calents i funcionarà. Però pot i serà, només no funciono així.




Per tant, per a la fabricació d'un dispositiu complet, necessitareu:

  • Arduino PRO Mini, 5V, Atmega 328
  • Mòdul d’acceleròmetre de tres eixos amb giroscopi MPU-6050
  • Combina pls
  • Un tros de fibra de vidre de fulla, si fas el tauler tu mateix.
  • Resistència SMD 500-1500 Om
  • LED de 3 mm qualsevol.

De les eines:

  • Planxa de soldar
  • Soldadura
  • Flux (recomano F5)
  • USB - Convertidor UART CP2102 o similar
  • Model / clerical / ganivet de muntatge per a la funda

Bé, les petites coses, cinta a doble cara, tisores, pals d’orelles, pinces, què hauria de servir als més petits.

Com he dit, el projecte està creixent i es desenvolupa. Així que aquí podeu cargolar un altre mòdul Bluetooth per configurar el controlador des del telèfon, un baròmetre, per controlar l'altitud, GPS per tornar el model "a casa" en cas de pèrdua de senyal. A més d’això, també creix el tema dels receptors improvisats basats en el mateix arduino i un mòdul de comunicació barat A7105, que sense intervenció quirúrgica s’interconecta amb el meu equip FlySky i6, de manera que en teoria podeu connectar aquests dos projectes i obtenir cervells complets per a un avió, un planador. o ales. I en un compartiment amb els equips de pressupost esmentats, que passen tranquil·lament de 6 canals a 14, generalment resulta perfecte per a un principiant pels seus diners.

Per aquest motiu, vaig intentar que la placa de circuit d’aquest dispositiu fos el més senzilla possible, és a dir, d’una sola cara i amb una planxa. Per descomptat, caldrà coneixements en electrònica de ràdio, almenys la capacitat de vendre més o menys qualitativament, podeu demanar un tauler i en casos extrems, però en essència és un dissenyador: vaig cosir un arduino, el vaig soldar, el mòdul i el pentinat a la pissarra, ja està a punt. Mínim esforç.


Arduino



Per al firmware arduinka, necessitareu un convertidor especial USB - UART (TTL), perquè Arduino PRO Mini no té interfície USB. No hauríeu de tenir por d’això, per regla general, els podeu comprar al mateix lloc on es ven arduino i mòduls. L’única diferència del firmware a través d’aquest convertidor és que cal prémer hàbilment el botó de restabliment del arduino mateix estrictament en el moment de descarregar l’esbós, tot i que hi ha convertidors que tiren el peu de restabliment. No descriuré el procediment per penjar un croquis, ja hi ha un milió d'articles i vídeos sobre aquest tema escrits i rodats.

Comissió



El següent pas és fer la junta. El tauler està fabricat per qualsevol tecnologia disponible o encarregada. Aconsello molt que esquinça les pistes, és millor utilitzar aliatge ROSE o WOODA, de manera que la capa sigui el més petita possible, els corrents grans no hi vagin, i és millor protegir el coure de la corrosió excessiva, la pluja, la neu, mai se sap, encara no és un dispositiu domèstic. Vaig fer una llengüeta LUT, no el millor resultat, podeu fer molta impressora dolenta, però a qui li importa)



El primer que cal soldar els saltadors.



Al darrere hi ha arduino. Les potes per fer palpejar l’arduqui han de soldar-se o angular de costat. Podeu emplenar l'esbós de seguida, no podeu omplir-lo, no importa perquè el dispositiu muntat encara haurà de connectar-se a l'ordinador, de manera que els contactes de programació haurien de ser fàcilment accessibles. L’únic consell és revisar l’ardu abans de soldar, emplenar qualsevol esbós de prova i assegurar-se que el tauler està parpellejant. Només soldadura serà les hemorroides.



Bé i tota la resta. L’acceleròmetre es solda a les potes altes i es troba per sobre de l’ardu. No ocultaré un pecat, vaig espiar una disposició en un fòrum estranger a un de venut, però vaig dibuixar el meu propi mocador unilateral. Pel que fa a mi, l’absència de tres saltadors no val la pena embolicar-se amb un tauler de doble cara, per molt que no es consideri la mala forma de la presència d’aquests mateixos saltadors.




Una advertència. Hi ha una resistència i un LED a la pissarra. El format SMD de resistència es pot deixar fora d'alguns equips trencats, el valor nominal de 500 Ohms - 1,5 kOhm. Podeu agafar un LED ordinari de 3 mm, jo ​​tenia un rectangular, el vaig soldar.


En aquesta fase, el dispositiu, en principi, ja es pot connectar i configurar, però com em sembla incomplet. Electrònica per als models controlats per ràdio ha adquirit un caràcter modular des de fa temps. Per tant, crec que s’ha de portar aquest dispositiu al mòdul acabat, que és fàcil de muntar en el model i connectar-lo. Per fer-ho, necessita un cas. Una bona opció seria imprimir-la en una impressora 3D, el plàstic que s’utilitza per a la impressió és lleuger i durador. Però no tothom ho té. Podeu fer la funda mitjançant termoformat, a Internet hi ha molta informació sobre com es pot fer una màquina senzilla per a això des d’un aspirador, fusta i un tros de fusta contraplacada. Però per això cal fer un bloqueig, i això és una mandra. Sobre això, vaig agafar el camí de menys resistència. Sí, i aquest mètode serà similar a aquest article: per fer-lo el més senzill possible, utilitzant un mínim d’eines.


Habitatge

Vaig tallar dos trossos de plàstic segons la mida del tauler, en el meu cas de PVC transparent i prim, però podeu utilitzar qualsevol cosa que vulgueu, una caixa d’un disc, per exemple. No he fet fotos intermèdies, però crec que serà clar de totes maneres.Utilitzant una regla, vaig mesurar la distància als contactes del tauler i els vaig tallar les finestres a la part superior del "maletí". Vaig perforar coaxialment els forats de la pissarra i els vaig connectar juntament amb els reblons improvisats dels tubs de les barretes. Per fer un rebliment, n’hi ha prou de subjectar amb cura la punta del tub a la flama de l’encenedor i, quan es forma una afluència, pressionar-la contra el cos d’aquest encenedor. Al revers, tallem els tubs deixant un parell de mil·límetres i fem el mateix. Com a espaciadors utilitzaven segments del tub des del comptagotes. Com a resultat, va sortir un sandvitx:




Fàcil de fer, lleuger, senzill i fiable. Ja és convenient muntar-lo al fuselatge de l'aeronau enganxant al fons un parell de tires de cinta de doble cara "automobilística". Però, per a la imatge completa, encara necessiteu una placa informativa, que us dirà d’aquí a mig any, quan ja es muntaran altres onze esquemes a què connectar-vos.




La placa identificada impresa en paper brillant autoadhesiu. Ha comprat recentment específicament per a aquest propòsit. Anteriorment, vaig fer això: imprès en el que és, plastificat amb cinta adhesiva i enganxat a cinta a doble cara. Els més atents podrien valorar el meu nivell d’anglès)

Ara el dispositiu es pot anomenar realment mòdul preparat. El pes total de 15,5 grams. Massa en comparació amb el comprat, però en general, res. Almenys el meu model amb un rang de 950mm tirarà sense problemes. Però si persegueu el pes, podeu desvelar l’arduí de la pols solta directament a la pissarra, estalvieu 2 grams, utilitzeu un textolit de mil·límetre prim (jo vaig fer servir un, mig i dos o dos mil·límetres), no feu cas. Però val aquests 5 grams? Per exemple, el pes del receptor natiu de la meva aplicació és de 16 grams.
El dispositiu s’ha de situar en un pla horitzontal, la fletxa indica la direcció del moviment. A més, el dispositiu no es pot instal·lar cap per avall. Per més claredat, us adjunto una imatge




Configuració, calibració

Ara aneu a la configuració. Primer heu de connectar el dispositiu a l’ordinador i, a continuació, obrir la interfície d’usuari gràfica adjunta. Si no hi ha problemes amb els controladors, el port hauria d'aparèixer al programa:




El seleccionem. Ara cal calibrar l’acceleròmetre. Premem el botó READ i, si tot és correcte, podem observar les lectures del sensor en temps real. Posem el dispositiu sobre una superfície plana i premem CALIB_ACC. Normalment una "superfície plana" és una taula a prop de l'ordinador, de manera que quan premeu la calibració, mantingueu les mans lluny de la taula. Qui no se’n recorda, l’acceleròmetre és un sensor d’acceleració. De manera que qualsevol vibració o vibració en la calibració no tindrà cap efecte positiu. Però si és possible, és millor calibrar-lo en una superfície exposada al nivell. El giroscopi es calibra cada vegada que s’encén, de manera que no cal calibrar. L’única cosa és que quan enceneu el model haureu d’estar estacionaris. És a dir, posem el model a terra, l’encenem i no el toquem. El giroscopi es calibra immediatament. La calibració s'indica amb un LED signat com a ESTATUS.




Configureu immediatament AUX1. És convenient que utilitzi un commutador de tres posicions, si n’hi ha un a l’emissor. A un nivell baix (l’interruptor està a la primera posició), l’estabilització està desactivada, a un nivell mitjà (i posició respectivament) s’encén un acceleròmetre i, a un nivell alt, un giroscopi i un acceleròmetre. Per a un vol normal, en principi, és suficient un acceleròmetre, normalment es fa servir un giroscopi per a vols de FPV. Què seria tal com he descrit: estableix els valors tal com es mostra aquí:



Una mica sobre altres configuracions. PID - Aquests són els paràmetres de l'estabilització en si. En poques paraules:

  • Pàg és el valor de la força correctora aplicada per tornar el model a la seva posició inicial.
  • Jo És el període de temps durant el qual es registren i promedien les desviacions angulars.
  • D - aquesta és la velocitat amb què el model tornarà a la seva posició inicial.




Us aconsello que no toqueu aquests paràmetres abans del primer vol. L’estabilització funciona bé amb valors bàsics, i allà ja podeu tensar si alguna cosa no us convé.

A continuació. TPA responsable del valor d’aquestes configuracions PID segons la posició del gas. Amb un valor de 0,00, els valors PID seran els mateixos en qualsevol posició de gas, és a dir, com s'esperava, a qualsevol velocitat. Amb un valor d’1,00 amb gas, el PID 100% serà zero, és a dir, es deshabilitarà l’estabilització. A un valor del 0,5 per 100% del gas, les càpsules seran iguals al 50%, respectivament. Aquí ja s'està ajustant per l'avió i pel vostre estil aeròbic, fins ara he deixat el 50%.

També al canal Aux2 cal configurar el reforç. Armar és un terme copter. Humanament, es diu desbloquejar el motor. En avions, això s’acostuma a implementar mitjançant equips de control, però des de llavors Aquest controlador era originalment copista, aquí es va fer bastant dur. En general, pengem algun tipus de commutador de commutació gratuït a AUX2, al programa establim ARM a un nivell alt. Aquí, algú pot voler enganyar i configurar el desbloqueig a tots els nivells d’AUX2, però només no falla. En aquest cas, la multivisió es nega en absolut a arrencar el motor. Es pot suposar que es tracta d’un error, però crec que aviat la protecció. L'avió només vola cap endavant i només déus saben on esclatarà el segador incontrolat.

Per cert, això és realment convenient. Concretament, a la meva aplicació, el motor es desbloqueja movent el commutador cap amunt. En aquest cas, cal posar en marxa l’equip només amb tots els interruptors de commutació a la posició superior. És a dir, resulta que cal engegar l'equip, moure el commutador cap avall per bloquejar el motor i, després, transferir-lo de nou per desbloquejar-lo. I no podeu invertir el principal. De seguida resulta humanament, a la posició superior el motor està bloquejat, a la part inferior desbloquejada.




A la pestanya SERVO podeu revertir els servos si cal. Aquí ho van fer d’una manera intrincada. Primer heu de prémer SERVO. Apareixerà una llista de servos i nivells. Si premeu ara el botó inversa i proveu de guardar, no s’estalviarà res. Primer cal que premeu GO LIVE i, després, quan es rebutgen els pals, serà possible observar la desviació de nivell a la finestra. Ara premem el botó invers del canal desitjat i, després, premem SAVE. Ara s’ha enregistrat tot.




Un punt important per desconnectar el dispositiu de l’ordinador. Si traieu els cables de programació del dispositiu o traieu el convertidor del port USB sense tancar el port COM o el programa MultiWiiConf, el sistema es bloquejarà i la pantalla blava tindrà aproximadament el 100% de probabilitats. Almenys a la meva portàtil ho és. Fins i tot vaig comprovar específicament. No sé si es tracta d’un problema amb el meu maquinari o si reacciona, és visible al port COM virtual, però si s’adverteix, vol dir que està armat. Tingueu en compte.

I alguns altres paràmetres que poden ser útils. Si el receptor sap emetre un senyal PPM, és possible que vulgueu transmetre-ho a la multivisió. Per fer-ho, obriu el fitxer del firmware, aneu a la pestanya config.h i cerqueu la secció Recomanador de sumes PPM (glorificat Ctrl + F). Aquí heu de descomprimir dues línies. Qui no estigui al tema, sense fer comentaris, això vol dir eliminar dos ratllats al principi de la línia. Va ser així:


// # define PPM_ON_THROTTLE


Es va convertir en:

#defineu PPM_ON_THROTTLE


També heu de descomprimir una d'aquestes línies, segons el maquinari:

// # define SERIAL_SUM_PPM PITCH, YAW, THROTTLE, ROLL, AUX1, AUX2, AUX3, AUX4,8,9,10,11 // Per Graupner / Spektrum
// # define SERIAL_SUM_PPM ROLL, PITCH, THROTTLE, YAW, AUX1, AUX2, AUX3, AUX4,8,9,10,11 // Per a Robe / Hitec / Futaba
// # define SERIAL_SUM_PPM ROLL, PITCH, YAW, THROTTLE, AUX1, AUX2, AUX3, AUX4,8,9,10,11 // Per a multiplex
// # define SERIAL_SUM_PPM PITCH, ROLL, THROTTLE, YAW, AUX1, AUX2, AUX3, AUX4,8,9,10,11 // Per a alguns Hitec / Sanwa / Altres


En el meu cas, aquesta és la segona línia, on es troba Futaba (per a què tinc l'equip FlySky). Aquí pot ser necessari seleccionar empíricament, és possible prescriure tu mateix la seqüència desitjada. D’una manera o d’una altra, no hi ha res complicat. Recopilem l’esbós i l’emplenem amb un de nou. Per tornar al mode normal, feu el contrari, comenteu les línies, compileu, ompliu. Vull parar atenció, després de tornar a carregar l’esbós es desactivaran tots els ajustos i la calibració, tingueu en compte això.

Un altre problema comú que, tal com ho entenc, es troba sovint i no en sóc una excepció.Després que tothom s’hagi muntat i configurat, ha connectat tots els volants: el timó flota. Les nanses del comandament a distància estaven retorçudes - semblava estar al seu lloc, però si la planadora va agitar una mica - torna a flotar cap al costat i en un angle força greu. Es tracta elementalment: al programa GUI, definiu el valor Sí - Jo a zero. El problema desapareix de seguida.


Bé, el vídeo funciona:


Conclusió

En general, si teniu experiència en la fabricació de plaques de circuit imprès, el dispositiu es munta en una nit. Ja vaig fer els paràmetres bàsics per a l’avió a l’esbós jo mateix, la resta que vaig descriure a l’article. S'havia de recopilar informació en diversos fòrums, principalment estrangers. Tot i això, faig enllaços a diverses fonts que ajudaran en cas d’altres problemes, encara que no n’hi hagi.

, del qual vaig agafar en préstec el factor de forma del consell. No ofereixo comprar, però el tema té una guia detallada sobre la configuració del firmware en anglès. És cert per a l’antiga versió del firmware, però a la nova tot és gairebé el mateix. També hi ha un mode a la branca que permet ajustar els paràmetres PID en temps real mitjançant els equips de control del potenciòmetre.

. Té el seu propi firmware reescrit personal, diuen que està idealitzat per a avions. Però de nou, la versió antiga. Podeu provar-ho, però per l’aparició de glitches no descrites en aquest article, no en sóc responsable. Hi ha moltes descripcions de la configuració.

. Però la informació útil bàsica que s’hi descriu, és a dir, el tractament del timó, ja la he explicat. Tot i això, mai no se sap.

El cost total oscil·la entre els 4-8 dòlars, depenent del preu que es va comprar l'arduino i el mòdul, hi ha un textolite a casa, hi ha un programador. En qualsevol cas, aquest és diverses vegades inferior al valor de mercat a partir de 20 dòlars per dispositiu amb les mateixes característiques. Personalment, em va costar 2 dòlars, es va comprar un estoc de arduino amb aquest propòsit fa un any, no només hi havia un mòdul.

A l’arxiu que s’adjunta a continuació hi ha un esbós per a arduino, el programa de configuració de MultiWiiConf per a diferents sistemes operatius, un fitxer de placa de circuit (per obrir cal SprintLayout no menys de la versió 6), així com una placa de circuit imprès en format PDF, per a aquells que no tinguin una impressora làser a casa ( cal imprimir al 100%).


airplain_stabilization.rar [10,64 Mb] (descàrregues: 234)

Molta sort a tots els que heu treballat!
10
10
9.9

Afegeix un comentari

    • somriuresomriuxaxad'acordno ho séyahoonea
      capratllarximplesísí-síagressiusecret
      ho sentoballarballar2ballar3perdóajudarbegudes
      pararamicsbébondatxiuletswoonllengua
      fumaraplaudintcranideclararderisiudon-t_mentiondescarregar
      calorirritariure1mdareuniómosquitnegatiu
      no_icrispetescastigarllegirporespantosbuscar
      burlargràcies_youaixòto_clueumnikagutd'acord
      dolentbeeeblack_eyeblum3ruborpresumirl'avorriment
      censuradaplaersecret2amenaçarvictòriatusun_bespectacled
      xocrespectlolpreveurebenvingudaKrutoyja_za
      ja_dobryiajudantne_huliganne_othodifludprohibicióa prop
9 comentaris
Convidada Gennady
En general, els experiments no van tenir èxit, l'ardorka es va cremar. Estem esperant un nou dels germans xinesos per continuar.
L’autor
I també cal comentar la línia, al mateix tram, que es troben a prop.
L’autor
I com us vau connectar amb el receptor, mitjançant PPM o canal per canal? Si canal per canal, haureu de buscar la secció a l'esquema a la pestanya conhig.h Recomanador de sumes PPM i comenteu-ho de nou sobre la línia, llegiu el final de l’article. Si no funciona a través de PPM, comproveu si heu oblidat canviar l'equip i el receptor al mode PPM.
Convidada Gennady
Hola Muntat, penjat un croquis a arduino, al programa es mostren desviacions. Però no puc connectar-me a equips de rc. Els servidors no funcionen, o més aviat "sonar".
L’autor
Donar-se de baixa, si és possible, al compte del resultat, haureu resolt el problema o no. I si és així, com. Serà útil per a altres lectors.
Valery K.
Gràcies per la resposta Intentaré una altra versió. I, sé que no es tracta d’un pilot automàtic. Necessito un estabilitzador de vol.
L’autor
Salutacions. Tenint en compte que l’esbós funciona 100% i les biblioteques s’integren en l’esbós mateix, l’únic que em ve al cap és l’antiga o viceversa, una versió molt nova Arduino IDEPer alguna raó, de vegades amb la versió "equivocada", l'esbós no es compila, només ha passat una vegada, però els fòrums solen escriure sobre aquest problema. No recordo quina era la versió quan la vaig recollir, però ara la vaig comprovar, tot es va recopilar. Versió 1.8.6
Llegiu també les fonts que s’adjunten al final de l’article, potser algú també ha trobat algun problema.
P.S. No es tracta d’un pilot automàtic. També hi ha un projecte de pilot automàtic per a arduino, busqueu ardupilot.
Valery K.
Benvolgut autor, he creat un pilot automàtic per al vostre article. Però quan el firmware no es va produir a causa de la falta de finalització de la recopilació de l'esbós. Demano ajuda, perquè, malauradament, no sóc programador. He treballat recentment amb arduino i hi ha poca experiència, però la caça està volant.
L’autor
Em vaig oblidar d’escriure sobre un altre problema. El motor només es posa en marxa si l'aeronau es troba en posició horitzontal. És possible que, durant el vol, faci un bucle, per exemple, i per algun motiu treureu el gas a zero, pot passar per accident. Així que després d’això, pot ser que el motor ja no s’engegui. La manera més fàcil de resoldre el problema és deixar que el senyal de gas del receptor a través del cable Y, un està connectat directament al controlador, el segon a la multivisió. Però això només funciona si no feu servir PPM. En el cas de PPM, aquest jamb s'ha de tractar amb codi.

Us aconsellem que llegiu:

Doneu-lo al telèfon intel·ligent ...