Xcopter – Configuração MultiWii 2.3

xcopter_mk3

O firmware MultiWii é bastante configurável e modular, apenas as configurações necessárias fazem parte do binário carregado na placa controladora. A última versão foi modificada por forma a ser mais compatível com ambientes de desenvolvimento como o Eclipse mas mantendo a compatibilidade com o ambiente Arduino, sendo este um requisito do responsável pelo código do projecto da versão oficial.

A configuração das funcionalidades e parâmetros é feita pela edição do ficheiro de texto config.h incluído no meio de todos os outros ficheiros de código. É simples seleccionar as configurações pela remoção ou adição dos caracteres indicadores de comentário //. Os valores dos parâmetros nas linhas também podem ser editados de acordo com o que queremos para a nossa controladora ou características de voo pretendidos.

Deixo aqui os parâmetros relevantes para a minha actual configuração para o Xcopter Mk3. Eventualmente pode mudar de acordo com novas descobertas ou testes que faça.

 

/**************************    The type of multicopter    ****************************/
    #define QUADX

/****************************    Motor minthrottle    *******************************/
    /* Set the minimum throttle command sent to the ESC (Electronic Speed Controller)
       This is the minimum value that allow motors to run at a idle speed  */
    #define MINTHROTTLE 1090 // Mk3: for RCTimer ESCs 30A with Turnigy 9X

/****************************    Motor maxthrottle    *******************************/
    /* this is the maximum value for the ESCs at full power, this value can be increased up to 2000 */
    #define MAXTHROTTLE 1950 // Mk3: for RCTimer ESCs 30A with Turnigy 9X

/**********************************    I2C speed   ************************************/
    //#define I2C_SPEED 100000L     //100kHz normal mode, this value must be used for a genuine WMP  
    #define I2C_SPEED 400000L   //400kHz fast mode, it works only with some WMP clones

/***************************    Combined IMU Boards    ********************************/
      /* if you use a specific sensor board:
         please submit any correction to this list.
           Note from Alex: I only own some boards, for other boards, I'm not sure, the info was gathered via rc forums, be cautious */
      #define CRIUS_SE        // Crius MultiWii SE

/*********************************    Aux 2 Pin     ***********************************/
      /* possibility to use PIN8 or PIN12 as the AUX2 RC input (only one, not both)
         it deactivates in this case the POWER PIN (pin 12) or the BUZZER PIN (pin 8) */
      //#define RCAUXPIN8
      #define RCAUXPIN12

/********                          Failsafe settings                 ********************/
    /* Failsafe check pulses on four main control channels CH1-CH4. If the pulse is missing or bellow 985us (on any of these four channels) 
       the failsafe procedure is initiated. After FAILSAFE_DELAY time from failsafe detection, the level mode is on (if ACC or nunchuk is avaliable),
       PITCH, ROLL and YAW is centered and THROTTLE is set to FAILSAFE_THROTTLE value. You must set this value to descending about 1m/s or so
       for best results. This value is depended from your configuration, AUW and some other params.  Next, after FAILSAFE_OFF_DELAY the copter is disarmed, 
       and motors is stopped. If RC pulse coming back before reached FAILSAFE_OFF_DELAY time, after the small quard time the RC control is returned to normal. */
    #define FAILSAFE                                // uncomment  to activate the failsafe function
    #define FAILSAFE_DELAY     10                     // Guard time for failsafe activation after signal lost. 1 step = 0.1sec - 1sec in example
    #define FAILSAFE_OFF_DELAY 200                    // Time for Landing before motors stop in 0.1sec. 1 step = 0.1sec - 20sec in example
    #define FAILSAFE_THROTTLE  (MINTHROTTLE + 200)    // (*) Throttle level used for landing - may be relative to MINTHROTTLE - as in this case

    #define FAILSAFE_DETECT_TRESHOLD  985

/*****************************   The type of LCD     **********************************/
      /* choice of LCD attached for configuration and telemetry, see notes below */
      #define LCD_VT100       // SERIAL LCD: vt100 compatible terminal emulation (blueterm, putty, etc.)

/**************************************************************************************/
  /***********************      LCD configuration menu         **************************/
  /**************************************************************************************/

    /* uncomment this line if you plan to use a LCD or OLED for tweaking parameters
     * http://www.multiwii.com/wiki/index.php?title=Extra_features#Configuration_Menu */
      #define LCD_CONF

    /* to include setting the aux switches for AUX1 -> AUX4 via LCD */
      #define LCD_CONF_AUX

    /* optional exclude some functionality - uncomment to suppress unwanted aux channel configuration options */
      //#define SUPPRESS_LCD_CONF_AUX2
      #define SUPPRESS_LCD_CONF_AUX34

/**************************************************************************************/
  /***********************      LCD       telemetry            **************************/
  /**************************************************************************************/

    /* to monitor system values (battery level, loop time etc. with LCD 
     * http://www.multiwii.com/wiki/index.php?title=LCD_Telemetry */

    /********************************    Activation     ***********************************/
    #define LCD_TELEMETRY

    /* manual stepping sequence; first page of the sequence gets loaded at startup to allow non-interactive display */
    #define LCD_TELEMETRY_STEP "01234569"

    /* optional exclude some functionality - uncomment to suppress some unwanted telemetry pages */
    #define SUPPRESS_TELEMETRY_PAGE_7
    #define SUPPRESS_TELEMETRY_PAGE_8

/* motors will not spin when the throttle command is in low position
       this is an alternative method to stop immediately the motors */
    #define MOTOR_STOP

/* to log values like max loop time and others to come
       logging values are visible via LCD config
       set to 1, enable 'R' option to reset values, max current, max altitude
       set to 2, adds min/max cycleTimes
       set to 3, adds additional powerconsumption on a per motor basis (this uses the big array and is a memory hog, if POWERMETER <> PM_SOFT) */
    //#define LOG_VALUES 1
    #define LOG_VALUES 2

/* Permanent logging to eeprom - survives (most) upgrades and parameter resets.
     * used to track number of flights etc. over lifetime of controller board.
     * Writes to end of eeprom - should not conflict with stored parameters yet.
     * Logged values: accumulated lifetime, #powercycle/reset/initialize events, #arm events, #disarm events, last armedTime,
     *                #failsafe@disarm, #i2c_errs@disarm
     * Enable one or more options to show the log
     */
    #define LOG_PERMANENT
    //#define LOG_PERMANENT_SHOW_AT_STARTUP // enable to display log at startup
    #define LOG_PERMANENT_SHOW_AT_L // enable to display log when receiving 'L'
    //#define LOG_PERMANENT_SHOW_AFTER_CONFIG // enable to display log after exiting LCD config menu
    #define LOG_PERMANENT_SERVICE_LIFETIME 36000 // in seconds; service alert at startup after 10 hours of armed time

Etiquetas: , ,

6 Respostas to “Xcopter – Configuração MultiWii 2.3”

  1. Valter Says:

    Amigo, com a instação com a versão 2.3 vc conseguiu deixar pairado? Se vc tinha alguma versão instalada como fez para instalar a versão nova?

    • sismeiro Says:

      Viva,

      A instalação do 2.3 só por si não fez diferença no meu Xcopter quanto a ficar a pairar. Instalei a nova versão da mesma forma que é normalmente indicado utilizando o interface gráfico Arduino e que está amplamente explicado na Internet.

      Após configurar editando o ficheiro config.h com as características do multicopter, é escolher a board no Arduino e fazer upload da nova versão

      Cumprimentos,
      Luis Sismeiro

  2. Jorge Says:

    Ola boa tarde.
    Tenho um quadricoptero, e fui alterar a altura dele pois estava com 11 a 20.
    Deixei com 1.5 a 3.
    Apos isso ele nao liga mais, poderia me ajudar se possível?
    Grato.

    • sismeiro Says:

      Olá,

      Peço desculpa mas não percebo a pergunta pois não sei que parâmetro alterou nem o que faz. Sugiro repor os valores como estava e a ver se funciona.

      Cumprimentos,
      Luis Sismeiro

  3. Alexandre G. Hoff Says:

    Bom dia Sismeiro, Também gosto de fazer alterações no codigo da Multiwii e fiz algumas alterações para um quadx, que quando aciono o comando de pitch do radio, os quatro motores se inclinam 45 graus. Mas estou com dificuldades de encontrar as variáveis no código que se referem as rotações dos motores quando o comando pitch é acionado. Se souber de algo agradeço. Obrigado.

    • sismeiro Says:

      Viva, eu gostaria de ajudar mas o que está a perguntar vai para além do que conheço do código MultiWii. Faz bastante tempo que não acompanho os desenvolvimentos deste firmware e na altura em que usei, nunca conheci nenhuma configuração nativa para fazer a inclinação dos motores.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s


%d bloggers like this: