Go Down

Topic: Official topic: multicotteri con arduino! (Read 358853 times) previous topic - next topic

astrobeed

Quando andrete a provare il multicoso evitate di fare come questi due  :smiley-mr-green:
Scientia potentia est

FEDERICO

Dopo le prime pagine di discussione dove ero vagamente incuriosito, dopo le prime 10 pagine dove ero parecchio incuriosito e iscritto al forum di baronerosso.it, alla 20esima pagina ho deciso di acquistare una radiotrasmittente che ho ordinato ieri...  $)
Prossimi passi: capire bene il multiwii (non appena ho tempo di mettere mano a sto cavolo di wmp e al mio adxl) e testare, come ho visto sul blog di kal la trasmittente coi servi e il multiwii (il blog e' carino, dategli un occhio).
Ho un mezzo progetto a livello di dimensioni/componentistica in mente e sto gia' ragionando sulla possibilita' di installare mille baggianata controllate da un secondo arduino.
Forse e' meglio prima farlo decollare, sto coso.  :smiley-eek:
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

Kal

#317
Jul 27, 2011, 10:52 am Last Edit: Jul 27, 2011, 11:21 am by Kal Reason: 1


Ho montato anche io wm+ e nunchuck con il multiwii, però qualche volta non mi legge il nunchuck.. ma basta staccare e riattaccare che funziona tutto..


Nel video che hai postato non vedo le resistenze di pullup e vedo che alimenti il tutto da un pin di Arduino senza nemmeno mettere i diodi in serie.
Così non va bene, alimenta il tutto direttamente dai 3.3V forniti da Arduino e metti due pull up da 1.5k su SCL e SDA del WMP.
Io ho lasciato il WMP in funzione per diverse ore di seguito per sincerarmi se veramente perde la comunicazione come asserisce l'autore del MultiWii, per questo motivo ha previsto l'alimentazione tramite un GPIO con due diodi in serie per poter resettare a comando il WMP, non ho riscontrato nessun problema.
La mia ipotesi è che i problemi lamentati sono dovuti a valori non idonei per le pull up sulla I2C, se non la totale mancanza di queste, con device non originali funziona lo stesso perché le pull up possono incluse sul WMP, però sono di alto valore e sicuramente portano a vari problemi quando si collega tutto il resto.

Avevo letto di questo nelle faq di multiwii, ma sembrava essere una cosa opzionale, non necessaria.. ho visto progetti funzionanti che non si preoccupano di questo.. però visto che mi hai messo la pulce nell'orecchio farò delle prove.. Magari si risolve anche quel problemino con nunchuck pazzerello :)

edit: ti rispondo subito visto che sto provando in questo momento. Con i 3.3V e le pullup non ho più problemi di riconoscimento nunchuck :) l'unica problematica che ho riscontrato è che se stacco e riattacco l'usb in poco tempo il motion plus non funziona, e il led 13 non lampeggia.. ma basta avere l'accortezza di aspettare qualche secondo prima di riattaccare l'usb e tutto va che è una meraviglia..
www.robodroid.wordpress.com

astrobeed


ma sembrava essere una cosa opzionale, non necessaria.. ho visto progetti funzionanti che non si preoccupano di questo.


Purtroppo la rete è piena di cavolate, grazie al meccanismo dei motori di ricerca le "bufale" si propagano a velocità warp  :)

Quote

l'unica problematica che ho riscontrato è che se stacco e riattacco l'usb in poco tempo il motion plus non funziona, e il led 13 non lampeggia.. ma basta avere l'accortezza di aspettare qualche secondo prima di riattaccare l'usb e tutto va che è una meraviglia..


Direi che è più che normale che se stacchi e riattacchi l'USB senza aspettare qualche secondo poi possono esserci dei problemi.
Scientia potentia est

Kal

Meno male che esistono forum come questo con persone competenti, ed tra l'altro ecco perchè mi piacerebbe che questo topic avesse più "rilievo" :p
Possibile che abbia anche dei problemi di partenza a freddo? Se lo lascio li per un pò, la prima volta che lo attacco non va, stacco, aspetto qualche secondo, riattacco e va.. Potrebbe anche essere che questi problemi siano causati dal collegamento al pc e una volta che sarà tutto montato e non servirà più il collegamento seriale vada tutto no?
www.robodroid.wordpress.com

superlol

ho letto di mlte persone che alimentando da arduino hanno avuto problemi riguarda l'alimentazione, comunque ora devo rifare la mia scheda pensando di aggiungere resistenze di pullup e disabilitare pullup interni.

Riguardo all'alimentazione 5V io ho letto che nel WMP originale vi è un sistema suo di abbassamento a 3.3V. il problema è sui WMP non originali che non hanno questo "sistema di protezione".

almeno è quanto ho sentito-visto-dedotto dalle prove, domani prendo il wiimote (il telecomando) e vedo quanto esce effettivamente così da tirare le giuste conclusioni.

Attenti che invece il Nunchuck va alimentato a 3.3V ma se collegato tramite WMP vi è a bordo già un sistema di regolazione.

Domani vedo il quadri che sta tenendo il mio socio, togliamo gli spinotti dai motori (portano troppa poca corrente e il motore perde potenza), montiamo le nuove eliche, sistemiamo un paio di cose e via si vola  8)
http://www.aug-altogarda.it/ <- Il nuovo AUG per basso trentino e dintorni!

astrobeed


Riguardo all'alimentazione 5V io ho letto che nel WMP originale vi è un sistema suo di abbassamento a 3.3V. il problema è sui WMP non originali che non hanno questo "sistema di protezione".


Sui WMP originali c'è un piccolo regolatore LDO a 3V che serve esclusivamente per alimentare il giroscopio IDG600 che prevede come tensione ottimale di esercizio 3V, tutto il resto è alimentato dal connettore e dalla tensione diretta fornita dalle batterie dentro il WiiMote.

Quote

almeno è quanto ho sentito-visto-dedotto dalle prove, domani prendo il wiimote (il telecomando) e vedo quanto esce effettivamente così da tirare le giuste conclusioni.


Risposta facile, dal connettore esce la tensione fornita dalle batterie contenute nel WiiMote, cioè due celle da 1.5V nominali che fanno circa 3.6 Volt quando sono nuove e perfettamente cariche.
Le versioni più recenti del WiiMote dovrebbero contenere un piccolo switching step up/down che stabilizza la tensione delle batterie a 3.3V fissi.
C'è poco da tirare le "giuste conclusioni", tutti i componenti elettronici contenuti nel WMP e nel Nunchuk sono progettati per una tensione nominale di 3.3V, basta andare a leggersi i datasheet, solo l'IDG600 viene consigliato farlo lavorare a 3.0V, infatti c'è un apposito regolatore LDO dedicato.
Non occorre essere degli ingegneri elettronici per capire che se si alimenta il tutto a 5V non solo non va bene, ma c'è pure un elevato rischio di fare una bella frittata.


Scientia potentia est

lollotek


ratto93

Cavolo cè proprio tutto però... usa AeroQuad come software montato nell'ardupilot Mega....
Se corri veloce come un fulmine, ti schianterai come un tuono.

lestofante

news sul multiwii: avete presente il ponticello a vcc sul motion plus? credo quello sia la causa di alcuni problemi. mi si è staccato il ponticello, e ho scoperto che quello serve per dire al nunchuck se deve inviare i dati. In pratica, se a 1 deve inviare i dati, se a 0 no.
ho notato che alle volte il sistema fa fatica a partire: se invece metto a 1 DOPO che è stato inizializzato il WMP, allora il passtrough funziona senza problemi...
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

superlol

#325
Jul 28, 2011, 10:23 pm Last Edit: Jul 28, 2011, 11:08 pm by superlol Reason: 1
Ho iniziato sul playground a scrivere di multiwii in italiano:
http://arduino.cc/playground/Italiano/Multiwii

chiedo a chiunque faccia prove di annotarle grazie, non è difficile lo schema: in software si mettono i define, modifiche ecc mentre in hardware resistenze di pullup, collegamenti ecc.. se possibile chiedo di allegare immagini, grazie a tutti

EDIT:
INOLTRE
chiedo ancora per il GPS, si era partito non è che si riesce a buttare giù qualche algoritmo, un paio di stinghe di codice e verificare la fattibilità?

eravamo partiti così bene perchè fermarci?
l'idea di usare un micro a parte ci sta tutta, dai che portiamo una rivoluzione in multwii introducendo il GPS ;)
http://www.aug-altogarda.it/ <- Il nuovo AUG per basso trentino e dintorni!

lestofante

mi spiace ma io non uso il multiwii ma un codice fatto da me. Semplicemente ho riportato la notizia sapendo che a chi lo utilizza può far comodo.

Non mi piace come è scritto il multiwii, tutto in un unico pde.... poteva creare un paio di classi, altro che mille define!

io uso una classe per gestire i motori, contenuta nella classe del pid, poi una classe "stabilizzazione" che esegue l'algoritmo che contiene una classe IMU che legge i sensori, ed infine una classe che si occupa di leggere la radio tramite interrupt. ogni sensore/algoritmo di stabilizzazione/settaggio dei motori è (virtualmente, visto che per ora ce né solo una) una classe a parte. Il codice rimane molto più pulito e intercambiabile, e comunque un ciclo di aggiornamento dura meno di 2ms..

Quando finalmente riuscirò a fare il primo volo(cioè appena sistemo definitivamente il wmp+nunchuck) posterò tutto il codice.
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

lestofante

allora, se mi dai qualche output di esempio del gps (latitudine, longitudine etc..) possiamo iniziare a ricavarci qualcosa. pensavo di usare un sistema di coordinate sferiche, che dovrebbero semplificare non poco il procedimento
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

astrobeed


Non mi piace come è scritto il multiwii, tutto in un unico pde.... poteva creare un paio di classi, altro che mille define!


Premesso che pure a me non piace come è scritto MulitWii, ma per altri motivi, mi spieghi cosa c'entrano le classi col scrivere un programma diviso in più file ?
Guarda che nulla vieta di usare un file per ogni funzione con i relativi file.h, tecnica normalmente usata quando su un programma ci lavora più di una persona.
Lo stesso IDE di Arduino permette di dividere il programma in più file, cosa praticamente obbligatoria da fare quando lo sketch cresce troppo per via delle pesanti limitazioni dell'editor dell'IDE di Arduino, cosa a cui preferisco ovviare utilizzando un vero editor per programmatori esterno.
Per quanto riguarda le #define in buona parte servono per la compilazione condizionale, ovvero permettono di decidere quali parti del programma compilare in funzione dell'hardware utilzzato, pure queste non hanno nulla a che vedere con le classi e sono indispensabili, semmai poteva raggrupparle in un apposito file .h di definizione invece di lasciarle dentro il programma rendendolo ostico da leggere.


io uso una classe per gestire i motori, contenuta nella classe del pid, poi una classe "stabilizzazione" che esegue l'algoritmo che contiene una classe IMU che legge i sensori, ed infine una classe che si occupa di leggere la radio tramite interrupt. ogni sensore/algoritmo di stabilizzazione/settaggio dei motori è (virtualmente, visto che per ora ce né solo una) una classe a parte. Il codice rimane molto più pulito e intercambiabile, e comunque un ciclo di aggiornamento dura meno di 2ms..

Quote

Quando finalmente riuscirò a fare il primo volo(cioè appena sistemo definitivamente il wmp+nunchuck) posterò tutto il codice.


Il mio consiglio è di lasciar perdere il Nunchuk come sensore accelerometrico, troppo bassa la risoluzione per essere realmente utile, con gli stessi soldi acquisti un sensore decisamente migliore e senza tutti i problemi di interfacciamento attraverso il WMP.
Scientia potentia est

superlol

non per fare il pingolo ma le dev sono divise in diversi files ma poi nelle stable sono riuniti in uno per semplificare la vita poi a chi deve fare il quadri che non sempre è un esperto di arduino-elettronica.

comunque allora buttiamo giù qualche equazione per il GPS? io sono un novellino in questo campo, posso fare qualcosina sul codice ma non molto  :(

quindi mi appello a voi mastri di programmazione/elettronica
http://www.aug-altogarda.it/ <- Il nuovo AUG per basso trentino e dintorni!

Go Up