Está en la página 1de 10
‘Aoéndice 4, Ottencion Expermentalde las Constantes de Sustentacon y Arrastre de Sistema Moto-Propeéa ART Obtencién del parametro b Al igual que en el experimento para determinar la consiante de sustentacién, es necesario tomar un nlimero apropiado de mediciones para encontrar correctamente el valor de b. Para ello se deberan de introducir los datos en una tabla como la que se muestra a continuacion Medicién| _m t wo tw 1 m | ou | w | ow 2 m | & | w | ow i Ea u o [iw Tabla A 4-2 Table de meciciones para deteminar el parametro b Es importante mencionar nuevamente que, una vez que se obtenga la regresion lineal, debe verificarse que el coeficiente de determinacién tenga un valor cercano ala unidad (R? © 1). Lo anterior, para asegurar que él ajuste es valido .cién de los Controladores Electrénicos de Velocidad Calibracién y correcta uti (ESC) En el Capitulo 3, correspondiente al Disefio Mecanico y Electronic, se piantea la utifizacién de Controladores Elecirénicos de Velocidad (ESC) como etapa de potencis para los motores brushless. Estos dispositivos se encargan de proporcionar la corriente necesaria para el movimiento de los actuadores, ademas Ge regular su velocidad de rotacién, con base en una se‘ial de control recibida desde el controlador de vuelo. Dicha sefial consiste en un pulso PWM con una frecuencia aproximada de 50 [Hz]; la velocidad de! motor varia conforme se incrementa el tiempo en alto del pulso de 1 [ms] 22 [ms] Para poder utilizar un ESC apropiadamente, resulta necesario efectuar cietas configuraciones previas, especificamente las operaciones de armado y calibracién. Se dice que un ESC se encuentra armado cuando esta a la espera de una sefial de control para empezar a mover el motor. Dicho de otra forma, el armado es la inicialzacién necesaria para que el circuito controlador pueda realizar correctamente su tarea. La calibracién consiste en especificar los limites de operacién entre los cuales ha de funcionar el dispositive, y que corresponden cirectamente con una velocidad de rotacion nula y aquella que alcanzara e! motor a maxima capacidad. Si el ESC se encuentra descalibrado, no se producira el armado Gel circuito, y por ende, éste no funcionaré 838 Apéendices Estas dos operaciones pueden efectuarse de una manera muy sencilla Considérese la configuracién mostiada en la Figura A.4-4. En ella se muestran un potenciémetro alimentado con 5 [V] en sus extremos, y cuya terminal central se conecta a una entrada analogica de un microcontrolador, a partir del cual se envia una sefial de control PWM hacia el ESC, que se encuentra coneciado al motor brushless mediante las tres terminales correspondientes El proceso de armado se da mediante el siguiente algoritmo: en primer término, debe enviarse la sefial de armado al ESC, la cual consiste en un pulso de aproximadamente 1 [ms] de tiempo en alto, con la ya sabida frecuencia de 50 [Hz] Si se utiliza la plataforma Arduino, lo anterior puede lograrse mediante la llamada al método write(@) (0, equivalentemante writeMicroSeconds(19@8)) para un objeto del tipo Servo, encontrado en la libretia Servo.h. Para esto, previamente debe de haberse creado dicho objeto y declarado la terminal que se utilizara para enviar la sefial de control. Mas adelante, se muestra el codigo generado en la IDE de Arduino para efectuar la calipracion de los ESC y la caracterizacion de los motores en el presente proyecto. Para la calibracion debe enviarse la maxima sefial PWM admisible, correspondiente con un pulso con un tiempo en alto de aproximadamente 2 [ms]. Esto se logra si previamente se posiciona el potenciémetro en el extremo en el cual el potencial en la terminal central sea maximo. Mediante el micracontrolador, se lee esta sefial de tensién, se calcula el correspondiente tiempo en alto, y se envia al ESC sin alimentar. Una vez hecho esto, se procede a conectar el ESC a la bateria o fuente de alimentacién, y se cambia répidamente la posicién del potenciémetro hasta el extremo opuesto. En este punto, debe escucharse una serie de pitidos emitidos por el motor y, adicionalmente, se encendera un LED en el ESC; lo anterior indica que éste ha sido calibrado apropiadamente. Si ahora se modifica la posicién angular del potenciémetro, el motor debe girar con una velocidad proporcional al potencial de la terminal central Si se dispone de un radiscontrol y de un dispositive receptor de radiofrecuencia, puede realizarse este mismo procedimiento, conectando directamente la terminal throttle del receptor a la sefial del ESC. De esta forma, el joystick del radiocontrol realizar la funcién del potenciémetro A continuacién, se presenta el cédigo fuente del programa generado en la plataforma Arduino para la calibracién de los ESC y para realizar las pruebas de caracterizacién. Para ello, se utiliz6 el microcontrolador ATMega 2560, incorporado enla tarjeta Flight Controller MultiWii AIO V2, cuyas caracteristicas se presentan en el Capitulo 3. Apéndice 4, Ottencién Expermentalde las Constntes de Sustentacon y rrastre de Sistema Moto-Proneéa AIS //Progrema para celibracién de ESC y celibracién de motores brushless include [Pincluir 12 iprerfa Servo-h //DeFinicién de constantes define PINMOTOR 3 define MAXIMOPWM 2000 define MINIMOPWM 1000 define BAUD 9690 int Pot = 405 //entrada analégica del potencinetro Servo Mots //declaracisn del objeto Mot de 1a Libreria yiserve //Oeclaracion de variables int val=03 int auxiniar=0; J1Funcién de configuracién setup() void setup() £ Serial. bezin(BAUD); //Inicializacién de 12 conunicacién serial Pinllode(Pot, INPUT); //Declaracién de 1a terminal Pot como entrada Mot.attach(PINMOTOR); //Decleracién de 1a termine PINNOTOR cono //salida asociada 2 objeto servo MOT Mot .urite(@) 5 /Pinstruccién de armado delay(500); //Retardo de 502 [ns] J/Fin de 1a funcién de configuracién //Funcién principal 1o0p() void 1009() { //Lectura del valor enalégico de Pot, mapeo y restriccién al intervalo de /JAINIMOPWM (1020) 2 MAXTHOPWM (2000). Envio del tiempo en alto de //la sefial Pu hacia el ESC val = analogead(Pot); val=nap(val, 0, 1023, MINIMOPWH, MAXINOPHI) ; val=constrain(val , INIMOPW,MAXINOPWM) ; Mot .writeticroseconas(val) delay(15)3 //Desplicgue de datos por puerto serisi sdte si el valor cambia if(Seriel.aveilable()70) { eurilior=Seriel.reed() 5 Serisl.printin(val); y W/Fin de 12 funcién principal 1009() ‘40. Apendices Resultados En la Tabla A.4-3 se presentan los resultados obtenidos en la prueba para la determinacién de la constante de sustentacién & de los motores brushless. Los valores obtenidos para todos los actuadores son idénticos. ae Determinacion dela constante de sustentacion k Janams}| et [Weds | mt | Tiel | Tosbal [ulwmil] wean | wyaany | TM in) [ 006 owes [eo | two | oa [ovo cox mati) | 0131 onse | coe| no [sem] sera sansans_| oz ne [ost | — tnd] 20] ees [rei | ose oxwser | re | rama | 10100 | tosraess | ries anr7 | ogate ‘Ose c1ae | vac] 41s | os area tas | TT ‘ower [cies | wee [ao | rta0i7 | noresaras [14270 Ose 185 | veer] —vae50_—[ apatos | zinss 2176 | _1650e omit cree | 17m | x60 | a7ipaone | onseeraeres | 20772 Tabla A4-3 Datos experimentales para la determinacisn de la constante de sustentacn ke Como se habia mencionado anteriormente, el empuje en funcién de la velocidad ‘angular producido por un conjunto rotor-propela se ajusta a una curva polinomial de segundo grado de la forma dada por (6). A partir de los datos recabados en la tabla anterior, se puede apreciar graficamente esta tendencia en la Figura A.4-5 TiN) Gréfica para Tvs @ 20 = T= TIE 014 636.505.7605 050 Fpnomeay coe 3 Figura A.4-5, Grafica de empuye contra velocidad angular para el par motor prapela, ‘Apéndice 4, Ottencién Expermentalde las Corstantes de Sustentaco y Arrastre del Sistema Moto-Pronea AGT La simpiificacién adicional mas frecuente del modelo anterior consiste en despreciar los términos de orden uno y cero, y asumir que la {uerza de empuje es proporcional al cuadrado de la velocidad angular, tal como en la expresion (1). Realizando un juste lineal entre el empuje y el cuadrado de la velocidad angular, con base en los datos obtenidos, se obtiene la siguiente arafica TIM Determinacién de la Constante de Sustentacién k 20 10 Teor +1.76-02 200 os wo fy Figura A 4-6. Grafica de empuje contrael cuadrado de fa velocidad angular para el par motor-propela En las dos graficas anteriores, se observa que el coeficiente del término cuadratico 8 el mismo. Dicho valor representa la constante de sustentacion para e! par motor- propela. k=7.7 1077 [N-s?] De igual forma, se tiene que el coeficiente de determinacién R’ es muy cercano a la unidad en ambos casos, lo cual indica que el ajuste efectuado explica satistactoriamente la dispersion de datos recopilados durante la prueba. Por otro lado, para el caso de la constante de arrastre 5, se tienen los siguientes resultados experimentales: Constantes: tee ee Determinacion de la constante de arrastre b [etkg-mve}| 973 | medicién | mis] | tm) [ufrewimin)] wiradel | winamp | 1 Nm) him | 008 0 | ose | 04s © | 0000 | o.oc00 [00000 motte) | 014501 1 wre [016 | 15905 | rease77 |zrrs115.7008] 01701 Tabla A4-4, Datos experimentales para la determinacion de la constante de arraste b. 42. Apendices La razén por la cual se tienen tan pocos datos en esta prueba es que el par producido por el motor practicamente no varia respecto a la velocidad angular, Gebido a esto, el banco de pruebas disefiado no posee suficiente resolucion para Getectar dicho cambio. Con base en los datos anteriores, se tiene la siguiente orafica: + Wem) Determinacién de la Constante de Arrastre b on ous ao F-61608! on R= 1.000640 2 10° ey Figura A47. Grafica de empyje contra el cuadrado de a velocidad angular para el par motor-propela De acuerdo con (7) , la constante de proporcionalidad que relaciona el par del motor y el cuadrado de la velocidad angular se denomina constante de arrastre b; de la orafica anterior, se observa que: b= 6.1 x 10° [N-m-s?] Apéndice 5 Protocolo de Comunicacion Serial Multiwii (MSP) 1 mayor problema en la comunicacién € lailusion de que ésia se ha logrado, George Bernard Shaw (1856-1950) Las palabras ‘informacion’ y’ comunivacién * 2 menudo se utlzan como sinénimos, pero significan cosas muy afferentes. Informacion es dar, comunicacion es entender. ‘Syaney J. Harris (1917-1985) EI Protocolo de Comunicacién Serial Multiwii (MSP, Multiwii Serial Protocol), es un algoritmo creado para efectuar solicitaciones de informacion y ejecutar instrucciones y comandos en Tarjetas Controladoras de Vuelo (FC, Flight Controller) compatibles con la plataforma de software Multiwii, la cual es ampliamente utilizaca por aficionados y disefiadores de aeronaves multirotor alrededor del mundo. Las caracteristicas principales de MSP son las siguientes: ~ _Ligero y portable. - Genérico, amigable y transparente al usuario. No requiere software especial para su ejecucién - Embebido dentro del cédigo principal de Multiwit - Eficiente paralla transmisién de informacién: inicamente los datos solicitades son enviados en un formato binario. Lo anterior permite un manejo y piocesamiento mas ordenado de Ia informaci6n, evitando saturacion y uso excesivo de recursos. - Seguro. Los datos se verifican a través de verificacién por redundancia ciclica (CRC), lo que permite carantizar la integridad de la informaci6n transmitida Aad Apendices - Met6dico y estructurado. Posee un preludio o cabecera especiiico para el envio 0 recepcion de datos. Esto es itil, ademas, debido a que puede uiiizarse en paralelo con otros protocolos de comunicacién (GPS, Bluetooth, etc) sin que exista colision de datos ni canficcto alguno. = _Disefio muttiplataforma con baja sensibilidad ante evolucién de versiones de software Un aspecto que es fundamentalmente importante en el funcionamiento de MSP es que éste nunca envia informacion o ejecuta instrucciones por si mismo; siempre debe hacerse una solicitud externa para transmitir datos o realizar alguna accion en el FC_ Esto permite un mayor control sobre el flujo de datos y hace del protocolo una herramienta fiable y eficiente Existen dos tipos basicos de solicitaciones por parte del usuario hacia el MSP. La primera de ellas es una llamada para acceder a datos internos de! FC (por ejemplo, valores de lecturas de los sensores), mientras que la segunda se utiliza para enviar ‘comandos predeterminados que ejecutan acciones sobre el sistema, asi como para fijar nuevos parametos para la operaci6n de! mismo Sin importar de cual de los dos casos anteriores se trate, el mensaje de solicita debe de tener el siguiente formato [Cabecera] [Longitud del arreglo de datos] [Cédigo de Comando] [Datos] [CRC] La cabecera es el inicio de todo mensaje de comunicacién en MSP. Consta de tres datos con un tamafio de acho bits cada uno: el caracter ‘$’ seguido de los caracteres Wy ‘«' (recuérdese que el cédigo ASCII establece un valor de ocho bits, esto es, de 0 255, para los caracteres mas comunes). El caracter ‘<’ indica la direccién de flujo de la informacion. En este caso, significa que los datos entran al sistema de Multivai, Posteriormente, Ia longitud del arreglo indica a MSP el numero de datos que debe esperar. En caso de que e! mensaje corresponda a una solicitud de informacion hacia Multivi, la longitud de la cadena debera ser igual a cero. A continuacion, e! cddigo de comando es un numero entero de ocho bits el cual especifica al sistema qué tarea ha de ser ejecutada. Dentro de éstos se incluyen instrucciones muy diversas, que van desde preguntar por la version del software 0 por datos de sensores y variables intemas, hasta fijar parametros de operacién, como el valor de throttle (aceleracién) para cada rotor o la magnitud de las constantes del controlador PID embebido para la estabilizacién de angulos de navegacion ‘Apéndice 5. Protocolo de Comunicacion Serial Mutiwii (MSP) 46 En el presente proyecto, inicamente se utlizaron comandos para leer los datos de los sensores integrados en la tarjeta FC, por lo cual s6lo éstos seran discutidos aqui. Para mayor informacion acerca de las instrucciones de MSP/y sus codigos, remitirse @ los sitios web oficiales attp:/www.muliwiiconVforumiviewtopic.php#=8&t=1516 -y bito//wwn. mulivii com/wikilindex pho ?itle=Mulwii Serial Protocol Por iltimo, la cadena de datos debe estar constituida por una secuencia de valores de ocho bits, consistente con la longitud establecida y con los argumentos necesarios para la ejecucién del comando invocado. Como se menciond previamente, en caso de una simple solicitud de informacién, la longitud de la cadena es de cero, por ende, ningun dato debe ser enviado. EI CRC es el mecanismo de verificacién del protocol, y se calcula como la operacién OR excluyente (XOR,®) sobre los bytes correspondientes a la longitud del arreglo de datos, el cédigo de comando y los propios datos enviados. Para comprender mejor el funcionamiento de las solicitaciones hacia MSP considérese el caso de una solicitud de informacién para conocer el valor de los angulos de navegacién roll, pitch y yaw. Como antes, todo mensaje de comunicacién debe iniciar con la cabecera, conformada por los caracteres ‘$"M y finalizando con <’, ya que se tiene flujo de informacion hacia el Muitiwi. Debido a que se aia de una solicitud de informacion, el tamafio de la cadena de datos a enviar es de cero. Posteriormente, el comando correspondiente a la tarea deseada se conoce come MSP_ATTITUDE, y tiene asociado el codigo 108. Como ya se explicé, no se requiere del envio de ninguna cadena de datos. Finalmente, el CRC correcto para esta operacién se calcula como la operacién XOR sobre los bytes de longitud, cédigo y datos. En este caso CRC = 0 108 0 = 108 Por tanto, el mensaje de solicitacién a enviar a MSP para conocer los valores de los, ngulos de navegacion debe ser. ‘$if<0108108 El sistema Multivii interpretara ia instruccion anterior y responderé con la informacion requerida. El formato ce las respuestas por parte del software es muy idéntico al usado para efectuar las solicitaciones: [Cabecera] [Longitud de! arreglo de datos] [Cédigo de Comando] [Datos] [CRC] En este caso, la cabecera esta formada por los caracteres ‘$, M’y >’, indicando éste Ultimo que el flujo de informacién es hacia fuera de Multiwil, Posteriormente se envia un byte con el valor de la longitu de datos de respuesta y atro con el codigo de comando de la tarea solicitada. Finalmente, una secuencia de bytes incluye la informacién de interés, sequida del CRC, calculado en la misma forma que durante la solicitacién AMS Apendices Volviendo al ejemplo de la requisicién de angulos de navegacién, la respuesta de Multivai al mensaje descrito previamente seria [SM] [6] [108] [R1 R2 Pt P2 V4 V2] [CRC] En la expresion anterior, se han intercalado corchetes entre cada uno de los elementos de la respuesta Unicamente con el fin de ser mas claros en la explicacion de los mismos. Evidentemente, en una situacién real, dichos corchetes no se encontrarian presentes. Los caracteres [$M»] representan la cabecera del mensaje; el valor [6]es el nimero de bytes (8 bits) presentes en la cadena de datos, mientras que [108] es el codigo de comando para la tarea solicitada El arreglo de seis datos [R1 R2 Pf P2 Y1 Y2] representa la informacién sobre el valor de los angulos de navegacién, correspondiendo dos bytes al roi! (Rf, R2), dos al pitch (Pf, P2) y dos al yaw (Y4, ¥2) El comando MSP_ATTITUDE, en particular, responde con tres datos, cada uno de 46 bits, relativos a cada uno de los éngulos. Lo anterior explica por qué se requieren dos bytes para cada valor. En este caso, la informacién viene empaquetada de forma tal que el primer byte recibido de cada angulo es el menos significativo. Por ende, para obtener el valor apropiado, los bits del segundo byte deben recorrerse ‘ocho posiciones a la izquierda y después integrarse con los 8 bits del primer byte. ‘Simbélicamente y tomando como ejemplo al angulo roll, esto puede representarse como: Roll = (R2 <<8)+R1 Donde el operador “<<” indica el corrimiento de 8 bits hacia la izquierda del byte R2,y el simbolo “+” representa la operacién booleana OR. El mismo procedimiento debe efectuarse sobre las bytes correspandientes al pitch y al yaw. Finalmente, el CRC en este caso se calcula como: CRC = 6 © 108 @ RIGK2G PLSPZSYIGYZ A continuacién, se presenta una tabla en donde se resumen los comandos de MSP empleados en el presente proyecto, sus cédigos, asi como los datos que proporciona como respuesta. Nuevamente, se recomienda que, para una informacién mas completa y detallada, se consulten las referencias mencionadas previamente. Por titimo, es conveniente sefialar que la naturaleza sistematica y metédica del MSP lo vuelve susceptible a ser programado en forma de maquina de estados, ‘como se muestra en la Figura A 5-1; prec'samente esto fue lo que se hizo para el presente proyecto. Véanse los Codigos de Programacion.

También podría gustarte