Go Down

Topic: [Multicotteri] Elettronica : IMU, MCU, Sensori ed algoritmi di controllo (Read 136886 times) previous topic - next topic

Phanto

Perfetto, per quanto riguarda la questione hardware ormai ho tutte le nozioni necessarie grazie alla vostra gentilezza...  :)

Piccolissima domandina sul mondo delle batterie... So che è consuetudine adoperare le lipo; che sono state una bella evoluzione del mondo degli accumulatori... peccato che costino un sacco di soldi, e che siano molto fragili; e da qui mi sorge la domanda...
A parte il peso (che a parità di corrente sembra oltretutto variare di pochissimo), e l'ingombranza, ci sono altri aspetti non a favore dell'uso di una li-ion cioè batteria al litio? Ne possiedo una di un vecchio PC; 11,1V di tensione (quindi uguale ad una lipo 3S), e 5400mAh.
Potrebbe tale elemento soddisfare le richieste imposte dal quadricottero?

Vi ringrazio ancora

astrobeed

Oggi, grazie alla giornata primaverile, ho provato il porting di Open Pilot per la STM32F Discovery sul quadricottero, avevo già preparato una carrier su millefori simile a questa che va perfettamente sul frame di Mikrokopter, il telaio del mio quadri è realizzato con i loro pezzi.
Se non volete "impazzire" a compilare tutto, ci sono le istruzioni per settare l'ambiente di lavoro sia con Linux (da preferire in questo caso) che per Windows e Mac OS, potete scaricare gli eseguibili, sia per il micro che per la stazione a terra (solo windows), qui.
Per caricare il firmware sulla STM32F3 è indispensabile caricare prima il bootloader tramite l'STLINK V2 integrato sulla scheda, poi il firmware vero e proprio tramite il software della stazione a terra dall'apposita pagina, nel wiki trovate tutti i reference sia per il pin out della scheda che per la procedura di caricamento del software.
Avevo già fatto un presetup a terra e sebbene non perfetto il quadri si è comportato molto bene, ho provato il return to home con il gps e funziona benissimo, molto bello, e molto ben fatto, il software della stazione a terra, la schermata principale è totalmente configurabile ed è possibile vedere la mappa del terreno di volo, in tempo reale in base ai dati GPS, tramite download diretto da internet (serve una connessione sul campo) oppure da dati precedentemente scaricati.
Per farla breve, se volete un ottimo software pronto all'uso per un quadri con una marcia in  più basato sulla STM32F3 questo porting è quello che fa per voi, ovviamente è totalmente open source e può essere un ottimo "template" di partenza per sviluppare software personalizzato.

lesto

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

astrobeed


L'avevo già visto, però usano un rtos se non erro


Si usano un semplice RTOS realizzato da loro, la gestione dei vari task in precisi momenti è indispensabile su questo genere di applicazioni.
Unico neo, per il momento, di questa versione per la Discovery F3 è che non viene usato il magnetometro pertanto l'orientamento del jaw è gestito solo tramite gyro e accelerometro, il che può portare a problemi di deriva se il volo si prolunga molto.
Una cosa bella è che i test al banco si possono fare tramite porta USB con connessione dati HID, non servono driver, sarebbe prevista anche una connessione USB VCP (Virtual Com Port) però in questa release non è ancora implementata, francamente non ne sento la mancanza visto che la connessione HID è decisamente migliore.
C'è pure una GUI per tablet Android, connessione tramite bluetooth, devo ancora provarla però ho già visto che è limitata rispetto alla GUI per pc che permette di fare di tutto di più.



lesto

è bella l'idea della HIS, ma come viene vista? joystic ad X assi, dove X sono i valori da spedire?
Anche io preferirei usare la USB direttamente senza passare per la VCP perchè dai miei test è quella che mi rallenta tutto falsando letture e dati quando la disattiverò
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

astrobeed


è bella l'idea della HIS, ma come viene vista? joystic ad X assi, dove X sono i valori da spedire?


No è un canale dati HID, usa due endpoint da 64 byte, uno IN e uno OUT, tramite i quali vengono scambiati i dati della telemetria e dei comandi di configurazione, ti allego il report della configurazione ricavato con USBview.

Code: [Select]

         ---===>Device Information<===---
English product name: "CopterControl"

ConnectionStatus:                 
Current Config Value:              0x01  -> Device Bus Speed: Full
Device Address:                    0x01
Open Pipes:                           2

          ===>Endpoint Descriptor<===
bLength:                           0x07
bDescriptorType:                   0x05
bEndpointAddress:                  0x81  -> Direction: IN - EndpointID: 1
bmAttributes:                      0x03  -> Interrupt Transfer Type
wMaxPacketSize:                  0x0040 = 0x40 bytes
bInterval:                         0x04

          ===>Endpoint Descriptor<===
bLength:                           0x07
bDescriptorType:                   0x05
bEndpointAddress:                  0x01  -> Direction: OUT - EndpointID: 1
bmAttributes:                      0x03  -> Interrupt Transfer Type
wMaxPacketSize:                  0x0040 = 0x40 bytes
bInterval:                         0x04

          ===>Device Descriptor<===
bLength:                           0x12
bDescriptorType:                   0x01
bcdUSB:                          0x0200
bDeviceClass:                      0x00  -> This is an Interface Class Defined Device
bDeviceSubClass:                   0x00
bDeviceProtocol:                   0x00
bMaxPacketSize0:                   0x40 = (64) Bytes
idVendor:                        0x20A0idProduct:                       0x415B
bcdDevice:                       0x0402
iManufacturer:                     0x01
     English (United States)  "openpilot.org"
iProduct:                          0x02
     English (United States)  "CopterControl"
iSerialNumber:                     0x03
     English (United States)  "1F002C000557364136363720+FW"
bNumConfigurations:                0x01

          ===>Configuration Descriptor<===
bLength:                           0x09
bDescriptorType:                   0x02
wTotalLength:                    0x0029  -> Validated
bNumInterfaces:                    0x01
bConfigurationValue:               0x01
iConfiguration:                    0x00
bmAttributes:                      0xC0  -> Bus Powered
MaxPower:                          0x7D = 250 mA

          ===>Interface Descriptor<===
bLength:                           0x09
bDescriptorType:                   0x04
bInterfaceNumber:                  0x00
bAlternateSetting:                 0x00
bNumEndpoints:                     0x02
bInterfaceClass:                   0x03  -> HID Interface Class
bInterfaceSubClass:                0x00
bInterfaceProtocol:                0x00
CAUTION:  This may be an invalid bInterfaceProtocol
iInterface:                        0x00

          ===>HID Descriptor<===
bLength:                           0x09
bDescriptorType:                   0x21
bcdHID:                          0x0110
bCountryCode:                      0x00
bNumDescriptors:                   0x01
bDescriptorType:                   0x22
wDescriptorLength:               0x0024

          ===>Endpoint Descriptor<===
bLength:                           0x07
bDescriptorType:                   0x05
bEndpointAddress:                  0x81  -> Direction: IN - EndpointID: 1
bmAttributes:                      0x03  -> Interrupt Transfer Type
wMaxPacketSize:                  0x0040 = 0x40 bytes
bInterval:                         0x04

          ===>Endpoint Descriptor<===
bLength:                           0x07
bDescriptorType:                   0x05
bEndpointAddress:                  0x01  -> Direction: OUT - EndpointID: 1
bmAttributes:                      0x03  -> Interrupt Transfer Type
wMaxPacketSize:                  0x0040 = 0x40 bytes
bInterval:                         0x04

lesto

oddio non ci capisco una mazza... un giorno devo studiare l'usb per bene, per ora devo ancora prendere in mano il datasheet da 1000 pagine, ma non trovo dove farlo stampare ad un prezzo < 50€... mi sa che è la volta buona che mi prendo un ebook reader. Dici che è ok per i datasheet?
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

astrobeed


  Dici che è ok per i datasheet?


Io li leggo direttamente sul pc oppure sul tablet, gli ebook reader hanno lo schermo troppo piccolo e spesso hanno problemi con i pdf.

lesto

io non ho tablet, e volevo leggerlo a letto con calma, tipo libro della buona notte :)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

astrobeed

Quote from: lesto link=topic=73541.msg1191734#msg

volevo leggerlo a letto con calma, tipo libro della buona notte :)


Tenuto conto che è un vero "mattone" ti bastano poche pagine per finire nelle braccia di Morfeo :)

Federico

Ciao Raga :-)
Ho un nuovo gps lea-6h che non vedo l'ora di provare :-)
buon primo maggio!
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

lesto

buona festa dei lavoratori!

ps. io ho ancora il tuo accelerometro..quando ci rivediamo te lo do
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Federico


buona festa dei lavoratori!

ps. io ho ancora il tuo accelerometro..quando ci rivediamo te lo do



Okei, possiamo anche organizzare una cosa qualsiasi :-) Io per assumere alcoolici sono sempre pronto!
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

anerDev

Ragazzi, lo vorrei fare pure io un bel quadricottero, ma ho una confusione allucinante !
Perchè non aggiorniamo il playground ?  :smiley-roll-blue:
Andrea
<a href="http://anerdev.net">anerDev.net</a>

danipisca07

#1334
Oct 20, 2013, 11:25 am Last Edit: Oct 20, 2013, 11:38 am by danipisca07 Reason: 1
hey guys! mi sto apprestando a creare il mio quadricottero in quanto lo vorrei portare all' esame di maturità il prossimo anno :D
Allora sto dando un occhiata in giro per i pezzi perchè devo ancora mettere  da parte i soldi perciò in tanto preparo il carrello della spesa cosi so esattamente quanto devo spendere e appena potrò comprerò il tutto. Ho trovato una IMU 10 DOF dalla cina a 20 euro i sensori sono i seguenti: MWC MS5611 HMC5883L MPU6050 (http://www.ebay.it/itm/10DOF-IMU-MWC-MS5611-HMC5883L-MPU6050-Sensor-module-/370749422756?pt=LH_DefaultDomain_0&hash=item5652633ca4&_uhb=1) volevo chiedere a voi un parere...le imu cinesi come sono messe fanno schifo o sono praticamente uguali a tutte le altre? Fare un quadricottero da volo all'interno con questà è impossibile? Perchè visto che lo voglio portare all'esame deve essere abbastanza stabile...
Grazie in anticipo ragez! ;D

EDIT: mi sono imbattuto ora nella STM32F3DISCOVERY della ST (http://www.rutronik.com/webgate/index.php?m=stock&cmd=buynow&supplier=ST&part=STM32F3DISCOVERY) che costa solo circa 10 euro e a quanto ho capito non è neanche cinese 0.o su internet ne parlano tutti benissimo solo che dovrei usare delle librerie fornite da ST e quindi non per esempio multiwii, contando che è il mio primo quadricottero e che le mie conoscenze nel campo sono ridotte posso farcela?
Grazie ancora :P

Go Up