Show Posts
Pages: 1 ... 3 4 [5] 6 7 ... 734
61  International / Hardware / Re: Componenti Quadricottero on: August 03, 2014, 06:23:15 pm
le marche di batterie non le conosco, magari controlla un pò. Invece per l'esc serve per RIprogrammarlo per farci gli aggiornamenti, il bello dell'open-hardware smiley-grin
62  International / Hardware / chip DIP economico con seriale? on: August 03, 2014, 04:59:27 pm
ciao,
domanda facile per molti, mi serve un chip minimale, deve solo inviare dei messaggi fissi via seriale (poche decine di byte e un timeout), vorrei potesse farlo in HW così da avere un pò di spazio in più se volessi rendere la cosa un poco più seria.

requisiti: formato DIP, straeconomico, programmabile con l'arduino, magari usando le librerie arduino. Pensavo agli attiny ma non saprei QUALE delle millemila versioni..
ricordo vagamante una tabella delle feature, se avete il link mi fa piacere

grazie
63  International / Hardware / Re: Componenti Quadricottero on: August 03, 2014, 04:51:33 pm
come esc prendi gli afroesc, sono fatti apposta per i quad, e prendili da almeno da 25A

come batteria in generale vanno tutte bene  SE


ampere ora della batteria * C di scarica della batteria > somma ampere usati da elettronica e motori

per esempio una 4Ah A OCCHIO va bene a 25C, mentre una 2Ah avrà bisgono di una C più alta; io preferisco avere più Ah in sfavore di peso e dimensioni (dovresti fare una piccola stima per vedere se il peso in più non pregiudica il tempo di volo, ma in pratica se non fai delle prove empiriche sul campo non ci sono abbastanza dati affidabili per fare una stima così precisa)
64  International / Software / Re: Strano errore di compilazione on: August 02, 2014, 06:32:26 am
se osservi l'errore, le variabili gyro e sensor sono usate, MA lui dice che sono dublicate in HardwareSerial.. io ho fatto una grep, guisto per stare sicuro per quanto sia assurdo, e infatti non ho trovato nulla.

Maledetto C++ xD
65  International / Software / Strano errore di compilazione on: August 01, 2014, 07:57:55 pm
compilando del codice con la 1.5.6 r2 (non ho testato altre) ottengo il curioso errore:

Code:
FreeIMU/FreeIMU.cpp.o: In function `FreeIMU::update()':
/home/mauro/Arduino/libraries/FreeIMU/FreeIMU.cpp:57: multiple definition of `gyro'
FreeIMU_quaternion.cpp.o:/home/mauro/arduino-1.5.6-r2/hardware/arduino/avr/cores/arduino/HardwareSerial.h:95: first defined here
FreeIMU/FreeIMU.cpp.o: In function `FreeIMU::update()':
/home/mauro/Arduino/libraries/FreeIMU/FreeIMU.cpp:57: multiple definition of `sensors'
FreeIMU_quaternion.cpp.o:/home/mauro/arduino-1.5.6-r2/hardware/arduino/avr/cores/arduino/HardwareSerial.h:95: first defined here

qualche idea? il codice lo trovate quì:
https://github.com/MauroMombelli/freeimu/commit/aa7efab23e171bbceb26198124f1c27a29d1197f

edit: la versione di codice punata su github era errata, link sistemato
66  International / Generale / Re: Consiglio per quadricottero e volo autonomo on: August 01, 2014, 03:53:19 pm
Se l'ESC lavora a 3.3V tre Volt vanno bene, se lavora a 5V sei realmente al limite.

dovrei vedere, prossima volta che penso di usali cerco i pin di alimentazione da DS e li misuro. però sono gli HK SS (ho anche degli afro, lì in teoria basta vedere gli schemi open.. w l'open xD)

Ovviamente è una risposta basata su un accurato test fatto su circa sei ESC in loro possesso, un dato statistico assolutamente certo e affidabile  smiley-mr-green

è proprio questo che mi preoccupa. Ho fatto i test e vanno, ma sai, il calo momentane di tensione per un botto dei motori, o qualsiasi altra cosa..

per quanto rigurada le schede postate, vrbrain ok, costicchia ma è una scatolotta pronta di tutto etc. etc., ma la seconda postata, la pixhawk, cme giustifica il prezzo? a me sembra sullo stesso livello della prima, ma costa il doppio... cosa mi sfugge?
67  International / Generale / Re: Consiglio per quadricottero e volo autonomo on: August 01, 2014, 02:13:27 pm
ma il limite di arduino sta nei bit con cui è codificata la rilevazione dei sensori? nel frequenza del processore? qual è il limite?
allora
1. no, i sensori "migliori" (aka quasi tutti quelli consumer, poi oltre non so) contengono la digitalizzazione del valore al loro interno, in modo da sollevarti da una serie di problematiche HW, oltre che fare una pre-elaborazione con filtri, code di valori e altre cosucce che a noi non interessano.
I sensori che hai elencato sono i classici in accoppiata arduino, e sono a 10-12bit, quelli sulla stm32f3 (che uso) sono a 16bit per esempio, ma non avrebbero problemi a funzionare con arduino.
Però se parliamo di calcoli di traiettoria GPS ecco che i float a 16bit (aruino non ha i double) non basterebbero, e nemmeno i 32bit se ricordo bene; bisogna andare di 64 (astro confermerà, anche come alcuni mostreranno che ad ALCUNE latitudni te la puoi cavare con 16/32bit.. tutto dipende dall'arrotondamento smiley )
2. esatto. Come dicevo arduino non ha problemi ad usare i sensori di cui sopra, ma non è in gradi nemmeno di LEGGERLI abbastanza in fretta, in teoria il bus SPI ci sta dietro, ma non la parte SW arduino. parlo di codice arduino, usando C e registri miglioreresti molto (da esami empirici mi pare di aver raggiunto 2000letture/s al massimo)
3. un altro grosso limite è lo SPAZIO per il codice, se osservi i codici ancora arduino based hanno il grosso problema dello spazio (ram, ma sopratutto flash), tanto che anche astro ti ha consigliato la MEGA che non ha più potenza di calcolo, ma ram e flash
68  International / Generale / Re: Consiglio per quadricottero e volo autonomo on: August 01, 2014, 11:17:17 am
appunto, 3.3V, ma la ST è 3V... per esempio dietro ai miei esc chè un atmega44, se vale lo stesso valore di 1 logico dell'atmega328p, allora sono al limite estremo.

Quando ho chiesto chiarificazione hai ragazzi le uniche risposte che ho avuto sono state "a me funziona", un risposta molto tecnica e ispiratrice di fiducia xD
69  International / Generale / Re: Consiglio per quadricottero e volo autonomo on: August 01, 2014, 10:58:50 am
non vedo i video, ma n generale arduino oltre alla stabilizzazione angolare non va. Tutto ciò oltre necessita di una board più potente.

Astro, di openpilot (e "clone" taulab) cosa ne pensi? per ora sto usando taulab visto che supporta nativamente la stm32f3 (anche se IMHO la loro idea di usare gli ESC direttamente con i segnali PWM a 3v NON mi piace, io ho previsto dei transistor per portare a 5v) la cosa bella è che è molto semplice creare un modulo.
70  International / Megatopic / Re: Pinout Diagram on: July 30, 2014, 03:10:53 am
Bentornato Astro. E' un po' che non ti si leggeva.  smiley-mr-green

probabilmente dopo aver visto il decollo del mio quad è corso a preparare il rifugio anti-tutto  smiley-mr-green
71  International / Generale / Re: progetto torsiometro on: July 28, 2014, 07:31:40 am
se serve per "salvare" la batteria io direi che l'idea è ok, poi che tu usi un transistor o un ralè o un mosfet poco cambia (io preferirei integrati, i relè sono meccanici e ciò che non c'è..)
72  International / Software / Re: Comunicazione su stessa seriale con due script diversi (soluzione o alternative) on: July 25, 2014, 04:45:55 am
potresti usare un file "dati.txt" per passare i dati;

php crea un file "lock.txt"; se la creazione è senza errori (il file NON esisteva) allora ha il controllo del file dati, e ci scrive dentro la riga. poi cancella il file "lock.txt", di fatto liberando il file dati per essere usato da altre parti. Se invece la creazione del file di lock va in errore (file dati in uso), allora aspetta qualche istante (1 ms è sufficiente) e poi riprova, per 5/10 volte dopo di che da errore (giusto per evitare che il codice superi il tempo massimo di loading della pagina)

Questo serve per evitare che 2 pagine di PHP scrivano contemporaneamente nel file, incasinandosi a vicenda; potresti voler usare una delle librerie di lock file PHP... MA il file dati va usato ANCHE da phyton, e che io sappia non esiste un sistema di lock "portabile" quindi devi usare questo metodo per fare a manina

ora, anche il phyton fa la stessa cosa col file di "lock.txt", quando ottieni il lock leggi il file dati in memoria e SVUOTI il file dati (o lo rinomini) , rilasci il lock, e poi con calma analizzi tutti i coamdni richiesti e li mandi ad arduino.

Ora, come può phyton rilevare che il file dati è cambiato? Sicuramente c'è qualche libreria che consente di ascoltare la modifica di un file, in linux si può registrare un evento, in windows invece devi controllare la data di ultima modifica ogni tot (polling), cosa inefficiente, ma se polli ogni 500ms il ritardo di controllo è minimo.

(sicuramente le librerie che troverai per il "file lock multisistema" usano sistemi simili, e magari ce ne è una che consente di settare i file dati e di lock; se setti gli stessi sia lato php che phyton hai fatto)

un sistema ancora migliore è se trasformi il phyton in un server, con un socket che accetta connessioni multiple, e poi i PHP aprono una connessione al server phyton (che può essere sulla stessa macchina, o dall'altra parte del mondo!), poi internameto al phytn usi le classiche strutture di sincronizzazione native del linguaggio
73  Community / Bar Sport / Re: [OT ITA] Lo spamm bar on: July 24, 2014, 06:54:04 pm
trovata soluzione, la spammo anche di qua perchè è un bel esercizio di stile: http://forum.arduino.cc/index.php?topic=257039.msg1817335#msg1817335
74  International / Software / Re: [codice completo] blink without delay sotto steroidi on: July 24, 2014, 06:23:06 pm
per chi proprio non ci capisse un acca, consiglio di farsi un pò di basi con http://www.leonardomiliani.com/en/2012/come-gestire-loverflow-di-millis/

per chi dimostra di strizzare un pò le meningi sono aperto ad ogni questione.

da una discussione con un amico:

la magia avviene in 2 punti
1. ad ogni check non calcolo il tempo che MANCA all'esecuzione, ma il tempo che è PASSATO da quando avrei dovuto eseguirla
2. verifico che il tempo passato da quando avrei dovuto eseguirla è <= del tempo passato dall'ultima esecuzione del check
75  International / Software / [codice completo] blink without delay sotto steroidi on: July 24, 2014, 06:21:47 pm
diciamo di avere un task da schedulare ogni x microsecondi. e diciamo che purtroppo il nostri timer non si incrementa di microsecondo in microsecondo, ma magari di 4 in 4 (come la micros() di arduino!).

certo, e poi bisogna anche consderare che magari le variabili di tempo di esecuzione vanno in overflow... quanti if, quante condizioni, quanti... o no? o forse possiamo aggirare gli overflow, e non solo, ma anche eseguire quei task che cadono dall'ultima esecuzione?

ecco la mia soluzione, un piccolo esercizio di stile, apparentemente semplice, ma che nasconde uno sforzo per essere compreso a fondo, specialmente nei casi limite

Code:
#include <stdio.h>
#include <stdint.h>

int main(int argv, char *args[]){
uint8_t tempo_attuale = 0;
uint8_t tempo_ultima_esecuzione = -1;//force overflow, or if first execution is at 0 it get screwed up
uint8_t periodo_in_esame;

/*le seguenti 3 variabili possono essere messe in una strutture a poi "arrayzzate" per avere più eventi indipendenti*/
uint8_t tempo_esecuzione = 0;
uint8_t tempo_passato;
uint8_t periodo = 10;

/* more difficult! il timer è irregolare */
uint8_t ganularita_timer = 3;

for (uint16_t b = 0; b < 200; b++){
tempo_passato = tempo_attuale-tempo_esecuzione;

periodo_in_esame = tempo_attuale-tempo_ultima_esecuzione;

printf("\nt1=%d, t=%d,tempo_passato=%d", tempo_esecuzione, tempo_attuale,tempo_passato);

if (tempo_passato <= periodo_in_esame){
tempo_esecuzione += periodo;
printf(" ESECUZIONE!");
}

tempo_ultima_esecuzione = tempo_attuale;
tempo_attuale+=ganularita_timer;
}

return 0;
}
Pages: 1 ... 3 4 [5] 6 7 ... 734