annuncio

Comprimi
Ancora nessun annuncio.

Autostabilizzatore fai-da-te

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

  • #46
    Originariamente inviato da lucapif Visualizza il messaggio
    Vi seguo sempre con molto interesse, anche se purtroppo non ne capisco di queste schede Arduino e di programmazione, ma invece di prendere un Arduino Duemilanove, come chiede magnetron1, non sarebbe meglio prendere questa anche se di prezzo più elevato? SparkFun Electronics - ArduPilot Mega - Arduino Mega compatible UAV Controller
    ciao
    Più memoria più uscite, entrambe non servono per questo scopo, ma fanno girare tranquillamente il programma. (e costa di più).
    Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

    Commenta


    • #47
      In settimana dovrebbe arrivarmi Arduino 2009..
      Dubito che riuscirò a farlo stare sul tuttala..
      Comunque per i primi esperimenti va benone..
      E' possibile rompere la scheda sbagliando a scrivere il codice? Perchè con i miei esperimenti potrei riuscirci..

      Everybody sing this song

      Commenta


      • #48
        Originariamente inviato da Guglio Visualizza il messaggio
        In settimana dovrebbe arrivarmi Arduino 2009..
        Dubito che riuscirò a farlo stare sul tuttala..
        Comunque per i primi esperimenti va benone..
        E' possibile rompere la scheda sbagliando a scrivere il codice? Perchè con i miei esperimenti potrei riuscirci..
        Programmando no, ma basta invertire l'alimentazione...
        Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

        Commenta


        • #49
          Signore e signori, un altro passo, lettura del nunchuck e calcolo del mixing per il tricottero fatto.
          Devo ancora pulire un po' il sorgente, ma direi che funziona già molto bene, non vedo l'ora di provarlo sul Tricotter V2.



          ARStab - Stabillizer System Software with Nunchuck Arduino and a R/C Receiver

          Manca il calcolo del PID, e normalizzare tra -1 e 1 tutti i parametri.
          Poi si passa alla taratura del tricottero.
          L'idea di base è quella di mantenere la struttura base di signguy, ma aggiungere il controllo dell'assetto via accelerometri, cosi' da non dover sventrare i poveri HK401b.

          In pratica si può aggiungere l'arstab in un secondo tempo dopo aver fatto il tricottero standard.

          Al momento il mixing è un semplicissimo:
          codice:
          channelOut[FRONTL]=channelIn[THR]+channelIn[AIL]-channelIn[ELE]/2+ay*500+ax*500;
          channelOut[FRONTR]=channelIn[THR]-channelIn[AIL]-channelIn[ELE]/2+ay*500-ax*500;
          channelOut[REAR]=channelIn[THR]+channelIn[ELE]-ay*500; 
          
          ax ay az are the accel normalized 0-1.0g
          Se non dovesse essere stabile separando gyro dagli accel, un filtro passa alto per i gyro e un filtro passa basso per gli accel, è già pronto.
          Se non dovesse funzionare manco cosi' si passerà al Kalmann filter (la bestia nera).
          Ultima modifica di ciskje; 30 aprile 10, 21:27.
          Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

          Commenta


          • #50
            Allora, innanzitutto complimenti, vedo che stai procedendo spedito e hai già scritto le cose principali per la stabilizzazione e l'acquisizione dati dal nunchak che naturalmente userò anch'io! grazie!

            Bellissima la stabilizzazione con l'accellerometro del nunchak...hai già provato se funziona con la semplice miscelazione o serve per forza il filtro?

            Qualche altra domanda così posso comprare subito bene:
            L'atmega328 con 32kB e clock a 16Mhz è sufficiente per gestire contemporaneamente sia la stabilizzazione che la navigazione (magari basata su quella dell'ardupilot, con gps e termopile o IMU) e anche i movimenti della camera attraverso nunchak o altro controller?

            Gli altri input e output pwm delle board "mega", la memoria in più, ecc... possono essere utili in futuro o la velocità del processore è il limite maggiore?
            Johnny
            (GTE - Torino)
            Out of sight, NOT out of mind.

            Commenta


            • #51
              Originariamente inviato da jhoexp Visualizza il messaggio
              Bellissima la stabilizzazione con l'accellerometro del nunchak...hai già provato se funziona con la semplice miscelazione o serve per forza il filtro?
              Purtroppo come costruttore sono un po' lentino, e il tricottero V2 stenta a decollare (quadrotti e non U, e riposizionamento dei motori, per poter usare i prop saver).

              Qualche altra domanda così posso comprare subito bene:
              L'atmega328 con 32kB e clock a 16Mhz è sufficiente per gestire contemporaneamente sia la stabilizzazione che la navigazione (magari basata su quella dell'ardupilot, con gps e termopile o IMU) e anche i movimenti della camera attraverso nunchak o altro controller?
              ATMega è un processore RISC, estremamente efficiente sia come energia che come velocità, il difetta della mega è che è parecchio "grossa", rispetto all'arduino NANO, il mio programma attualmente occupa 7k.

              Gli altri input e output pwm delle board "mega", la memoria in più, ecc... possono essere utili in futuro o la velocità del processore è il limite maggiore?
              Sai che non avevo manco pensato di usare i PWM? Bene nuova idea, al momento facevo tutto via timer1!
              Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

              Commenta


              • #52
                hai intenzione di implementare anche una funzione autopilota?
                se si saro' piu' che lieto di fornirti tutte le idee che mi sono venute sperimentando con ardupilot!!
                Primo aeromodello Drone Solare homemade al mondo!
                Su FB: LUSAonline
                Homemade ESC sensored iniziato, collaudato e mai finito, se qualcuno vuole continuarlo PM

                Commenta


                • #53
                  Posso dare il mio umile parere?
                  Da quello che ho capito dal codice il servo viene spostato grazie a una formula matematica..
                  Non è forse meglio mettere un bel loop che continua ad aumentare/diminuire l'angolatura del servo finchè l'aereo non è parallelo al suolo?
                  Un calcolo matematico secondo me non è efficace perchè il mio servo può essere collegato verso la cerniera o verso la fine dell'alettone e quindi cambia molto anche il movimento di quest'ultimo..

                  @Ludo91, per collegare un GPS ad arduino servono aggeggi costosi?

                  Everybody sing this song

                  Commenta


                  • #54
                    Originariamente inviato da Guglio Visualizza il messaggio
                    Posso dare il mio umile parere?
                    Da quello che ho capito dal codice il servo viene spostato grazie a una formula matematica..
                    Non è forse meglio mettere un bel loop che continua ad aumentare/diminuire l'angolatura del servo finchè l'aereo non è parallelo al suolo?
                    La domanda è ben posta, serve un PID, cioè un sistema che si autocalcola alcuni parametri che permettono di comandare qualcosa per ottenere un certo effetto.
                    E nella prossima fase.

                    Un calcolo matematico secondo me non è efficace perchè il mio servo può essere collegato verso la cerniera o verso la fine dell'alettone e quindi cambia molto anche il movimento di quest'ultimo..
                    Non è esatto, è un calcolo matematico che serve, ma non quello.
                    Ci sono 3 livelli di complicazione per il calcolo PID:
                    • P Proporzionale, si misura l'errore e si decide direttamente il comando
                    • I L'integrativo, si accumulano gli errori e si decide il comando
                    • D Il derivativo, si misura la variazione dell'errore e si decide il comando

                    Appunto il PID, che è l'arte di combinare questi 3 effetti con dei coefficienti (non è lontano dalla magia trovare questi coefficienti).
                    Non importa e non devi sapere esattamente dov'e' il servo, sai cosa vuoi ottenere, e comandandolo puoi "cercare" di centrare quel che serve continuandolo a modificare.

                    @Ludo91, per collegare un GPS ad arduino servono aggeggi costosi?
                    Il GPS all'arduino praticamente bastano 2 fili TXD e RXD, la UART (la porta seriale) però è usata dalla porta USB, ma è possibile usarla anche per il GPS.

                    Originariamente inviato da Ludo91 Visualizza il messaggio
                    hai intenzione di implementare anche una funzione autopilota?
                    se si saro' piu' che lieto di fornirti tutte le idee che mi sono venute sperimentando con ardupilot!!
                    In cantiere ho già letto il GPS senza problemi, l'OSD invece ha qualche problemino (e probabilmente servirà un secondo processore solo per il video), combinare il tutto con un autopilota è DOVEROSO!

                    Poi non possiamo mica farci sbattere quel costosissimo aggeggio tedesco chiamato Mikrokopter all'infinito!
                    Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

                    Commenta


                    • #55
                      @guglio: no basta collegarlo all ingresso e all uscita seriale di arduino e bon

                      @ciskje: Perfetto, tra non molto ti faro` avere le mie idee sulla navigazione
                      Primo aeromodello Drone Solare homemade al mondo!
                      Su FB: LUSAonline
                      Homemade ESC sensored iniziato, collaudato e mai finito, se qualcuno vuole continuarlo PM

                      Commenta


                      • #56
                        Grazie per le risposte..Sono gli ingressi con le 'freccine' disegnate vicino? Scusate l'ignoranza...

                        Everybody sing this song

                        Commenta


                        • #57
                          Grazie per le risposte..Sono gli ingressi con le 'freccine' disegnate vicino? Scusate l'ignoranza...

                          Everybody sing this song

                          Commenta


                          • #58
                            Ecco il mio progettino in nuce..
                            Ho utilizzato un accelerometro fai-da-te


                            I servi e l'RX mi devono ancora arrivare dalla Cina quindi sto usando dei led per fare le prove..
                            Quella sorta di "bottone con peso" non funziona neanche tanto male..
                            Come metodo per stabilizzare provo ad usare quello che descrivevo sopra
                            .... continua ad aumentare/diminuire l'angolatura del servo finchè l'aereo non è parallelo al suolo ...
                            Volevo partire però dal progetto di ciskje, invece che mandare i dati direttamente ai servi li faccio sommare al channelIn[AIL] (penso sia questo il canale giusto)
                            Ma molto probabilmente senza un accelerometro serio non funzionerà..

                            Non insultatemi troppo.. è il mio primo script

                            codice:
                            int dx = 0; 
                            int sx = 0; 
                            int ssx = 125;// Il valore non è preciso è giusto per provare
                            int sdx = 125;
                            int lst = 0;
                            void setup() {
                              pinMode(11, OUTPUT); 
                              pinMode(10, OUTPUT);  
                            }
                            void loop() {
                            dx = analogRead(0);
                            sx = analogRead(5);
                            
                            if (sx > 1022){
                            //Con le vibrazioni potrebbero esserci contatti continui fra destra e sinistra..
                            //Questo IF dovrebbe un po' limitarli anche se in realtà non cambia nulla.
                                if (lst!='d'){
                              sdx +=5;
                              ssx -=5;
                                }
                               if (sdx > 240){
                                sdx=240;
                              }
                              if (ssx < 0){
                                ssx=0;
                              }
                              lst = 's';
                            }
                            
                            if (dx > 1022){
                              if (lst!='s'){
                              sdx -=5;
                              ssx +=5;
                              }
                              if (ssx > 240){
                                ssx=240;
                              }
                              if (sdx < 0){
                                sdx=0;
                              }
                             lst = 'd';
                            }
                              analogWrite(10,sdx);
                              analogWrite(11,ssx);
                            delay(30);
                            }

                            Everybody sing this song

                            Commenta


                            • #59
                              Accidenti sei partito in quarta, però non ho capito perchè usi analogRead invece di digitalRead.

                              Se c'e' contatto è 5v se non c'e' è 0v non ci sono valori intermedi.
                              Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

                              Commenta


                              • #60
                                Ehm.. perchè subito provavo con un potenziometro.. poi ho provato con il "pendolo" e l'ho tenuto così
                                Dovrò studiare il modo di abilitare o disabilitare questo "stabilizzatore", non vorrei trovarmi con il modello spaccato al primo volo..
                                Approposito, c'è un modo per capire da arduino se l' RX è in failsafe? Mi sembra che ArduPilot ci riesca..

                                Everybody sing this song

                                Commenta

                                Sto operando...
                                X