Go Down

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

lesto

aspetta, quindi sono i dati in arrivo dalla ricevente ad essere errati?

o parli dei valori di default dei motori?

cmq io intendevo di collegare il segnale che va agli esc al vero arduino, e da lui leggere il PWM che esce ( pulseIn() )

@Testato: 2.7V @5v per l'essattezza, con isteresi di 0.5V.... fuck!
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Testato

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

lesto

"Figure 29-71. ATmega88PA: I/O Pin Input Threshold Voltage vs. VCC" (pag, 364 della rev8161-D) (usano un atmega8, ma pag 412 dice la stessa cosa anche del 328P)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Testato

Che strano, guardando le curve e' come dici tu, ma guardando la tabella delle caratteristiche, al parametro Vih, abbiamo un bel 0.6VCC, cioe' i 3V che ti dicevo  :smiley-eek-blue:
Quale e' la verita' ?
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

lesto

credo le curve. Un sacco di persone usano questi esc (atmega8) piloati a 3v e nonhanno problemi... apparentemente.

ora sto cercando di mettere su un test-bed per campire quanto è vera la mia idea.


edit: appena fatte le misure: valori letti da adc sono ~3.03V, se genero un PWM 50Hz con di 1000us di segnale alto, arduino legge 996, 1000 e 1004, il che vuol dire al massimo sbaglia di +-4us (poi l'arrotondamento arduino di 4 in 4us fa il resto), ho provato anche mettendo una r da 2.2k in serie (giusto per vedere se compariva qualche effetto secondario malvagio :) ), il cavo è lungo circa 20cm per simulare la linghezza del cavo ai motori, tutto funziona.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Testato

Bel test,
Resta il fatto che un datasheet non può riportare valori contrastanti, su aspetti tanto importanti.
C'è forse una cattiva interpretazione da parte nostra delle due differenze.
Spero in un parere di altri hardwaristi.
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

lesto

mi dici il capitolo/tabella a cui trovi quei dati? mi sa che quel Vih è il valore di isteresi ovvero tra valore alto (2.7V circa) e valore basso (2V circa), il che torna
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Testato

Pagina 313 - DC Characteristics
Parametro Vih - Condition 5V - Min 0.6Vcc
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

cavde

ci sono grosse differenze tra Multiwii 2.1 e la versione 2.3 ???
ho provato a caricare la 2.3 e il quad era ingestibile, non riuscivo nemmeno a staccarlo da terra che si ribaltava...ho rimesso la 2.1 e vola che è una meraviglia.
Probabilmente era solo questione di modificare qualche parametro nella 2.3 e sarebbe andato tutto bene, ma se non ci sono grosse differenze tengo la 2.1
Se gommo tiene,io vince gara! Se gommo non tiene,io come bomba dentro montagna

alex27riva

che IMU mi consigliate per arduino uno con multiwii per controllare un quadricottero?
Arduino UNO starter kit.

Salax

che IMU mi consigliate per arduino uno con multiwii per controllare un quadricottero?
Ti consiglio la IMU 10 DOF (gradi di libertà) è un sensore IMU a costo compatto.

E' integrato l'accelerometro ADXL345, il magnetometro HMC5883L, l'ITG-3205 giroscopio e il sensore di pressione barometrica BMP085.
la trovi qui http://www.robot-domestici.it/joomla/component/virtuemart/robotica-domotica/sensori/sensori-di-posizione/10-dof-imu-sensor
In alternativa https://learn.adafruit.com/adafruit-10-dof-imu-breakout-lsm303-l3gd20-bmp180. prodotti a mio avviso validi quelli di Adafruit, altrimenti una classica GY80.

astrobeed

Ti consiglio la IMU 10 DOF (gradi di libertà) è un sensore IMU a costo compatto.
E' obsoleta come è obsoleto, oltre che limitativo, usare un Arduino abbinato ad una imu esterna, ormai ci sono diverse board AIO che integrano Atmega2560 e IMU, per giunta basata su MPU6050, compatibili con tutti i principali software per drone.
Usare il GOTO in C è ammettere la propria sconfitta come programmatore

DeltaEP

Buonasera a tutti ragazzi! Sto realizzando un quadricottero con controllore di volo composto da un Arduino UNO r3 e FreeIMU v0.43 (si lo so è obsoleta,potevo con 20 o meno euro comprare un qualcosa di già pronto ecc...,ma personalmente credo che sfruttare appieno le potenzialità di arduino sia piu interessante!). Per il montaggio ho seguito lo schema presente sul sito ufficiale multiwii,schema che fa riferimento alla mini (che se non erro è solo una versione ristretta della UNO il che non comporta significative differenze). Monto il tutto e...sorpresa!
 Non riesco ad "armare" i motori,ci riesco solo se tramite gui attivo l'arming tramite switch ma, una volta armati, i motori non rispondono a dovere.In base alla combinazione di input ottengo risposte "strane": ad esempio con il full throttle girano 3 motori su 4,con il medio ne girano solo 2 sul lato destro,con il minimo girano sempre 2 motori ma sulla diagonale...inoltre,per consolazione, ho rotto l'ESC che da sul 1° motore,esc dal quale alimento Arduino,e ancora non me ne capacito dato che non sono mai riuscito a farlo girare   :smiley-roll-sweat: .Se può tornare utile ho effettuato la calibrazone degli ESC prima singolarmente e poi tramite SW (credevo dipendesse da quello). Siccome è una scheda di controllo già testata,mi chiedevo se qualcuno di voi piu capace di me abbia riscontrato lo stesso problema o ne sappia qualcosa!
"Un ottimista vede il bicchiere mezzo pieno,un pessimista mezzo vuoto, un ingegnere vede il bicchiere grande il doppio del necessario."

jimmy00

salve a tutti , vorrei avere delle informazione se possibile, ho in progetto di assemblare un quadricottero con arduino uno e multiwii , come accellerometro ho il GY 521 che ho collegato ai pin a4 e a5 e fin qui tutto bene .
ho acquistato il magnetometro/ bussola hmc5883l , posso collegarlo ai pin di arduino A2 e A3 ?

astrobeed

Arriva il caldo e arrivano anche i nuovi progetti, o meglio uno vecchio per troppo tempo rimasto nel cassetto allo stato di preprepreprototipo, dopo aver deciso di accantonare un altro progetto personale molto impegnativo sia come realizzazione che come costi ho deciso di rimettere mano al progetto del robot volante su base quadrirotore.
Allo scopo ho acquistato un telaio F450 di DJI, un set dei nuovi motori E310 di DJI, una CC3D come fligth controller di base.
Ho scelto i motori E310 perché oltre ad offrire una spinta maggiore rispetto ai predenti E300, 800 gr vs 600 gr, richiedono meno corrente, solo 4.1A con una spinta di 400 gr, inoltre sono dotati di un ESC che usa un controllo tramite tre sinusoidi invece della classica trapezoidale, l'ESC dispone di una data port che permette sia di aggiornarne il firmware che ottenere la telemetria durante il funzionamento, non ultimo la comodità delle eliche autoserranti e l'uso delle nuove eliche 9.5x5.0 di DJI progettate appositamente per questi motori, sia le eliche che i motori arrivano perfettamente bilanciati.
Per quanto riguarda la flight controller la scelta è andata sulla CC3D sia per il basso costo sia perché utilizza un processore STM32 ed è supportata dal software openpilot, è una fligth controller minimale, pensata principalmente per piccoli quadrirotori da divertimento, come sensore ha solo l'MPU6000 (gyro e accelerometro), comunque più che sufficiente per offrire un'ottima stabilità, possiede una porta I2C, alla quale è possibile collegare altri sensori, e una UART per collegare un GPS.
Dato che il mio scopo è realizzare un robot volante mi va benissimo la CC3D come flight controller, anche perché il relativo software è open source e ci posso mettere le mani, il suo scopo è solo tenere il multi stabile ed eseguire i comandi di volo che arrivano dall'elettronica principale.
L'elettronica principale è costituita da una Teensy 3.1 per il low level e una Arietta G25 per l'High Level.
Il compito della Teensy è gestire il GPS, con relativo magnetometro, un MPU9150, un sensore barometrico di precisione (devo ancora decidere quale) e un Lidar Lite, montato sotto che guarda verso il terreno, come sensore di quota rispetto al suolo, gestire la telemetria e generare i comandi di volo per la CC3D in funzione delle direttive di volo impartite da terra.
Il compito di Arietta G25 è gestire gli algoritmi di navigazione autonoma e varie funzioni ausiliarie non time critical, inoltre permette la comunicazione tramite WiFi, però la telemetria principale è gestita con sistema radio basato su moduli Xbee Pro (portata utile oltre 600 metri).
Mano a mano che ci saranno progressi nel lavoro li posterà qui, per il momento ho solo montato il telaio con i motori, Lunedì mi arriva la CC3D.
Una precisazione, in ottemperanza alle attuali normative di legge, ma anche per pura e semplice prudenza, il quadri è controllabile tramite un normale radiocomando semplicemente spostando uno switch sullo stesso, inoltre ho chiesto ad Enac una autorizzazione per volo autonomo (esplicitamente vietato dal regolamento) sperimentale a scopo ricerca scientifica, autorizzazione che mi è stata concessa :)
Più tardi qualche foto della meccanica.
Usare il GOTO in C è ammettere la propria sconfitta come programmatore

Go Up