annuncio

Comprimi
Ancora nessun annuncio.

MultiWii Quad! Alternativa ad Aeroquad/Baronpilot con sensori wii

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

  • Grazie delle info.
    Ora ho le idee un po' più chiare
    SDModel -> Eliche controrotanti, motori, ESC, frame.....
    MultiWii Italia

    Commenta


    • ok fanciulli mi è arrivata la ALLINONEBOARD con LLC....finalmente...è una cosa piccolissima come si vede dalla foto!

      prima di collegare vorrei chiedervi conferma di quanto sto per fare:
      saldo i due jumperini

      -ad0 al gnd per itg3200
      -clk al gnd

      cambio nel codice l'indirizzo del bma180 a 0x82(ma dove?!?!?!?)

      collego
      sda---->sda
      scl----->scl
      gnd---->gnd
      vdd---->3,3v ?

      i miei dubbi sono quelli con i punti interrogativi...
      File allegati
      FpvProjekt channels:
      http://www.youtube.com/user/Arnald26
      http://www.vimeo.com/album/72997

      Commenta


      • Originariamente inviato da jhoexp Visualizza il messaggio
        Il problema si verifica SOLO su 1 motore o è simmetrico, cioè interessa i due motori di un asse (se voli a +)?

        Se è solo limitato ad 1 motore, può essere un problema hardware... eventualmente, hai provato con un altro arduino?
        Io non ho mai avuto questo problema ma ricordo che avevo letto di chi aveva avuto la stessa grana a causa di un output difettoso, perchè il problema di ripresentava sempre sullo stesso Pin.
        Comunque prima controlla per bene con solo l'elettronica montata e il quad fermo e calibrato, assicurati di avere tutti i canali in centro a 1500us e miraccomando fai sempre l'impostazione della corsa del gas sugli esc prima di usarli!
        ok, devo allora rifare la calibrazione degli esc, sto parlando di un tri, e il problema si verifica su entrambi i motori anteriori, uno aumenta e uno diminuisce.
        ora sto rifacendo tutti i cablaggi per controllare che non ci sia qualche falso contatto o saldatura fredda.
        mi sorge un dubbio, puo' essere la ricevente? e' una corona.

        grazie intanto delle risposte!

        Commenta


        • Originariamente inviato da arnaldo Visualizza il messaggio
          -ad0 al gnd per itg3200
          -clk al gnd
          Ok, questi sono i jumper da saldare.


          cambio nel codice l'indirizzo del bma180 a 0x82(ma dove?!?!?!?)
          Arnaldo, non avevi detto di aver letto il codice?
          Dove hai letto che l'indirizzo è 0x82? Comunque va sostituito nella funzione che inizializza e legge il bma180:

          codice:
          // contribution from opie11 (rc-grooups)
          // I2C Accelerometer BMA180
          // **************************
          // I2C adress: 0x80 (8bit)    0x40 (7bit)
          #if defined(BMA180)
          static uint8_t rawADC_BMA180[6];
          
          void i2c_ACC_init () {
            delay(10);
            i2c_rep_start(0x80+0);      // I2C write direction 
            i2c_write(0x0D);            // ctrl_reg0
            i2c_write(1<<4);            // Set bit 4 to 1 to enable writing
            i2c_rep_start(0x80+0);       
            i2c_write(0x35);            // 
            i2c_write(3<<1);            // range set to 3.  2730 1G raw data.  With /10 divisor on acc_ADC, more in line with other sensors and works with the GUI
            i2c_rep_start(0x80+0);
            i2c_write(0x20);            // bw_tcs reg: bits 4-7 to set bw
            i2c_write(0<<4);            // bw to 10Hz (low pass filter)
          
            acc_1G = 273;
            acc_25deg = 113; // = acc_1G * sin(25 deg)
            accPresent = 1;
          }
          
          void i2c_ACC_getADC () {
            TWBR = ((16000000L / 400000L) - 16) / 2;  // Optional line.  Sensor is good for it in the spec.
            i2c_rep_start(0x80);     // I2C write direction
            i2c_write(0x02);         // Start multiple read at reg 0x02 acc_x_lsb
            i2c_rep_start(0x80 +1);  // I2C read direction => 1
            for(uint8_t i = 0; i < 5; i++) {
              rawADC_BMA180[i]=i2c_readAck();}
            rawADC_BMA180[5]= i2c_readNak();
          
            accADC[ROLL]  = - (((rawADC_BMA180[1]<<8) | (rawADC_BMA180[0]))>>2)/10; // opie settings: + ; FFIMU: -
            accADC[PITCH] = - (((rawADC_BMA180[3]<<8) | (rawADC_BMA180[2]))>>2)/10;
            accADC[YAW]   = - (((rawADC_BMA180[5]<<8) | (rawADC_BMA180[4]))>>2)/10;
          }
          #endif

          collego
          sda---->sda
          scl----->scl
          gnd---->gnd
          vdd---->3,3v ?

          i miei dubbi sono quelli con i punti interrogativi...
          C'è il regolatore e l'llc integrato quindi perchè ti fai problemi?
          Alimentala a 3.3V e abilita i pull-up.
          Johnny
          (GTE - Torino)
          Out of sight, NOT out of mind.

          Commenta


          • Originariamente inviato da faso90vr Visualizza il messaggio
            ok, devo allora rifare la calibrazione degli esc, sto parlando di un tri, e il problema si verifica su entrambi i motori anteriori, uno aumenta e uno diminuisce.
            Ok, allora non è un problema dell'arduino.

            mi sorge un dubbio, puo' essere la ricevente? e' una corona.
            Sì, può essere la ricevente, anzi direi che potrei quasi scommetterci....
            Controlla sul configuratore i valori della rx, devono essere stabili e centrati.

            Fatti un favore, le riceventi corona buttale nella spazzatura.
            Johnny
            (GTE - Torino)
            Out of sight, NOT out of mind.

            Commenta


            • Originariamente inviato da jhoexp Visualizza il messaggio
              Ok, questi sono i jumper da saldare.




              Arnaldo, non avevi detto di aver letto il codice?
              Dove hai letto che l'indirizzo è 0x82? Comunque va sostituito nella funzione che inizializza e legge il bma180:

              codice:
              // contribution from opie11 (rc-grooups)
              // I2C Accelerometer BMA180
              // **************************
              // I2C adress: 0x80 (8bit)    0x40 (7bit)
              #if defined(BMA180)
              static uint8_t rawADC_BMA180[6];
              
              void i2c_ACC_init () {
                delay(10);
                i2c_rep_start(0x80+0);      // I2C write direction 
                i2c_write(0x0D);            // ctrl_reg0
                i2c_write(1<<4);            // Set bit 4 to 1 to enable writing
                i2c_rep_start(0x80+0);       
                i2c_write(0x35);            // 
                i2c_write(3<<1);            // range set to 3.  2730 1G raw data.  With /10 divisor on acc_ADC, more in line with other sensors and works with the GUI
                i2c_rep_start(0x80+0);
                i2c_write(0x20);            // bw_tcs reg: bits 4-7 to set bw
                i2c_write(0<<4);            // bw to 10Hz (low pass filter)
              
                acc_1G = 273;
                acc_25deg = 113; // = acc_1G * sin(25 deg)
                accPresent = 1;
              }
              
              void i2c_ACC_getADC () {
                TWBR = ((16000000L / 400000L) - 16) / 2;  // Optional line.  Sensor is good for it in the spec.
                i2c_rep_start(0x80);     // I2C write direction
                i2c_write(0x02);         // Start multiple read at reg 0x02 acc_x_lsb
                i2c_rep_start(0x80 +1);  // I2C read direction => 1
                for(uint8_t i = 0; i < 5; i++) {
                  rawADC_BMA180[i]=i2c_readAck();}
                rawADC_BMA180[5]= i2c_readNak();
              
                accADC[ROLL]  = - (((rawADC_BMA180[1]<<8) | (rawADC_BMA180[0]))>>2)/10; // opie settings: + ; FFIMU: -
                accADC[PITCH] = - (((rawADC_BMA180[3]<<8) | (rawADC_BMA180[2]))>>2)/10;
                accADC[YAW]   = - (((rawADC_BMA180[5]<<8) | (rawADC_BMA180[4]))>>2)/10;
              }
              #endif

              C'è il regolatore e l'llc integrato quindi perchè ti fai problemi?
              Alimentala a 3.3V e abilita i pull-up.

              ok sembra funzionare tra un pochino vi faccio sapere come va sulla gui
              FpvProjekt channels:
              http://www.youtube.com/user/Arnald26
              http://www.vimeo.com/album/72997

              Commenta


              • Originariamente inviato da jhoexp Visualizza il messaggio
                Ok, allora non è un problema dell'arduino.



                Sì, può essere la ricevente, anzi direi che potrei quasi scommetterci....
                Controlla sul configuratore i valori della rx, devono essere stabili e centrati.

                Fatti un favore, le riceventi corona buttale nella spazzatura.
                sembrava ok, devo allora provare un'altra ricevente....cos'hanno che non va per essere così odiate?

                Commenta


                • prime impressioni di BARO e MAGNETO
                  il baro...l ho provato pochi secondi e devo dire....che fa schifo....sale e scende a tutto gas di almeno 2 3 metri...e meno male che è superprotetto da venti e altro...non so se alzandosi un po da terra( io l ho provato a circa 2 3 metri dal suolo) migliori la situazione ...ma non ne sarei sicuro...cmq è da provare ulteriormente...

                  magneto....sostanzialmente la coda la si vede driftare fino ad un certo punto...poi ritorna in posizione il tutto molto lentamente...quindi direi che funziona...se si sposta con la mano il multicoso con questa funzione poi tende a ritornare da solo in posizione iniziale...quindi direi non indispensabile ma almeno funziona...
                  FpvProjekt channels:
                  http://www.youtube.com/user/Arnald26
                  http://www.vimeo.com/album/72997

                  Commenta


                  • Originariamente inviato da faso90vr Visualizza il messaggio
                    sembrava ok, devo allora provare un'altra ricevente....cos'hanno che non va per essere così odiate?
                    Hanno un mare di problemi, binding spesso difficoltoso, mancato riconoscimento all'accensione, jittering, scarsa risoluzione di comando, black out improvvisi e altre amenità. Un po' tutti quelli che le hanno provate se ne lamentano e quasi nessuno le usa più. Capisco chi le mette sullo schiumino o sul modello di cui ti frega poco, ma su mezzi piuttosto critici poi come elicotteri e multirotori, è decisamente meglio evitare...
                    Johnny
                    (GTE - Torino)
                    Out of sight, NOT out of mind.

                    Commenta


                    • Originariamente inviato da jhoexp Visualizza il messaggio
                      Hanno un mare di problemi, binding spesso difficoltoso, mancato riconoscimento all'accensione, jittering, scarsa risoluzione di comando, black out improvvisi e altre amenità. Un po' tutti quelli che le hanno provate se ne lamentano e quasi nessuno le usa più. Capisco chi le mette sullo schiumino o sul modello di cui ti frega poco, ma su mezzi piuttosto critici poi come elicotteri e multirotori, è decisamente meglio evitare...
                      ok, avevo già una mezza idea di farlo, ma ora mi hai convinto a cercarmi una buona ricevente...

                      Commenta


                      • perche quando nella gui vado inclinare il modello in avanti tutti i sensori reagiscono bene tranne la bussola che inizia a cambiare direzione?
                        (da notare che funziona bene in volo e nelle rotazioni orizzontali sulla gui)
                        FpvProjekt channels:
                        http://www.youtube.com/user/Arnald26
                        http://www.vimeo.com/album/72997

                        Commenta


                        • Originariamente inviato da arnaldo Visualizza il messaggio
                          perche quando nella gui vado inclinare il modello in avanti tutti i sensori reagiscono bene tranne la bussola che inizia a cambiare direzione?
                          (da notare che funziona bene in volo e nelle rotazioni orizzontali sulla gui)
                          Perche' e' compensata male dagli accelerometri .. devi trovare la direzione giusta di montagio rispetto all'accelerometro. E' un problema noto anche su ArducopterNG32
                          Strano che ti si muova .. nel mio codice inchioda la coda .. se ti si muove il problema e' dovuto alla compensazione di cui sopra ... ci ho perso delle giornate ;) Il magnetometro di solito non serve a nulla se il codice e' fatto bene .. i gyro ti tengono bene la coda in posizione ti serve solo nel caso in cui usi il gps.
                          Saluti
                          Roberto
                          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
                            Perche' e' compensata male dagli accelerometri .. devi trovare la direzione giusta di montagio rispetto all'accelerometro. E' un problema noto anche su ArducopterNG32
                            Strano che ti si muova .. nel mio codice inchioda la coda .. se ti si muove il problema e' dovuto alla compensazione di cui sopra ... ci ho perso delle giornate ;) Il magnetometro di solito non serve a nulla se il codice e' fatto bene .. i gyro ti tengono bene la coda in posizione ti serve solo nel caso in cui usi il gps.
                            Saluti
                            Roberto
                            tutto vero rob...a dir la verità la coda mi sembra piu ferma senza magneto nei piccoli intervalli di tempo...però alla lunga si nota la differenza....ripeto per funzionare funziona...solo che oscilla avanti e indietro in un range direi di circa 30 gradi...
                            il bello è che se io lo sposto con la mano in hovering di 90 gradi lui pian piano ritorna alla posizione iniziale...ma di sicuro il codice non è un granchè ancora... sarebbe interessante sfruttare questa imu con la tua multipilot
                            FpvProjekt channels:
                            http://www.youtube.com/user/Arnald26
                            http://www.vimeo.com/album/72997

                            Commenta


                            • Originariamente inviato da arnaldo Visualizza il messaggio
                              perche quando nella gui vado inclinare il modello in avanti tutti i sensori reagiscono bene tranne la bussola che inizia a cambiare direzione?
                              (da notare che funziona bene in volo e nelle rotazioni orizzontali sulla gui)
                              Probabilmente c'è un problema di compensazione (Tilt compensation) che può essere dovuto sia alla taratura della bussola (l' hai fatta vero ;) ) che alla funzione di compensazione vera e propria che usa le 3 componenti del campo magnetico letto dalla bussola e gli angoli di assetto (ora entrano in gioco gli accelerometri ma sarebbe meglio qualcosa di più sofisticato come la DCM) per correggere la lettura. Considera che per quanto tarata e compensata a forti inclinazioni diciamo > 40 gradi puoi avere degli spostamenti via via crescenti.

                              In una prima approssimazione questo non è un problema in particolare se si pensa ad un volo a utomatico (GPS) con piccoli angoli di assetto. Questo in genere è vero per i Quad.

                              In genere se si pensa al volo automatico più sofisticato o epiù accurato , si utilizza la bussola integrata in un sistema inerziale complementare (es. DCM, Kalman etc) in modo da avere un controllo corrispondente alla dinamica del volo.

                              In questo caso la bussola non serve solo per l'Heading Hold ma entra integralmente nella valutazione degli angoli di assetto (con Gyro ed ACC) ed in particolare dello YAW garantendone accuratezza e stabilità cosa impossibile con altri mezzi se il quad è fermo o quasi fermo
                              Per gli aerei che non stanno (quasi) mai fermi si può evitare la bussola e si utilizza il solo GPS
                              Ultima modifica di ziojos; 04 maggio 11, 12:53.

                              Commenta


                              • Originariamente inviato da ziojos Visualizza il messaggio
                                Probabilmente c'è un problema di compensazione (Tilt compensation) che può essere dovuto sia alla taratura della bussola (l' hai fatta vero ;) ) che alla funzione di compensazione vera e propria che usa le 3 componenti del campo magnetico letto dalla bussola e gli angoli di assetto (ora entrano in gioco gli accelerometri ma sarebbe meglio qualcosa di più sofisticato come la DCM) per correggere la lettura. Considera che per quanto tarata e compensata a forti inclinazioni diciamo > 40 gradi puoi avere degli spostamenti via via crescenti.

                                In una prima approssimazione questo non è un problema in particolare se si pensa ad un volo a utomatico (GPS) con piccoli angoli di assetto. Questo in genere è vero per i Quad.

                                In genere se si pensa al volo automatico più sofisticato o epiù accurato , si utilizza la bussola integrata in un sistema inerziale complementare (es. DCM, Kalman etc) in modo da avere un controllo corrispondente alla dinamica del volo.

                                In questo caso la bussola non serve solo per l'Heading Hold ma entra integralmente nella valutazione degli angoli di assetto (con Gyro ed ACC) ed in particolare dello YAW garantendone accuratezza e stabilità cosa impossibile con altri mezzi se il quad è fermo o quasi fermo
                                Per gli aerei che non stanno (quasi) mai fermi si può evitare la bussola e si utilizza il solo GPS
                                Infatti, uno dei problemi attualmente presenti sulla multiwii è che non è prevista la calibrazione del magnetometro.
                                Non ho visto se invece è previsto il tilt compensation.

                                Alessio

                                Commenta

                                Sto operando...
                                X