annuncio

Comprimi
Ancora nessun annuncio.

KaptainKuk controller board! eccola!

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

  • #46
    Originariamente inviato da MarcAntonio Visualizza il messaggio
    qualsiasi giroscopio può essere montato sulla KK, che abbia l'uscita analogica, credo però che serva qualche modifica al software perchè hanno un update rate diverso.Per il resto penso si possa fare, tranne per gli accelerometri. Non credo che il chip usato abbia abbastanza spazio o input liberi per implementare lo stable- mode.
    orsù...ormai siete amici...mandargli due righe per chiederglielo???

    Commenta


    • #47
      per quel che ne so i gyro wii usano il protocolllo i2c, che comunque è suportato dagli atmega (i microcontrollori usati).
      ma non rilascia i sorgenti? Allora mi toccherà scrivere il codice da 0 (odio i precompilati, peggio dei sughi pronti )

      Commenta


      • #48
        certo che c'è il sorgente... scherzi? è tutto Assembler... come te la cavi con l'Assembler?

        Commenta


        • #49
          io programmo pure i sassi
          potresti passarmi i link al codice? io ho trovato solo gli .hex, son quelli? uff allora mi devo scaricare lu programmino, e anche un compilatore cross platform per l'atmega...
          ma in C ci perdeva così tanto di prestazioni? o semplice masochismo ?

          Commenta


          • #50
            l'atmega non è un mostro di processore... penso sia una scelta dovuta alla performance.

            D'altronde questo controller è così popolare perchè del suo genere è semplice, stabilissimo, insomma il migliore tra gli altri di questo livello.
            Poi un gradino o molti al di sopra ci sono i vari progetti con accelerometri e gps e altri sensori.

            Commenta


            • #51
              ho controllato e lui non usa quarzi esterni, quindi sfrutta quello interno a "solo" 16mhz, mente gli atmega reggono anche i 20mhz, ovvero circa il 25% in più!
              Arduino Forum - ATMega328p 20Mhz

              nel frattempo ho trovato i file asm, nella vecchia versione non erano inclusi nel .zip! però ho notato che forse mi conviene adattare il baronpilot piuttosto che portare il codice dall'asm

              Commenta


              • #52
                Originariamente inviato da elettro Visualizza il messaggio
                ho controllato e lui non usa quarzi esterni, quindi sfrutta quello interno a "solo" 16mhz, mente gli atmega reggono anche i 20mhz, ovvero circa il 25% in più!
                Arduino Forum - ATMega328p 20Mhz

                nel frattempo ho trovato i file asm, nella vecchia versione non erano inclusi nel .zip! però ho notato che forse mi conviene adattare il baronpilot piuttosto che portare il codice dall'asm
                Ciao Elettro,
                non tutti i processori ATMega vanno a 20 Mhz , ma solo la serie 328P , 644P ,1284 PA . Io uso sulla mia scheda i 644P e i 1284PA , per quanto riguarda la scelta dell'assembler viste le risorse disponibili su questo micro è da "Masochisti" o da "Manici" lavorare oggi in ASM , anche perchè questo approccio preclude decisamente la leggibilità del codice e quindi la condivisione in una community piuttosto importante come ad esempio quella di arduino di uno sviluppo di sofware con funzioni avanzate come ad esempio avviene sul codice di Arducopter / Ardupilot , per quanto riguarda questa board ho già espresso diverse perplessità rispetto all'equipaggiamento sia dei sensori che delle funzioni supportate , ovviamente se vuoi fare solo una correzione giroscopica / PID dell'assetto forse un programma in asm risulta ancora di facile implementazione e comprensione , ma sempre se si è un po' manici , se no è solo una grande perdita di tempo ... io programma da oltre 20 anni e quando usavo l'assemblre 16 anni fa' su micretti come il motorola 68hc11 , avevo risorse risicate 1 Kbyte di EEPROM e 256 byte di ram , lo spazio per i programmi non era mai sufficiente , le applicazioni erano molto affidabili e ottimizzate , ma se volevo inizare a fare cose un po' complicate era praticamente impossibile condividere in un gruppo di sviluppo un progetto complesso era impossibile da sviluppare e da manutenere ... io da allora ho scelto il C come linguaggio principe per le nostre applicazione complesse e da allora cavalco questa strada che si è dimostrata moderna e condivisa a così tanti anni di distanza ...
                Quindi .... No assembler .... No schede che supportano solo i giroscopi è un buon entri level , ma poi si puo' passare ad altro .. e perder tempo sull'assembler di questo codice che ho letto è per me è puro masochismo e una gran perdita di tempo .. se si vuol fare qualcosa di carino è meglio unirsi a progetti come arducopter , aeroquad e baronpilot , molto piu' promettenti e supportabili
                saluti
                Roberto
                Redfox74
                Virtual Robotix ( Arducopter DEVTEAM )
                http://www.virtualrobotix.com
                Canale di supporto FB
                https://www.facebook.com/groups/1606596929592397/

                Commenta


                • #53
                  Originariamente inviato da elettro Visualizza il messaggio
                  ho controllato e lui non usa quarzi esterni, quindi sfrutta quello interno a "solo" 16mhz
                  Quello interno è solo a 8Mhz e non è neppure un quarzo (= impreciso).
                  Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

                  Commenta


                  • #54
                    Originariamente inviato da elettro Visualizza il messaggio
                    che forse mi conviene adattare il baronpilot piuttosto che portare il codice dall'asm
                    Il tuo "forse" è stata la ragione per cui è iniziato il BaronPilot, fichissimo il KK, ma non c'e' modo di metterci mano senza impazzire.
                    Poi chiaro che se non vuoi metterci mano...
                    Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

                    Commenta


                    • #55
                      Quindi mettere i giro della Wii è impossibile Francesco?

                      Commenta


                      • #56
                        Originariamente inviato da jack-frank Visualizza il messaggio
                        Quindi mettere i giro della Wii è impossibile Francesco?
                        KK, dovrebbe implementare i2c in assembler fattibile con un po' di impegno, ma la scelta base di usare l'assembler è perdente sul lungo periodo.
                        Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

                        Commenta


                        • #57
                          C'e' anche la via che avevo seguito in fase iniziale sull' ArmQuad e cioe' usare il wiimotion in analogico.
                          Il problema e' che bisogna fare delle modifiche con il saldatore, tempo fa avevo postato una foto con le modifiche necessarie sul wii motion originale.
                          In definitiva comunque io li ho provati tutti e due sull'armquad , sia i murata che il wiimotion, e non c'erano molte differenze, le uniche diff erano sulla manovre molto acro, il wiimotion recuperava meglio le angolazioni estreme.
                          In una prova successiva li ho usati tutti e due contemporaneamente, cioe 5 gyro. Quà il video YouTube - ArmQuad con 5 Gyroscopi
                          Per questo tipo di controllo il drift dei murata e' irrilevante, sarebbe invece un problema se ci fosse il controllo stabile, cioe' dell'angolo.

                          Ciao
                          Quadricottero News
                          http://www.facebook.com/Quadricottero

                          Commenta


                          • #58
                            mi son tirato giù i datasheet(in realtà solo uno vedi dopo)
                            allora i micro atmega che possono viaggiare a 20mhz sono atmega48/88/168/328 che in realtà sono la stessa cpu cambiano solo le dimensioni delle memorie (da quì un solo datasheet) e superiori, come il "recente" atmega. Quindi tutti i micro che KK dice di supportare possono viaggiare a 20mhz.
                            ho visto che viaggiando a 20mhz ci possono essere sbatti con i timer, quindi delay(), millis() e derivati (PWM ecc..) impazziscono, o meglio sfasano di quei 4mhz guadagnati, salvo usare un bootloader specifico e modificare un file dell'ide (bhè in realtà mi sto ancora informando, per ora è quello che ho capito). da quì probabilmente la scelta di restare sui 16mhz
                            Probabilmente la scelta dell'assembly è data dal fatto che sui datasheet c'è il tempo di clock per ogni istruzione ASM (la maggior parte da 1 clock, fino a 3), e quindi kk sapeva di non poter superare un certo numero di clock a ciclo e si è fatto 4 conti... bhè un pò più di 4
                            da quì anche un buon motivo per non aggiungere nuove cose; si è fatto un mazzo per stare dentro con i cicli di clock e ora non rischia/non riesce a farci stare altro

                            @ciskje: che non fosse quarzo lo sapevo, ma 8mhz? sei sicuro? allora KK sta facendo girare queì micro a metà del potenziale base di 16mhz?
                            ho controllato hai ragione! ma che sbatti si fa!

                            Commenta


                            • #59
                              Originariamente inviato da elettro Visualizza il messaggio
                              mi son tirato giù i datasheet(in realtà solo uno vedi dopo)
                              allora i micro atmega che possono viaggiare a 20mhz sono atmega48/88/168/328 che in realtà sono la stessa cpu cambiano solo le dimensioni delle memorie (da quì un solo datasheet) e superiori, come il "recente" atmega. Quindi tutti i micro che KK dice di supportare possono viaggiare a 20mhz.
                              ho visto che viaggiando a 20mhz ci possono essere sbatti con i timer, quindi delay(), millis() e derivati (PWM ecc..) impazziscono, o meglio sfasano di quei 4mhz guadagnati, salvo usare un bootloader specifico e modificare un file dell'ide (bhè in realtà mi sto ancora informando, per ora è quello che ho capito). da quì probabilmente la scelta di restare sui 16mhz
                              Probabilmente la scelta dell'assembly è data dal fatto che sui datasheet c'è il tempo di clock per ogni istruzione ASM (la maggior parte da 1 clock, fino a 3), e quindi kk sapeva di non poter superare un certo numero di clock a ciclo e si è fatto 4 conti... bhè un pò più di 4
                              da quì anche un buon motivo per non aggiungere nuove cose; si è fatto un mazzo per stare dentro con i cicli di clock e ora non rischia/non riesce a farci stare altro

                              @ciskje: che non fosse quarzo lo sapevo, ma 8mhz? sei sicuro? allora KK sta facendo girare queì micro a metà del potenziale base di 16mhz?
                              ho controllato hai ragione! ma che sbatti si fa!
                              Ciao, guarda che quel codice di volo e' fatto di qualche somma sottrazione divisione e moltiplicazione, in sostanza anche uno Z80 le eseguirebbe in tempo utile, 8Mhz signifca 8MIPS per l'avr, quindi c'e' ne d'avanzo.
                              Quello che e' importante e' la frequenza di generazione del segnale PWM con relativa risoluzione, e la conversione A/D dei gyro che deve essere la più veloce e meno rumorosa possibile e almeno da 10bit ma se ne hai di piu' e meglio.
                              Quadricottero News
                              http://www.facebook.com/Quadricottero

                              Commenta


                              • #60
                                ma la velocità di conersione a/d dei giro e modulaione PWM dipendono più o meno direttamente dal clock, quindi non capisco perchè andare di ASM a 8 mhz quando puoi usare i C a 16mhz!
                                sull'arduino l'analog read prende 100micros=0.0001 s a 10 bit, ma la veocità di conversione puù essere aumentata abbassando il prescaler da 128 a 16 senza perdita significativa di precisione
                                oppure si può usare un'integrato esterno e leggere direttamente da digitale, che in asm prende 1 clock, in C qualche istruzione in più

                                Arduino Forum - Faster Analog Read?

                                Commenta

                                Sto operando...
                                X