Originariamente inviato da MarcAntonio
Visualizza il messaggio
annuncio
Comprimi
Ancora nessun annuncio.
KaptainKuk controller board! eccola!
Comprimi
X
-
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
-
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
-
Originariamente inviato da elettro Visualizza il messaggioho 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
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
RobertoRedfox74
Virtual Robotix ( Arducopter DEVTEAM )
http://www.virtualrobotix.com
Canale di supporto FB
https://www.facebook.com/groups/1606596929592397/
Commenta
-
Originariamente inviato da elettro Visualizza il messaggioho controllato e lui non usa quarzi esterni, quindi sfrutta quello interno a "solo" 16mhzInformatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.
Commenta
-
Originariamente inviato da elettro Visualizza il messaggioche forse mi conviene adattare il baronpilot piuttosto che portare il codice dall'asm
Poi chiaro che se non vuoi metterci mano...Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.
Commenta
-
Originariamente inviato da jack-frank Visualizza il messaggioQuindi mettere i giro della Wii è impossibile Francesco?Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.
Commenta
-
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.
CiaoQuadricottero News
http://www.facebook.com/Quadricottero
Commenta
-
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
-
Originariamente inviato da elettro Visualizza il messaggiomi 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!
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
-
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
Commenta