nuovo progetto elicottero

ciao ragazzi in vista del mio prossimo trasferimento a roma per motivi di lavoro devo purtroppo abbandonare temporaneamente (spero) il progetto centralina cdi e eventuale iniezione, non avrò più modo di installare le mie creature da qualche parte e quindi non ha senso proseguire oltre per ora

ho quindi deciso di spostarmi sui robottini o droni (cosa che ho sempre voluto fare ma non avevo la minima capacità fino a qualche mese fa)

avevo gia fatto qualche esperienza di robottino usando il mio vecchio cybot e arduino per controllarlo ma le ruote mi annoiano a me piace il volo :grin:

dopo averci pensato un po' stamattina mi è venuta la frenesia e mi sono comprato un elicottero rc (a onor del vero l'ho comprato di impulso senza cercare più di tanto sono molto frettoloso...) iSpy pro-300 ha anche una telecamera a bordo che salva su sd, l'ho pagato 70 euro spedito quindi penso di aver anche comprato bene, martedì dovrei averlo tra le mani ]:D

io vorrei modificarlo fino ad ottenere una specie di mini incursore da guerra ahahah (posso darci la caccia ai piccioni :P )

ora espongo le mie idee così magari qualcuno può mandarmi a quel paese e dirmi di coltivare patate :)

per prima cosa vorrei inizialmente mantenere il telecomando e l'elettronica originale per il volo radiocomandato, in quanto non sono in grado di replicarlo con un arduino per ora vorrei però che a volte arduino potesse prendere il controllo della situazione quindi

step1 arduino onboard con sensori a ultrasuoni, se io comando all'elicottero di andare contro a un oggetto arduino se ne rende conto tramite il sonar e si inserisce sul controllo motori impedendo l'urto, vorrei anche mettere un sensore sotto all'elicottero in modo che se io non sono in modalità atterraggio impedisce che l'elicottero scenda a meno di esempio 30cm dal suolo

step2 atterraggio automatico, sfruttando il sonar inferiore mi piacerebbe che arduino fosse in grado di far posare in sicurezza l'elicottero a terra autonomamente

step3 se si riesce inviare la ripresa video in streaming su uno schermo (ho anche una raspy per questo), devo vedere quella telecamera che roba è, al massimo la cambio

step4 una mini cerbottana ad aria compressa come "mitragliatore" ahahaha

e poi tanto altro passo per passo

che ne dite?

che con un elicottero da 70 euro spedito, lo lasci così comè, visto che è un semplice giocattolo coassiale.

per quello che vuoi fare, devi farti o comprare un quadricottero, una scheda IMU completa etc, e vai sui 300/400 eurobidoni risparmiando...

te lo dice un modellista di lungo corso.

edit: a cui devi aggiugere almeno un 200 eurobidoni per una trasmittente "seria"

hreplo: per quello che vuoi fare, devi farti o comprare un quadricottero, una scheda IMU completa etc, e vai sui 300/400 eurobidoni risparmiando...

Concordo al 100%, e per fare un quadricottero decente non bastano 500 Euro tra telaio, motori, esc, batterie, elettronica di bordo e radio.

La mia esperienza: elicotterino 70euro con telecamera, penso sia il tuo. Ci ho attaccato due monetine ai pattini, risultato? Perennemente a terra.

hreplo: che con un elicottero da 70 euro spedito, lo lasci così comè, visto che è un semplice giocattolo coassiale.

per quello che vuoi fare, devi farti o comprare un quadricottero, una scheda IMU completa etc, e vai sui 300/400 eurobidoni risparmiando...

te lo dice un modellista di lungo corso.

edit: a cui devi aggiugere almeno un 200 eurobidoni per una trasmittente "seria"

capisco capisco so che è un giocattolino ma infatti l'ho preso proprio perchè costa poco ed è gia funzionante per iniziare a entrare nel mondo i quadricotteri onestamente non mi piacciono poi tanto :sweat_smile: tuttavia male che vada inizio a giocare con l'elicotterino che onestamente... mi piace un sacco e ne ho sempre desiderato uno ahahah

poi in futuro vorrà dire che passerò a quello che serve.... grazie!!

edit sticazzi mi state dicendo che ho gettato 70 euro ahahahaha

lucaleo: tuttavia male che vada inizio a giocare con l'elicotterino che onestamente... mi piace un sacco e ne ho sempre desiderato uno ahahah

Allora spendere potevi spendere di meno, prodotti (monnezza) equivalenti a quello che hai preso li trovi dagli ambulanti di cineserie a meno di 40 Euro :D

astrobeed:

lucaleo: tuttavia male che vada inizio a giocare con l'elicotterino che onestamente... mi piace un sacco e ne ho sempre desiderato uno ahahah

Allora spendere potevi spendere di meno, prodotti (monnezza) equivalenti a quello che hai preso li trovi dagli ambulanti di cineserie a meno di 40 Euro :D

eeeeeeeeee ma questo ha la telecamera ahaha

devi sapere che io soffro di insonnia e stamattina mi sono svegliato alle 5.30 e ho iniziato a guardare gli elicotterini col cellulare nel letto alle 7.30 mi sono alzato alle 8.30 ero al bagno e me lo sono comprato ahahaha

sono un impulsivo :P

allora dite che me lo posso proprio sognare di taroccarlo in qualche modo eh =( =(

Se togli peso sicuramente riesci a taroccarlo...

lucaleo: sono un impulsivo :P

Si :)

allora dite che me lo posso proprio sognare di taroccarlo in qualche modo eh =( =(

Si :)

astro sei stato molto cattivo ma ti ringrazio ahahaha però devo dire che non ho ancora perso la speranza :PPPPPPPPPPPPPPP

lucaleo: ... step4 una mini cerbottana ad aria compressa come "mitragliatore" ahahaha

e poi tanto altro passo per passo

che ne dite?

http://www.youtube.com/watch?v=SNPJMk2fgJU

:P XD XD XD

quando lo ha distrutto ho tirato qualche brutta parola ahaha potevano spedirlo a me :PPPP

ciao ragazzi
dopo i vostri consigli visto che il venditore non aveva ancora spedito (era domenica) mi sono fatto cambiare il modello con un jax600 che mi è arrivato
ora conosco i limiti del 3.5ch ma in ogni caso inizio a sperimentare
premetto che mi si è rotto il giorno stesso che è arrivato, ho fatto qualche volo poi mi è precipitato (ma non si è rotto nulla meccanicamente) e non ha più dato segni di vita ahahah
cmq ho colto al volo l’occasione per liberarmi di tutta l’elettronica presente sia nell’eli che nella radio, ho collegato un cavo ai potenziometri delle levette scritto un piccolo sketch e gia svolazza!!

posto video e sketch…
sto pensando di aquistare una di quelle schedine con accelerometro e giroscopio e vedere se riesco a ficcarcela sopra :smiley:

lo sketch funziona ma è buttato li…

  int duty=0;
  int forward=0;
  int dutyright=0;
  int dutyleft=0;
  
  void setup()  { 
    Serial.begin(9600);
  } 
  
  
  void loop()  {
  
    int readduty = analogRead(A0);
    int mapduty=map(readduty, 1023, 700, 0, 255);
    duty=constrain(mapduty, 0, 255);
  
    Serial.println(duty);
  
    int readforward=analogRead(A2);
    int mapforward=map(readforward, 830, 1023, 0, 255);
    forward=constrain(mapforward, 0, 255);
  
  
    int readdirection=analogRead(A1);
    int mapdirection=map(readdirection, 700, 940, 0, 20);
    int dirtdirection=constrain(mapdirection, 0, 20);
  
  
    if(duty>50){
      dutyright=duty;
      dutyleft=duty;
  
      if(dirtdirection<=4){
  
        dutyright=duty-20;
        dutyleft=duty+10;
      }
  
  
      if(dirtdirection>=16){
  
        dutyleft=duty-20;
        dutyright=duty+10;
      }
    }
    else{
      dutyright=duty;
      dutyleft=duty;
    }
  
  
    analogWrite(9, dutyright);    
    analogWrite(10, dutyleft);
    analogWrite(11,forward);
    delay(1);        // delay in between reads for stability
  }

come peso ho visto che riesce ad alzarne un pochino
adesso è legato e non equilibrato poverino :smiley:
infatti vorrei mettere giroscopio, atmega standalone e modulo 433mhz che ho gia…e anche il sonar :slight_smile:

edit
codice un po’ più dritto :smiley:

lucaleo: eeeeeeeeee ma questo ha la telecamera ahaha

devi sapere che io soffro di insonnia e stamattina mi sono svegliato alle 5.30 e ho iniziato a guardare gli elicotterini col cellulare nel letto alle 7.30 mi sono alzato alle 8.30 ero al bagno e me lo sono comprato ahahaha

sono un impulsivo :P

allora dite che me lo posso proprio sognare di taroccarlo in qualche modo eh =( =(

+1 Hahahahhahaa anche io sono un impulsivo come te, e sto cercando di resistere alla tentazione di acquistare un quadricottero semi pronto a 70€

Hai legato la povera bestiola... :roll_eyes:

Prima di postare del codice, dall'IDE, usa la funzione di formattazione automatica del menu' strumanti. thk! :grin: :grin:

si fa tenerezza così incatenato ahaha
hai ragione paolo sono mesi che me lo dici di formattare gli sketch :cold_sweat:
ora lo sistemo un po’ :slight_smile:

in ogni caso sto iniziando a disegnare una schedina da mettere a bordo per controllare l’elicottero…non posso fare accrocchi di shield e roba varia perchè pesano…

questa volta però voglio fare una cosa fatta bene provando prima tutto e trovando le soluzioni ideali non come mio solito :smiley:

allego un’immagine dello schema che ho fatto e il file sch di eagle

ed ecco le prime domande

per prima cosa, ho letto in un post una risposta mi pare di etemenanki, che suggeriva di usare mosfet per tensioni molto più alte del necessario perchè hanno rdson più bassa e quindi sprecano meno corrente (cosa importante visto che sono a batteria)
nello schema ho messo i buz11 30a 50v che sto usando ora, suggerimenti in merito?metto degli irf840 per esempio??
in ogni caso ora controllerò le varie rdson…

seconda cosa, ho letto che i pwm 5 e 6 sono imfluenzati da delay e millis in quanto usano lo stesso timer, secondo voi posso usarli per pilotare il motore di coda oppure è meglio che usa il 3 e 11??

nello schema ho usato un l293 (che non ho mai usato per davvero), mi sono studiato il datasheet e ho un dubbio, dove mostra come collegare un motore per invertire la rotazione dice che l293d (che è quello che pensavo di usare) ha i diodi di output interni, io nel dubbio li ho messi, avete chiarimenti in merito? parla dei diodi che vanno sul motore?
mi resta anche da determinare quanto consuma quel motorino, ma è proprio piccolo…

ho usato un tc4428, mosdriver da 1.5a per mosfet dei motori principali, in realtà quello schema sarebbe per tc4427 che ha due canali non invertenti (ma in libreria non c’era)
ora, io non ho il 4427 ma ho ben 5 tc4428, il 4428 ha il canale a invertente e il b non invertente, se mettessi r3 come pullup e invertissi il duty sul pwm corrispondente nello sketch andrebbe lo stesso
avete consigli in merito? ci sono vantaggi o svantaggi nelle varie soluzioni o è indifferenbte? perchè se è indifferente uso i 4428 visto che li ho gia :slight_smile:

grazie a chi come al solito si legge le mie elucubrazioni :smiley:

elicottero motori e atmega.sch (655 KB)

mi sono fatto la mia radio
ho messo dentro al radiocomando originale un arduino standalone che avevo fatto collegato ai potenziometri e al modulo rf

poi con uno sketch di esempio di virtualwire ho mandato all’elicottero i valor dei potenziometri
funziona molto bene!!

radio invia le letture ogni 10 millis circa

  /*
  SendBinary
   Sends digital and analog pin values as binary data using VirtualWire library
   See SendBinary in Chapter 4
   */
  #include <VirtualWire.h>
  const int numberOfAnalogPins = 3; // how many analog pins to read
  int data[numberOfAnalogPins]; // the data buffer
  const int dataBytes = numberOfAnalogPins * sizeof(int); // the number of bytes in the data buffer
  void setup()
  {
    // Initialize the IO and ISR
    vw_setup(2000); // Bits per sec
  }
  void loop()
  {
    int values = 0;
    for(int i=0; i <= numberOfAnalogPins; i++)
    {
      // read the analog ports
      data[i] = analogRead(i); // store the values into the data buffer
    }
    send((byte*)data, dataBytes);
    delay(10); //send every second
  }
  void send (byte *data, int nbrOfBytes)
  {
    vw_send(data, nbrOfBytes);
    vw_wait_tx(); // Wait until the whole message is gone
  }

arduino onboard

  #include <VirtualWire.h>

  #include <VirtualWire.h>
  const int numberOfAnalogPins = 3; // how many analog integer values to receive
  int data[numberOfAnalogPins]; // the data buffer
  // the number of bytes in the data buffer
  const int dataBytes = numberOfAnalogPins * sizeof(int); 
  byte msgLength = dataBytes;
  int duty=0;
  int forward=0;
  int dutyright=0;
  int dutyleft=0;
  
  void setup()  { 
    Serial.begin(9600);
  
  
    
    // Initialize the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000); // Bits per sec
    vw_rx_start(); // Start the receiver
  } 
  
  
  void loop()  {
  
    if (vw_get_message((byte*)data, &msgLength)) // Non-blocking
    {
    }
  
    
  
    int readduty = data[0];
    int mapduty=map(readduty, 1023, 700, 0, 255);
    duty=constrain(mapduty, 0, 255);
  
    Serial.println(duty);
  
  
    int readdirection=data[1];
    int mapdirection=map(readdirection, 700, 940, 0, 20);
    int dirtdirection=constrain(mapdirection, 0, 20);
  
  
  
    int readforward=data[2];
    int mapforward=map(readforward, 830, 1023, 0, 255);
    forward=constrain(mapforward, 0, 255);
  
  
    if(duty>50){
      dutyright=duty;
      dutyleft=duty;
  
      if(dirtdirection<=4){
  
        dutyright=duty-20;
        dutyleft=duty+10;
      }
  
  
      if(dirtdirection>=16){
  
        dutyleft=duty-20;
        dutyright=duty+10;
      }
    }
    else{
      dutyright=duty;
      dutyleft=duty;
    }
    int dutyrightc=constrain(dutyright, 0, 255);
    int dutyleftc=constrain(dutyleft, 0, 255);
  
    analogWrite(5, dutyrightc);    
    analogWrite(6, dutyleftc);
    analogWrite(3,forward);
    delay(1);        // delay in between reads for stability
  
   
  }

alla fine ho dovuto fare due constrain perchè se i motori stanno a 250 per esempio quando giro che fa +10 va oltre 255 e praticamente mi spegneva un motore facendo girare l’eli esattamente al contrario…

Girando per il web mentre cercavo altro ho trovato questo sito https://pixhawk.ethz.ch/micro_air_vehicle/quadrotor/start

Non ho idea di chi siano ma come prima impressione sembra roba fatta bene.

Ciao.

ho guardato il sito, interessante c’è anche un po’ di documentazione!

in ogni caso ecco una foto della schedina che ho realizzato per il mio eli, a bordo c’è atmega328, l293 e mosfet controllo motori principali, sta tutto a bordo tranne il modulino radio che verrà attaccato sotto all’eli con dei fili ai 3 pin liberi

più tardi posto schema e nuovo sketch (che ora scrivo)