annuncio

Comprimi
Ancora nessun annuncio.

MultiWii Quad! Alternativa ad Aeroquad/Baronpilot con sensori wii

Comprimi
X
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • Originariamente inviato da jhoexp Visualizza il messaggio
    E siccome non leggi i change, e non conosci il codice, non ti sei accorto che per il barometro è lo stesso anche nella 1.6!, non è mai cambiato. Ti confondi col magnetometro! Se le cose non le sai, SALLE!!

    ok che non le capisco certe cose...ma di sicuro non me le invento...se poi quello che le ha scritte(Alex) se le sia inventate è un altro paio di maniche...io ho solo riportato quello che avevo letto, visto che era stato scritto da una persona...penso affidabile...poi a voli lascio la sentenza
    Re: BMP085 altitude sensor

    by Alexinparis » Fri Mar 25, 2011 7:57 pm
    XXXXXXX wrote:How good is "altitude hold" working now?
    because in the change.txt:
    BARO is still not working very well with huge amplitude (note it's a code issue, not a baro component issue)



    It's still not perfect, but it's better since 1.prebis7.
    FpvProjekt channels:
    http://www.youtube.com/user/Arnald26
    http://www.vimeo.com/album/72997

    Commenta


    • Son tre messaggi che ti dico la stessa cosa, VAI A VEDERE IL CODICE!!!!
      Adesso per punizione, visto che stai scrivendo di cose che non hai controllato, invece di fare l'unica cosa che ti serviva fare per avere la risposta, apri il codice e controlli riga per riga tutte le funzioni del barometro e poi vai a vedere come lo si usa nel main loop.

      Scorpirai che , le funzioni sono queste:

      codice:
      // **************************
      // I2C Barometer BOSCH BMP085
      // **************************
      // I2C adress: 0xEE (8bit)   0x77 (7bit)
      // principle:
      //  1) read the calibration register (only once at the initialization)
      //  2) read uncompensated temperature (not mandatory at every cycle)
      //  3) read uncompensated pressure
      //  4) raw temp + raw pressure => calculation of the adjusted pressure
      //  the following code uses the maximum precision setting (oversampling setting 3)
      
      // sensor registers from the BOSCH BMP085 datasheet
      #if defined(BMP085)
      static int16_t ac1,ac2,ac3,b1,b2,mb,mc,md;
      static uint16_t  ac4,ac5,ac6;
      
      static uint16_t ut; //uncompensated T
      static uint32_t up; //uncompensated P
      int32_t temperature = 0;
      int32_t pressure = 0;
      int16_t altitude = 0;
      static int16_t altitudeZero;
      static int16_t altitudeHold;
      
      void  i2c_Baro_init() {
        delay(10);
        ac1 = i2c_BMP085_readIntRegister(0xAA);
        ac2 = i2c_BMP085_readIntRegister(0xAC);
        ac3 = i2c_BMP085_readIntRegister(0xAE);
        ac4 = i2c_BMP085_readIntRegister(0xB0);
        ac5 = i2c_BMP085_readIntRegister(0xB2);
        ac6 = i2c_BMP085_readIntRegister(0xB4);
        b1  = i2c_BMP085_readIntRegister(0xB6);
        b2  = i2c_BMP085_readIntRegister(0xB8);
        mb  = i2c_BMP085_readIntRegister(0xBA);
        mc  = i2c_BMP085_readIntRegister(0xBC);
        md  = i2c_BMP085_readIntRegister(0xBE);
        
        baroPresent = 1;
        i2c_BMP085_calibrate();
      }
      
      // read a 16 bit register
      int16_t i2c_BMP085_readIntRegister(unsigned char r) {
        uint8_t msb, lsb;
        
        i2c_rep_start(0xEE + 0);
        i2c_write(r);
        i2c_rep_start(0xEE + 1);//I2C read direction => 1
        msb=i2c_readAck();
        lsb=i2c_readNak();
        return (((int16_t)msb<<8) | ((int16_t)lsb));
      }
      
      // read uncompensated temperature value: send command first
      void i2c_BMP085_readUT_Command() {
        i2c_rep_start(0xEE + 0);
        i2c_write(0xf4);
        i2c_write(0x2e);
        i2c_rep_start(0xEE + 0);
        i2c_write(0xF6);
      }
      
      // read uncompensated temperature value: read result bytes
      // the datasheet suggests a delay of 4.5 ms after the send command
      uint16_t i2c_BMP085_readUT_Result() {
        uint8_t msb, lsb;
        i2c_rep_start(0xEE + 1);//I2C read direction => 1
        msb=i2c_readAck();
        lsb=i2c_readNak();
        return (((uint16_t)msb<<8) | ((uint16_t)lsb));
      }
      
      // read uncompensated pressure value: send command first
      void i2c_BMP085_readUP_Command () {
        i2c_rep_start(0xEE + 0);
        i2c_write(0xf4);
        i2c_write(0xf4); //control register value for oversampling setting 3
        i2c_rep_start(0xEE + 0); //I2C write direction => 0
        i2c_write(0xf6);
      }
      
      // read uncompensated pressure value: read result bytes
      // the datasheet suggests a delay of 25.5 ms (oversampling settings 3) after the send command
      uint32_t i2c_BMP085_readUP_Result () {
        uint8_t msb, lsb, xlsb;
        i2c_rep_start(0xEE + 1);//I2C read direction => 1
        msb = i2c_readAck();
        lsb = i2c_readAck();
        xlsb = i2c_readNak();
        return (((uint32_t)msb<<16) | ((uint32_t)lsb<<8) | ((uint32_t)xlsb)) >>5;
      }
      
      // deduction of true temperature and pressure from sensor, code is described in the BMP085 specs
      void i2c_BMP085_CompensatedSensor() {
        int32_t x1, x2, x3, b3, b5, b6, p;
        uint32_t b4, b7;
        uint16_t a,b;
      
        //calculate true temperature
        x1 = (int32_t)(ut - ac6) * ac5 >> 15;
        x2 = ((int32_t) mc << 11) / (x1 + md);
        b5 = x1 + x2;
        temperature = (b5 + 8) >> 4;
        //calculate true pressure
        b6 = b5 - 4000;
        x1 = (b2 * (b6 * b6 >> 12)) >> 11; 
        x2 = ac2 * b6 >> 11;
        x3 = x1 + x2;
        b3 = ( ( ((int32_t) ac1 * 4 + x3)<<3 ) + 2) >> 2;
        x1 = ac3 * b6 >> 13;
        x2 = (b1 * (b6 * b6 >> 12)) >> 16;
        x3 = ((x1 + x2) + 2) >> 2;
        b4 = (ac4 * (uint32_t) (x3 + 32768)) >> 15;
        b7 = (up - b3) * (50000 >> 3);
        p = b7 < 0x80000000 ? (b7 * 2) / b4 : (b7 / b4) * 2;
        x1 = (p >> 8) * (p >> 8);
        x1 = (x1 * 3038) >> 16;
        x2 = (-7357 * p) >> 16;
        pressure = p + ((x1 + x2 + 3791) >> 4);
      }
      
      //in a whole cycle: we read temperature one time and pressure 5 times
      void i2c_Baro_update() {
        static uint32_t t;
        static uint8_t state1 =0,state2 = 0;
      
        if ( (micros()-t )  < 30000 ) return; //each read is spaced by 30ms
        t = micros();
        
        TWBR = ((16000000L / 400000L) - 16) / 2; // change the I2C clock rate to 400kHz, BMP085 is ok with this speed
        if (state1 == 0) { 
          if (state2 == 0) {
            i2c_BMP085_readUT_Command();
            state2=1;
          } else {
            ut = i2c_BMP085_readUT_Result();
            state2=0;
            state1=5;
          }
        } else {
          if (state2 == 0) {
            i2c_BMP085_readUP_Command();
            state2=1;
          } else {
            up = i2c_BMP085_readUP_Result();
            state2=0;
            state1--;
            i2c_BMP085_CompensatedSensor();
            altitude = (1.0 - pow(float(pressure)/101325.0, 0.190295)) * 443300 - altitudeZero; // altitude in decimeter from starting point
            if ( abs(altitude-altitudeSmooth) < 100 ) //avoid altitude spike
              altitudeSmooth = (altitudeSmooth*7+altitude+4)/8;
          }
        }
      }
      
      void i2c_BMP085_calibrate() {
        altitudeZero = 0;
        for (uint8_t i=0;i<7;i++) {
          i2c_Baro_update();
          delay(35);
        }
        altitudeZero = altitude;
      }
      #endif
      e qui è quello che fa nel main loop:

      codice:
       #if defined(BMP085)
          if (baroMode) rcCommand[THROTTLE] = constrain(rcCommand[THROTTLE]-3*(altitudeSmooth-altitudeHold),max(rcCommand[THROTTLE]-200,MINTHROTTLE),min(rcCommand[THROTTLE]+200,MAXTHROTTLE));
        #endif
      e come ti ho detto, è sempre uguale.

      Alex credo la sappia benissimo come si fa a farlo funzionare (cioè nello stesso modo con cui ha fatto funzionare lo stable mode, ovvero usando un altro pid indipendente(che è quello che fanno tutti gli altri), ma vuole risparmiare al massimo cicli macchina finchè può...
      Johnny
      (GTE - Torino)
      Out of sight, NOT out of mind.

      Commenta


      • Mi sta arrivando la FreeFlight con il BMP085 vedremo, se solo avessi un po' di tempo continuo, invece di averne un po' troppo un po' poco.
        Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

        Commenta


        • Originariamente inviato da jhoexp Visualizza il messaggio
          Son tre messaggi che ti dico la stessa cosa, VAI A VEDERE IL CODICE!!!!
          Adesso per punizione, visto che stai scrivendo di cose che non hai controllato, invece di fare l'unica cosa che ti serviva fare per avere la risposta, apri il codice e controlli riga per riga tutte le funzioni del barometro e poi vai a vedere come lo si usa nel main loop.

          Scorpirai che , le funzioni sono queste:

          codice:
          // **************************
          // I2C Barometer BOSCH BMP085
          // **************************
          // I2C adress: 0xEE (8bit)   0x77 (7bit)
          // principle:
          //  1) read the calibration register (only once at the initialization)
          //  2) read uncompensated temperature (not mandatory at every cycle)
          //  3) read uncompensated pressure
          //  4) raw temp + raw pressure => calculation of the adjusted pressure
          //  the following code uses the maximum precision setting (oversampling setting 3)
          
          // sensor registers from the BOSCH BMP085 datasheet
          #if defined(BMP085)
          static int16_t ac1,ac2,ac3,b1,b2,mb,mc,md;
          static uint16_t  ac4,ac5,ac6;
          
          static uint16_t ut; //uncompensated T
          static uint32_t up; //uncompensated P
          int32_t temperature = 0;
          int32_t pressure = 0;
          int16_t altitude = 0;
          static int16_t altitudeZero;
          static int16_t altitudeHold;
          
          void  i2c_Baro_init() {
            delay(10);
            ac1 = i2c_BMP085_readIntRegister(0xAA);
            ac2 = i2c_BMP085_readIntRegister(0xAC);
            ac3 = i2c_BMP085_readIntRegister(0xAE);
            ac4 = i2c_BMP085_readIntRegister(0xB0);
            ac5 = i2c_BMP085_readIntRegister(0xB2);
            ac6 = i2c_BMP085_readIntRegister(0xB4);
            b1  = i2c_BMP085_readIntRegister(0xB6);
            b2  = i2c_BMP085_readIntRegister(0xB8);
            mb  = i2c_BMP085_readIntRegister(0xBA);
            mc  = i2c_BMP085_readIntRegister(0xBC);
            md  = i2c_BMP085_readIntRegister(0xBE);
            
            baroPresent = 1;
            i2c_BMP085_calibrate();
          }
          
          // read a 16 bit register
          int16_t i2c_BMP085_readIntRegister(unsigned char r) {
            uint8_t msb, lsb;
            
            i2c_rep_start(0xEE + 0);
            i2c_write(r);
            i2c_rep_start(0xEE + 1);//I2C read direction => 1
            msb=i2c_readAck();
            lsb=i2c_readNak();
            return (((int16_t)msb<<8) | ((int16_t)lsb));
          }
          
          // read uncompensated temperature value: send command first
          void i2c_BMP085_readUT_Command() {
            i2c_rep_start(0xEE + 0);
            i2c_write(0xf4);
            i2c_write(0x2e);
            i2c_rep_start(0xEE + 0);
            i2c_write(0xF6);
          }
          
          // read uncompensated temperature value: read result bytes
          // the datasheet suggests a delay of 4.5 ms after the send command
          uint16_t i2c_BMP085_readUT_Result() {
            uint8_t msb, lsb;
            i2c_rep_start(0xEE + 1);//I2C read direction => 1
            msb=i2c_readAck();
            lsb=i2c_readNak();
            return (((uint16_t)msb<<8) | ((uint16_t)lsb));
          }
          
          // read uncompensated pressure value: send command first
          void i2c_BMP085_readUP_Command () {
            i2c_rep_start(0xEE + 0);
            i2c_write(0xf4);
            i2c_write(0xf4); //control register value for oversampling setting 3
            i2c_rep_start(0xEE + 0); //I2C write direction => 0
            i2c_write(0xf6);
          }
          
          // read uncompensated pressure value: read result bytes
          // the datasheet suggests a delay of 25.5 ms (oversampling settings 3) after the send command
          uint32_t i2c_BMP085_readUP_Result () {
            uint8_t msb, lsb, xlsb;
            i2c_rep_start(0xEE + 1);//I2C read direction => 1
            msb = i2c_readAck();
            lsb = i2c_readAck();
            xlsb = i2c_readNak();
            return (((uint32_t)msb<<16) | ((uint32_t)lsb<<8) | ((uint32_t)xlsb)) >>5;
          }
          
          // deduction of true temperature and pressure from sensor, code is described in the BMP085 specs
          void i2c_BMP085_CompensatedSensor() {
            int32_t x1, x2, x3, b3, b5, b6, p;
            uint32_t b4, b7;
            uint16_t a,b;
          
            //calculate true temperature
            x1 = (int32_t)(ut - ac6) * ac5 >> 15;
            x2 = ((int32_t) mc << 11) / (x1 + md);
            b5 = x1 + x2;
            temperature = (b5 + 8) >> 4;
            //calculate true pressure
            b6 = b5 - 4000;
            x1 = (b2 * (b6 * b6 >> 12)) >> 11; 
            x2 = ac2 * b6 >> 11;
            x3 = x1 + x2;
            b3 = ( ( ((int32_t) ac1 * 4 + x3)<<3 ) + 2) >> 2;
            x1 = ac3 * b6 >> 13;
            x2 = (b1 * (b6 * b6 >> 12)) >> 16;
            x3 = ((x1 + x2) + 2) >> 2;
            b4 = (ac4 * (uint32_t) (x3 + 32768)) >> 15;
            b7 = (up - b3) * (50000 >> 3);
            p = b7 < 0x80000000 ? (b7 * 2) / b4 : (b7 / b4) * 2;
            x1 = (p >> 8) * (p >> 8);
            x1 = (x1 * 3038) >> 16;
            x2 = (-7357 * p) >> 16;
            pressure = p + ((x1 + x2 + 3791) >> 4);
          }
          
          //in a whole cycle: we read temperature one time and pressure 5 times
          void i2c_Baro_update() {
            static uint32_t t;
            static uint8_t state1 =0,state2 = 0;
          
            if ( (micros()-t )  < 30000 ) return; //each read is spaced by 30ms
            t = micros();
            
            TWBR = ((16000000L / 400000L) - 16) / 2; // change the I2C clock rate to 400kHz, BMP085 is ok with this speed
            if (state1 == 0) { 
              if (state2 == 0) {
                i2c_BMP085_readUT_Command();
                state2=1;
              } else {
                ut = i2c_BMP085_readUT_Result();
                state2=0;
                state1=5;
              }
            } else {
              if (state2 == 0) {
                i2c_BMP085_readUP_Command();
                state2=1;
              } else {
                up = i2c_BMP085_readUP_Result();
                state2=0;
                state1--;
                i2c_BMP085_CompensatedSensor();
                altitude = (1.0 - pow(float(pressure)/101325.0, 0.190295)) * 443300 - altitudeZero; // altitude in decimeter from starting point
                if ( abs(altitude-altitudeSmooth) < 100 ) //avoid altitude spike
                  altitudeSmooth = (altitudeSmooth*7+altitude+4)/8;
              }
            }
          }
          
          void i2c_BMP085_calibrate() {
            altitudeZero = 0;
            for (uint8_t i=0;i<7;i++) {
              i2c_Baro_update();
              delay(35);
            }
            altitudeZero = altitude;
          }
          #endif
          e qui è quello che fa nel main loop:

          codice:
           #if defined(BMP085)
              if (baroMode) rcCommand[THROTTLE] = constrain(rcCommand[THROTTLE]-3*(altitudeSmooth-altitudeHold),max(rcCommand[THROTTLE]-200,MINTHROTTLE),min(rcCommand[THROTTLE]+200,MAXTHROTTLE));
            #endif
          e come ti ho detto, è sempre uguale.

          Alex credo la sappia benissimo come si fa a farlo funzionare (cioè nello stesso modo con cui ha fatto funzionare lo stable mode, ovvero usando un altro pid indipendente(che è quello che fanno tutti gli altri), ma vuole risparmiare al massimo cicli macchina finchè può...
          FpvProjekt channels:
          http://www.youtube.com/user/Arnald26
          http://www.vimeo.com/album/72997

          Commenta


          • Ragazzi Grande News Alex, ha appena rilasciato il codice per il GPS hold e waypoint navigation...
            RC Groups MultiWii Gps Hold and Waypoint Navigation
            Ora bisognera' lavorarci su per capire se funziona davvero , mi sono letto un po' il codice , ma a me sembra meglio quello di Arducopter , vedremo le evoluzioni ..
            Saluti
            Roberto
            Ultima modifica di redfox74; 01 aprile 11, 18:14.
            Redfox74
            Virtual Robotix ( Arducopter DEVTEAM )
            http://www.virtualrobotix.com
            Canale di supporto FB
            https://www.facebook.com/groups/1606596929592397/

            Commenta


            • Originariamente inviato da redfox74 Visualizza il messaggio
              Ragazzi Grande News Alex, ha appena rilasciato il codice per il GPS hold e waypoint navigation...
              RC Groups MultiWii Gps Hold and Waypoint Navigation
              Ora bisognera' lavorarci su per capire se funziona davvero , mi sono letto un po' il codice , ma a me sembra meglio quello di Arducopter , vedremo le evoluzioni ..
              Saluti
              Roberto
              Sei maldestro (dovevi mascherare l'url, così ti si sgama dal link) e anche in ritardo... spero che la multipilot32 ti venga meglio, perchè altrimenti....
              Johnny
              (GTE - Torino)
              Out of sight, NOT out of mind.

              Commenta


              • Originariamente inviato da jhoexp Visualizza il messaggio
                Sei maldestro (dovevi mascherare l'url, così ti si sgama dal link) e anche in ritardo... spero che la multipilot32 ti venga meglio, perchè altrimenti....
                Visto che parliamo di cose poco serie ... ma che cavolo di algoritmo usa Alex per dare piu' o meno comando ... quella riga di codice e' abbastanza criptica .... per la serie se va un po' giu' gli do un pochino di gas in piu' se va un po' su gliene do' un pochino di meno ... Mhhh come vedo mail il quad in effetto suolo in turbolenza ... si puo' escludere spero da radiocomando se no si fa' la frittata in men che non si dica .. tu l'hai provato ?
                saluti
                Roberto
                codice:
                Guardati questo codice ... e' quello che usiamo noi :
                /* ************************************************************ */
                /* Altitude control... (based on barometer) */
                int Altitude_control_baro(int altitude, int target_altitude)
                {
                  #define ALTITUDE_CONTROL_BARO_OUTPUT_MIN 40
                  #define ALTITUDE_CONTROL_BARO_OUTPUT_MAX 80
                
                  // !!!!! REMOVE THIS !!!!!!!
                  #define KP_BARO_ALTITUDE 0.25  //0.3
                  #define KD_BARO_ALTITUDE 0.09 //0.09
                  #define KI_BARO_ALTITUDE 0.1
                
                  int command_altitude;
                
                  err_altitude_old = err_altitude;
                  err_altitude = target_altitude - altitude;
                  baro_altitude_I += (float)err_altitude*0.05;
                  baro_altitude_I = constrain(baro_altitude_I,-140,140);
                  baro_altitude_D = (float)(err_altitude-err_altitude_old)/0.05;  // 20Hz
                  command_altitude = KP_ALTITUDE*err_altitude + KD_ALTITUDE*baro_altitude_D + KI_ALTITUDE*baro_altitude_I;
                  command_altitude = initial_throttle + constrain(command_altitude,-ALTITUDE_CONTROL_BARO_OUTPUT_MIN,ALTITUDE_CONTROL_BARO_OUTPUT_MAX);
                  Log_Write_PID(5,KP_ALTITUDE*err_altitude,KI_ALTITUDE*baro_altitude_I,KD_ALTITUDE*baro_altitude_D,command_altitude);
                  return command_altitude;
                }
                
                /* ************************************************************ */
                /* Altitude control... (based on sonar) */
                #define GdT_SONAR_ALTITUDE 0.05
                #define ALTITUDE_CONTROL_SONAR_OUTPUT_MIN 60
                #define ALTITUDE_CONTROL_SONAR_OUTPUT_MAX 80
                int Altitude_control_Sonar(int altitude, int target_altitude)
                {
                  static int err_altitude = 0;
                  int command_altitude;
                  int err_altitude_old;
                
                  err_altitude_old = err_altitude;
                  err_altitude = target_altitude - altitude;
                  sonar_altitude_I += (float)err_altitude*GdT_SONAR_ALTITUDE;
                  sonar_altitude_I = constrain(sonar_altitude_I,-1000,1000);
                  sonar_altitude_D = (float)(err_altitude-err_altitude_old)/GdT_SONAR_ALTITUDE;
                  command_altitude = KP_SONAR_ALTITUDE*err_altitude + KI_SONAR_ALTITUDE*sonar_altitude_I + KD_SONAR_ALTITUDE*sonar_altitude_D ;
                  command_altitude = initial_throttle + constrain(command_altitude,-ALTITUDE_CONTROL_SONAR_OUTPUT_MIN,ALTITUDE_CONTROL_SONAR_OUTPUT_MAX);
                  Log_Write_PID(4,KP_SONAR_ALTITUDE*err_altitude,KI_SONAR_ALTITUDE*sonar_altitude_I,KD_SONAR_ALTITUDE*sonar_altitude_D,command_altitude);
                  return command_altitude;
                }
                Redfox74
                Virtual Robotix ( Arducopter DEVTEAM )
                http://www.virtualrobotix.com
                Canale di supporto FB
                https://www.facebook.com/groups/1606596929592397/

                Commenta


                • Originariamente inviato da redfox74 Visualizza il messaggio
                  Ragazzi Grande News Alex, ha appena rilasciato il codice per il GPS hold e waypoint navigation...
                  RC Groups MultiWii Gps Hold and Waypoint Navigation
                  Ora bisognera' lavorarci su per capire se funziona davvero , mi sono letto un po' il codice , ma a me sembra meglio quello di Arducopter , vedremo le evoluzioni ..
                  Saluti
                  Roberto

                  bella Roberto...mi hai fatto salire l'adrenalina per i primi 10sec....
                  e il bello che ho anche gridato( al mio amico nell'altra stanza)..."HANNO AGGIUNTO IL GGGGIIIIPPPPIIIIESSSEEEEEEEEEEEEE"
                  HAHAHAH
                  FpvProjekt channels:
                  http://www.youtube.com/user/Arnald26
                  http://www.vimeo.com/album/72997

                  Commenta



                  • Non è semplice integrare il gps.
                    Alla base ci deve essere una buona modalità stabile e questa richiede molto tempo.
                    Il gps poi a sua volta richiede molto tempo per essere ottimizzato oltre ad avere hardware adeguato.
                    Non e' un caso se attualmente gli unici che hanno una modalita' stabile e un gps efficace ed usabile sono UAVX e MIKROKOPTER.
                    Progetti su cui lavorano da 2-3 anni e che hanno una profonda ottimizzazione e debug del codice. Un outsider che sta crescendo e' arducopter nelle sue varianti ma anche se hanno fatto vedere qualche video sul gps hold è ancora tutto da ottimizzare e debugare al meglio, ci vuole tempo.
                    Ricordo con nostalgia, quando ormai un anno fa Roberto annunciava che nel giro di poche settimane sarebbe arrivato il gps sulla multipilot
                    Anche GAUI da tempo aveva annunciato il gps io non ho ancora visto niente.
                    Quadricottero News
                    http://www.facebook.com/Quadricottero

                    Commenta


                    • Originariamente inviato da wooolf Visualizza il messaggio
                      Sto facendo le prove al banco di un quad X+1.preter7+WMP+Nk e mi nascono dubbi su due cose :
                      1) DERIVA. Il quad tende a derivare sia in pitch che in roll, in pratica non sembra che non sia possibile la trimmatura a zero , deve essere ? La continua correzione è caratteristica o devo controllare qualcosa?
                      2)NK ATTIVO. ho montato il NK sul comando ad interruttore 5 della mia radio , la GUI lo vede attivo ma non capisco se effettivamente funziona . La scrittina nel pannello quando devio l'interruttore si deve spengere o no ? Tenendo in hovering il quad e forzandolo in un senso o nell'altro non mi pare ci siano apprezzabili differenze tra i due stati ,all'atto pratico come posso capire se effettivamente lavora o meno.
                      TNX in ADV
                      G.
                      sorry
                      mi auto-quoto.
                      Qualche consiglio?
                      G.
                      Un "buon" atterraggio è quando puoi scendere dall'aereo con le tue gambe.
                      Un "grande" atterraggio è quando l'aereo si può usare ancora.

                      Commenta


                      • Originariamente inviato da wooolf Visualizza il messaggio
                        sorry
                        mi auto-quoto.
                        Qualche consiglio?
                        G.
                        Ciao,
                        domani mattina al campo

                        Saluti
                        https://www.facebook.com/groups/247807122140/?fref=ts

                        Commenta


                        • Beep all avvio

                          Salve a tutti ho notato una cosa un po anomala(al dire il vero gia da un po di tempo)

                          In breve
                          Accendo la radio e collego la lipo al quad insieme al led io ho anche il cicalino,sapreste aiutarmi a capire perche al collegamento a volte emette 3bip mentre a volte 6 o 7 beep(non riesco a contarli)?????

                          Il tutto funziona ugualmente indipendentemente dai beep

                          Grazie ancora
                          Ki va piano va sano e va lontano....

                          Commenta


                          • Originariamente inviato da wooolf Visualizza il messaggio
                            sorry
                            mi auto-quoto.
                            Qualche consiglio?
                            G.
                            Un minimo di drift è normale, anche per via della lettura della rx, ma devi poter lasciare gli stik senza problemi una volta che hai livellato il mezzo, controlla la centratura dei comandi sul configuratore.

                            Se l'accellerometro funziona te ne accorgi subito, sei sicuro di aver impostato la funzione correttamente sul configuratore? Quando è attivo ovviamente si illumina in verde l'indicatore ON a fianco ad ACC.
                            Johnny
                            (GTE - Torino)
                            Out of sight, NOT out of mind.

                            Commenta


                            • a titolo informativo, il tipo tedesco sta ultimando la nuova versione di ALL IN ONE board con LLC.
                              sarà disponibile da lunedi, le dimensioni dovrebbero essere identiche e anche il prezzo dovrebbe essere sempre sui 99,99$ (dollaro piu dollaro meno).
                              FpvProjekt channels:
                              http://www.youtube.com/user/Arnald26
                              http://www.vimeo.com/album/72997

                              Commenta


                              • il mio primo PID tuning

                                ciao, oggi finalmente, pc alla mano, ho effettuato delle prove di cambiamento del PID.
                                ovviamente mi sono letto e riletto la bibbia del buon jho e poi ho privato.
                                ho alzato la P prima a 5 e in mano non sentivo cambiamenti, poi a 7 e sono andato fuor a provate, ma già in hovering mi sbacchettava abbastanza.
                                riabbassata a 4.5 sembrava buona, poi ho provato ad alzare la D...o meglio ad abbassare...e qui il dubbio, ma va alzata o abbassata????
                                io l'ho mssa prima a 10 e sembrava migliorato, poi per provare,a 20 e ho notato che in hovering non c'erano molte differenze, ma nel traslato(so fare...e poco...solo quello a vista)quando tornavo in hovering vedevo degli sbacchettamenti...quindi l'ho riportata a 10.
                                la I l'ho leggermente spostata a 0.033

                                da quello che ho capito, anche se ovv non è legge, la P andrebbe alzata il più possibile, ma io non vado altre i 4.5
                                come posso rendere più stabile e tranquillo il mezzo tramite fli altri due valori?

                                ciao...

                                Commenta

                                Sto operando...
                                X