Qualcuno sperimenta con Arduino? - BaroneRosso.it - Forum Modellismo

Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 05 aprile 12, 00:53   #1 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
qualcosa c'è

ora che mi viene in mente ho già postato qualcosa in merito , mi pare un annetto fa, ho realizzato un servo extends, per cui leggo il segnale dalla RX e poi con un semplice calcolo estendo l'escursione del servo.. funziona benissimo.. se cerchi trovi il codice sorgente..

a dopo
fausto

Citazione:
Originalmente inviato da Tom_1971 Visualizza messaggio
Appena hai messo a punto il codice e l' hardware per la lettura da rx... Saresti così gentile da condividerli (nome chiedo troppo)? ;)
Da parte mia ho fatto molti degli esercizi del manuale e ora sto cercando di pilotare carichi di potenza (led) in pwm. Ancora ho dei problemi con i bjt ma conto di venirne a capo prima o poi !

Inviato dal mio HTC Wildfire S A510e usando Tapatalk
faustog_2 non è collegato   Rispondi citando
Vecchio 05 aprile 12, 01:13   #2 (permalink)  Top
User
 
L'avatar di Tom_1971
 
Data registr.: 23-04-2008
Residenza: Firenze
Messaggi: 1.108
Citazione:
Originalmente inviato da faustog_2 Visualizza messaggio
ora che mi viene in mente ho già postato qualcosa in merito , mi pare un annetto fa, ho realizzato un servo extends, per cui leggo il segnale dalla RX e poi con un semplice calcolo estendo l'escursione del servo.. funziona benissimo.. se cerchi trovi il codice sorgente..

a dopo
fausto
Un altro amante della notte (con moglie e figli a nanna) eh?
Ma io stasera mi sono dedicato all'organizzazione delle ferie, niente elettronica solo un'occhiatina al barone prima di dormire...

Oddio ad essere onesti mi sono preso anche una piccola pausa per cambiare un po' di pezzi al blade msr che è fermo da mesi ormai... lunedì se faccio la tradizionale scampagnata lo metto in macchina, non si sa mai

P.S. Ma il servo extend dove lo dovrei cercare, su tutto il World Wide Web (sai è piuttoto vasto...) oppure ad es. qui sul Barone?
__________________
1) Honey Bee FP 2) Mini Titan (V1 e V2) 3) Paracopter 4) Ultra-Micro J-3 Cub 5) Blade msr 6) Ultra-Micro T-28 Trojan 7) Team Losi Mini T 8) Blade mcpx 9) Turnigy 1/16 Nitro Buggy 10) Basher Nictro Circus 1/10 SCT
Tom_1971 non è collegato   Rispondi citando
Vecchio 05 aprile 12, 10:25   #3 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
estensione

ecco qui
http://www.baronerosso.it/forum/circ...dei-servi.html

a dopo

Citazione:
Originalmente inviato da Tom_1971 Visualizza messaggio
Un altro amante della notte (con moglie e figli a nanna) eh?
Ma io stasera mi sono dedicato all'organizzazione delle ferie, niente elettronica solo un'occhiatina al barone prima di dormire...

Oddio ad essere onesti mi sono preso anche una piccola pausa per cambiare un po' di pezzi al blade msr che è fermo da mesi ormai... lunedì se faccio la tradizionale scampagnata lo metto in macchina, non si sa mai

P.S. Ma il servo extend dove lo dovrei cercare, su tutto il World Wide Web (sai è piuttoto vasto...) oppure ad es. qui sul Barone?
faustog_2 non è collegato   Rispondi citando
Vecchio 06 aprile 12, 01:13   #4 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
semplice ed immediato

dopo una lettura degli esempi di base, devo dire motlo chiari, ho testato qulli reliativi ai servi e alla seriale ... ho cominciato a scrivere per conto mio, giusto per esplorare due righe di codice.. pilotano un semplice robot, che muove i due motori con due ESC brushed, mentre un sensore infrarosso controlla l'ambiente.. il robot parte in avanti se il sensore rileva un ostacolo allora il robot indietreggia per circa 1,5 secondi, eseguendo una leggera virata.. e poi ricomincia la marcia in avanti...

il sensore viene fatto oscillare da un Pic 16F84 a parte.. in modo da ampliare il raggio di lettura del sensore

in 20 minuti scrivo e testo.. adesso voglio capire come aggiungere le librerie, per esempio quelle relative ad Ardupilot..

La semplicità di Arduino lo rende simile ai robot della Lego!

#include <Servo.h>

Servo ESC_1; // create servo object to control a servo
Servo ESC_2; // create servo object to control a servo

boolean sensorValue;
int count;

//__________________________________________________ ____
void setup()
{
pinMode(2, INPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
ESC_1.attach(9);
ESC_2.attach(10);
}
//__________________________________________________ ____
void loop()
{
sensorValue = digitalRead(2);
if(!sensorValue) // sensorValue == 0
{
back();
}
else // sensorValue == 1
{
front();
}
}
//__________________________________________________ ____
void front()
{
digitalWrite(3, 1); // setta valore 1 al pin 3 motore avanti
digitalWrite(4, 1); // setta valore 1 al pin 4 motore avanti

ESC_1.write(50);
delay(1);
ESC_2.write(50);
delay(15);
}
//__________________________________________________ ____
void back()
{
count = 8;
while(count >0 )
{
count = count - 1;
digitalWrite(3, 0); // setta valore 0 al pin 3 motore indietro
digitalWrite(4, 0); // setta valore 0 al pin 4 motore indietro

ESC_1.write(20);
delay(1);
ESC_2.write(60);
delay(15);
}
}


Citazione:
Originalmente inviato da faustog_2 Visualizza messaggio
faustog_2 non è collegato   Rispondi citando
Vecchio 06 aprile 12, 10:06   #5 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
realizzazione UAV con arduino

forse meriterebbe un post a parte, per il momento scrivo qui perchè ci sono cose che devo mettere a punto, non so se funzionano. Voglio iniziare a costruirmi un sistema per pilotare un aliante in modo semi autonomo, senza spendere troppi soldi senza osare le soluzioni piu avanzate, tanto c'è tempo, ancora sono solo agli inizi.

Dunque, per caso capito in questo link

ArduPilot - Arduino Compatible UAV Controller w/ ATMega328 - SparkFun Electronics

trovo tutte le indicazioni per la realizzazione:

Serve un Arduino 2009 basato su Atmega 328
Un FMA Co-Pilot
un GPS
la scheda Ardupilot

A me mi manca la scheda che comunque costa solo 23 Euro da Robot Italy

.: Robot Italy WebSite:. : ArduPilot - Controller UAV con ATMega328 (Arduino) [708785] - 23,09EUR

In realtà il GPS ne ho uno GTPA010 acquistato un po di tempo fa della Eagle Tree che vorrei tentare di usare, se ci riesco OK, altrimenti vado sul prodotto standard consigliato da Arduino, Qui di seguito c'è illustrato il sistema di lettura GPS apposti con le sue funzioni di libreria.

BasicPositioning \ Learning \ Wiring

Se ci riesco vorrei provare a creare un libreria apposita per GTPA010, in modo tale che chi vuole può sfruttare questo modulo, famoso soprattuto per chi fa volo FPV.

In sostanza dovrei andare a leggere tutte le specifiche della libreria del GPS previsto da Ardupilot, e riscriverle adattando al GPS in causa, in questa maniera farò un lavoro, anche per chi volesse utilizzare GTPA010 che tralaltro riesce a leggere 10 volte piu veloce. Qui c'è il datasheet:

http://www.propox.com/download/docs/GPS_GMM_U1LP.pdf

serve che con l'oscilloscopio assieme al prof. di elettronica ci sediamo per capire la frequenza in uscita dai due cavi appositi del modulo... da questa lettura si dovrebbe capire come prelevare le informazioni, ipotizzo due possibilità : che i bit vengano sparati.. con un frequenza ben precisa -> asincrono, oppure una frequenza non costante, quindi vengono inviati coordinati dal secondo cavo, il sincronizzatore. In ogni caso : sincrono o non sincrono, dal canale dei dati i bit compongono in formato binario i caratteri ASCII.. che man mano compongono le stringhe MNEA

..da dopo le vacanze ci metto le mani sopra adesso vado a godermi la giornata libera.



.: Robot Italy WebSite:. : ArduPilot - Controller UAV con ATMega328 (Arduino) [708785] - 23,09EUR
faustog_2 non è collegato   Rispondi citando
Vecchio 06 aprile 12, 10:43   #6 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
tentativo

un ipotesi semplicistica potrebbe essere che i 4 cavi del GPTA010 possano essere:

VCC (già verificato)
GND (già verificato)
RX TTL ??? da verificare
TX TTl ?? da verificare.


potrei procedere per tentativi.. per esempio alimentando il GPS con il tester verificare la tensione media sui due cavi TX/RX ovviamente mi aspetto nel TX una tensione.. mentre in RX nessuna . Quindi individuato il TX provo ad inserire tale direttamente nell'ingresso del max 232 che poi verso il PC con Hyper terminal..

va be, scusate ancora.. a dopo

Citazione:
Originalmente inviato da faustog_2 Visualizza messaggio
forse meriterebbe un post a parte, per il momento scrivo qui perchè ci sono cose che devo mettere a punto, non so se funzionano. Voglio iniziare a costruirmi un sistema per pilotare un aliante in modo semi autonomo, senza spendere troppi soldi senza osare le soluzioni piu avanzate, tanto c'è tempo, ancora sono solo agli inizi.

Dunque, per caso capito in questo link

ArduPilot - Arduino Compatible UAV Controller w/ ATMega328 - SparkFun Electronics

trovo tutte le indicazioni per la realizzazione:

Serve un Arduino 2009 basato su Atmega 328
Un FMA Co-Pilot
un GPS
la scheda Ardupilot

A me mi manca la scheda che comunque costa solo 23 Euro da Robot Italy

.: Robot Italy WebSite:. : ArduPilot - Controller UAV con ATMega328 (Arduino) [708785] - 23,09EUR

In realtà il GPS ne ho uno GTPA010 acquistato un po di tempo fa della Eagle Tree che vorrei tentare di usare, se ci riesco OK, altrimenti vado sul prodotto standard consigliato da Arduino, Qui di seguito c'è illustrato il sistema di lettura GPS apposti con le sue funzioni di libreria.

BasicPositioning \ Learning \ Wiring

Se ci riesco vorrei provare a creare un libreria apposita per GTPA010, in modo tale che chi vuole può sfruttare questo modulo, famoso soprattuto per chi fa volo FPV.

In sostanza dovrei andare a leggere tutte le specifiche della libreria del GPS previsto da Ardupilot, e riscriverle adattando al GPS in causa, in questa maniera farò un lavoro, anche per chi volesse utilizzare GTPA010 che tralaltro riesce a leggere 10 volte piu veloce. Qui c'è il datasheet:

http://www.propox.com/download/docs/GPS_GMM_U1LP.pdf

serve che con l'oscilloscopio assieme al prof. di elettronica ci sediamo per capire la frequenza in uscita dai due cavi appositi del modulo... da questa lettura si dovrebbe capire come prelevare le informazioni, ipotizzo due possibilità : che i bit vengano sparati.. con un frequenza ben precisa -> asincrono, oppure una frequenza non costante, quindi vengono inviati coordinati dal secondo cavo, il sincronizzatore. In ogni caso : sincrono o non sincrono, dal canale dei dati i bit compongono in formato binario i caratteri ASCII.. che man mano compongono le stringhe MNEA

..da dopo le vacanze ci metto le mani sopra adesso vado a godermi la giornata libera.



.: Robot Italy WebSite:. : ArduPilot - Controller UAV con ATMega328 (Arduino) [708785] - 23,09EUR
faustog_2 non è collegato   Rispondi citando
Vecchio 06 aprile 12, 14:09   #7 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
funziona!

ok ci siamo funziona.. ..le mie ipotesi erano corrette
...per cui mi basta solo acquistare ardupilot, comunque appena torno da questi 4 giorni di viaggio... creo un post apposito.. Arduino-UAV

a presto
faustog_2 non è collegato   Rispondi citando
Vecchio 11 aprile 12, 09:07   #8 (permalink)  Top
User
 
L'avatar di Tom_1971
 
Data registr.: 23-04-2008
Residenza: Firenze
Messaggi: 1.108
Sei un drago, Fausto!

Tienici al corrente, se non altro farai sognare noi miseri vecchi, modellisti e sperimentatori da salotto


P.S. La storia della guida automatica intriga... a me era venuta l'idea di iniziare con una macchinina, più semplice da pilotare (manca la terza dimensione e non risente del vento!) e sicuramente anche più robusta in caso di ... ehm... errori di guida!
__________________
1) Honey Bee FP 2) Mini Titan (V1 e V2) 3) Paracopter 4) Ultra-Micro J-3 Cub 5) Blade msr 6) Ultra-Micro T-28 Trojan 7) Team Losi Mini T 8) Blade mcpx 9) Turnigy 1/16 Nitro Buggy 10) Basher Nictro Circus 1/10 SCT
Tom_1971 non è collegato   Rispondi citando
Vecchio 11 aprile 12, 20:24   #9 (permalink)  Top
User
 
L'avatar di marcosinatti
 
Data registr.: 10-06-2007
Residenza: Sansepolcro (Ar)
Messaggi: 1.948
Qui trovi informazioni e progetti interessanti anche se non sono per arduino Hardware - Paparazzi
marcosinatti non è collegato   Rispondi citando
Vecchio 15 aprile 12, 00:07   #10 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
prova fatta

ciao Tom sei della stessa annata mia!

allora oggi ho potuto fare una prova, funziona! l'ipotesi era corretta, solo che arduino legge i dati dalla ricevente portando con se piccole sbavature.. tenendo fermo lo stick della radio il segnale ogni tanto porta delle piccole variazioni.. che poi trasferite sul servo significano piccoli e fastidiosi movimenti.. ...occorre per tanto un'istruzione di controllo , che effettua l'assegnamento del nuovo valore solo se il valore assoluto della differenza è > 10 ..in modo da avere un margine..

if ( abs( pulseIn(ENG, HIGH) - RX_engine ) > 10)
RX_engine = pulseIn(ENG, HIGH);

Quindi aggiorna il valore di RX_engine solo se il valore assoluto della differenza con il precedente valore supera 10. Con questa istruzione le sbavature vengono corrette.

Questo software è il primo passo.. vale a dire prendo il segnale dalla ricevente... se non cambia rispetto all'ultimo ordine... allora legge dalla lista dei waypoint per andare ad eseguire il movimento del prox punto..



#include <Servo.h>

Servo myservo1,myservo2; // create servo object to control a servo

const int ENG = 2; // pin lettura ricevente segnale motore INGRESSO
const int DIR = 4; // pin lettura segnale servo di direzione INGRESSO
const int IR = 8; // pin lettura segnale infrarosso INGRESSO
const int ENG_OUT = 9; // pin per segnale motore da inviare USCITA
const int DIR_OUT = 10; // pin per segnale direzione servo da inviare USCITA

long engine; // segnale imposto per la potenza motore
long direct; // segnale imposto al servo di direzione

long RX_engine; // segnale proveniente dalla ricevente potenza motore
long RX_direct; // segnale proveniente dalla ricevente servo direzione

int val_1,val_2;


//__________________________________________________ ________________
void setup()
{
// initialize serial communication:
Serial.begin(38400);
myservo.attach(ENG_OUT);

pinMode(ENG, INPUT);
pinMode(DIR, INPUT);
pinMode(IR, INPUT);
}
//__________________________________________________ ________________
void loop()
{

RX_engine = pulseIn(ENG, HIGH);
RX_direct = pulseIn(DIR, HIGH);

val_1 = map(RX_engine, 1050, 1850, 0, 180);
val_2 = map(RX_direct, 1050, 1850, 0, 180);


myservo.write(val_1);
}



Citazione:
Originalmente inviato da Tom_1971 Visualizza messaggio
Sei un drago, Fausto!

Tienici al corrente, se non altro farai sognare noi miseri vecchi, modellisti e sperimentatori da salotto


P.S. La storia della guida automatica intriga... a me era venuta l'idea di iniziare con una macchinina, più semplice da pilotare (manca la terza dimensione e non risente del vento!) e sicuramente anche più robusta in caso di ... ehm... errori di guida!

Ultima modifica di faustog_2 : 15 aprile 12 alle ore 00:13
faustog_2 non è collegato   Rispondi citando
Rispondi

Bookmarks



Strumenti discussione
Visualizzazione

Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
Coassiale mixed controller con arduino catman Circuiti Elettronici 12 01 aprile 11 23:17
quadricottero con arduino 2009 sailormann26 Aeromodellismo Progettazione e Costruzione 0 27 dicembre 10 23:12



Tutti gli orari sono GMT +2. Adesso sono le 19:21.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002