Differenze tra le versioni di "Robot Rover Arduino Giacomino"

Da GolemWiki.
Jump to navigation Jump to search
(aggiunto listato di prova)
m (Giomba ha spostato la pagina Robot Arduino a Robot Rover Arduino Giacomino senza lasciare redirect: Titolo pagina troppo generico, non rispetta le linee guida)
 
(7 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
A seguito dei corsi base di Arduino tenuti sia presso l'ASEV di Empoli che al GOLEM, si è costituito un gruppo "open hardware" con l'intenzione di sviluppare progetti applicativi.
+
{{Sviluppo
 +
<!--Header-->
 +
|nome = Robot Giacomino
 +
|status = Prototipo
 +
<!--Image-->
 +
|foto = Robot-arduino-4.jpg
 +
<!--General-->
 +
|descrizione = Robot rover con Arduino
 +
|licenza = GPL
 +
|autore = [[Utente:Giulio|Giulio]], pinpas, piero, Stefano
 +
|contributi =
 +
|categorie = Svago
 +
|link =
 +
}}
  
Per il primo lavoro c'è stata convergenza d'intenti sulla realizzazione di un robot rover.
+
Nel mese di maggio 2015, un gruppo di aggeggioni appassionati di elettronica e meccanica, hanno iniziato a trovarsi la sera, e per dare concretezza alla loro immaginazione, hanno pensato di costruire un piccolo robot. Tutte le idee sono partite da una scheda Arduino UNO. Alla scheda è stata accoppiata una scheda motor shield, necessaria per controllare agevolmente i due motori che daranno il movimento al robot. Molte energie sono state spese per dare una struttura al robot, che come la storia di Pinocchio, a mano a mano che ha preso forma ha ispirato ai suoi costruttori il proprio nome: "Giacomino". Una volta assemblata la struttura che al contempo fissava i due motori, conteneva le batterie ed offriva appoggio ad Arduino e inoltre permetteva di ospitare, a breve, i sensori e che permetteranno a Giacomino di vedere il mondo, si è passati all'assemblaggio della parte elettronica nella sua versione praticamente definitiva. Fatte alcune verifiche intermedie per accertarsi del funzionamento di quanto già fatto, sono stati montati i sensori. A questo punto un paziente lavoro di affinamento ha permesso di controllare la velocità dei singoli motori e quindi la direzione del cammino di Giacomino. Finalmente Giacomino è in grado di muoversi da solo, basta che abbia le batterie cariche
  
==Lista dei materiali==
+
==La ricetta==
 +
===Ingredienti per la farcia (elettronica)===
 +
* Una scheda [http://www.arduino.cc Arduino UNO]
 +
* Una scheda [https://www.adafruit.com/products/81 motor shield Adafruit]
 +
* Un sensore [http://www.banggood.com/Wholesale-Ultrasonic-Module-HC-SR04-Distance-Measuring-Ranging-Transducer-Sensor-p-40313.html HC SR04]
 +
* Due sensori CNY70
 +
* Due resistenza 10k (da negozi di elettronica locali)
 +
* Due resistenze 330 (da negozi di elettronica locali)
 +
* Due motoriduttori DC 3V - 6V
 +
* Quattro batterie ricaricabili AAA da 1,2V, sostituite poi con una batteria 9V  (da negozi di elettronica locali)
 +
* Fili per connessioni di colori vari
  
===Elettronici===
+
===Ingredienti per l’impasto (meccanica)===
* Scheda "arduino uno";
+
* Due ruote da scegliere tra le opzioni
* Scheda "motor shields adafruit";
+
** Autocostruite da un profilo di legno tondo (usando un tornio)
La scelta di una shield dedicata ottimizza la gestione dei motori e comprime costi e tempi di lavorazione.
+
** Tagliate con il laser da un foglio di compensato di 5mm (con l'aiuto delle macchine di FabLab Cascina)
* Sensore ad ultrasuoni;
+
** Acquistate su siti internet [http://www.robot-italy.com/it/black-abs-wheel-for-sbgm2-and-3-gearmotors.html specializzati]
E' stato preferito questo tipo di sensore ad uno all'infrarosso perché non risente del colore e della eventuale trasparenza degli ostacoli.
+
* Un profilato di alluminio "tubo quadro" 25x25x1mm lunghezza 80mm
 +
* Una lastra in alluminio 85x70x2mm
 +
* Due Barre filettate M3 di 70mm
 +
* 10 dadi M3
 +
* 1 dado cieco M4
 +
* 1 vite TPS M4x5
 +
* Quattro viti TBL M3x15mm
 +
* Due viti TBL M4x5
 +
* Due piastrine supporto dei sensori CNY70 ricavate da un foglio di alluminio
 +
* Due pezzetti di basetta millefori come supporto dei sensori CNY70 e delle resistenze
 +
* Due dischi da applicare alle ruote, stampati a settori, da applicare alle ruote
 +
* Sei viti per modellismo di 1,7mm di diametro
  
===Elettrici===
+
==La preparazione==
* 2 motori con riduzione 48:1;
 
La riduzione assicura maggior coppia e stabilità in caso di pendenza;
 
*<strike> Batteria metal idruro 9V 800 mAh;
 
Questo tipo di batteria permette di ottimizzare il dimensionamento dello chassis trovando alloggio tra i due motori.</strike>
 
* Batterie x4 AAA Eneloop NiMh da 1.2v l'una (per un totale di 4.8v)
 
Le Batterie sono state saldate e collegate fra di loro dentro lo chassis, come le precedenti. Queste però entrano in maniera più ottimale e sono più durature per il nostro progetto.
 
  
===Meccanici===
+
<table>
* Telaio in alluminio;
+
<tr>
Inizialmente era stato pensato un telaio intagliato a laser, che per varie questioni, fra le quali la disponibilità di tempo, non è stato possibile realizzare. Rimane comunque un progetto per una stampa in laser cut.
+
<td>
 +
La preparazione inizia da un'attenta selezione degli ingredienti per l'impasto, ovvero dei componenti meccanici, Per questa ricetta è importante scegliere bene il profilato di alluminio che poi costituirà la struttura portante di Giacomino. Ai lati del profilato ad una estremità saranno fissati i due motori. Qui occorre tanta attenzione nel loro posizionamento e quindi nella foratura del profilato. È ovvio che i due motori si devono trovare a loro agio nella loro posizione, cioè il montaggio non deve produrre attriti o inutili impedimenti alla loro rotazione. Il passo successivo è il montaggio delle ruote e del dado cieco sul lato inferiore del profilato. Le ruote meritano la stessa attenzione per lasciare loro piena libertà di movimento.
 +
</td>
 +
<td>
 +
[[File:Robot-arduino-1.jpg|200px]]
 +
</td>
 +
</tr>
  
Il telaio è quindi diviso fra un tubo quadro che sostiene ai lati i due motori, tramite due barre di ferro e una lastra di metallo avvitata sopra il tutto, opportunamente isolata con della gomma, sopra la quale sono installate le schede di Arduino e la motor shield adafruit.
+
<tr>
* Ruote gommate in legno;
+
<td>
Anche per le ruote, che erano state pensate originariamente intagliate in alluminio, alla fine sono state realizzate in legno con il battistrada intagliato, nel quale è stato poi inserito un anello di gomma (o-ring) per una maggiore aderenza.
+
Sul lato superiore del profilato si fisserà la lastrina di alluminio sulla quale poi si andrà a posizionare la scheda Arduino che a sua volta è stata accoppiata la scheda motor shield. Una volta montata la struttura portante (profilato + piastrina), motori e schede, è necessario collegare elettricamente i motori alle schede. Per dare autonomia al robot si alloggia la batteria all’interno del profilato e la si collega alla scheda.
* Dado cieco per terzo punto di appoggio anteriore;
+
</td>
Purtroppo le alternative erano troppo costose o troppo ingombranti. Rimane comunque l'opportunità di ottimizzare il tutto in futuro.
+
<td>
* Bulloneria varia;
+
[[File:Robot-arduino-3.jpg|200px]]
 +
</td>
 +
</tr>
  
==Progettazione==
+
<tr>
 +
<td>
 +
Il robottino a questo punto ha un suo aspetto già ben definito da meritare un nome. Il nostro è stato chiamato Giacomino. Prima di proseguire con la preparazione della ricetta è bene iniziare a insegnare a Giacomino a muovere i primi passi. Così il robottino può precocemente iniziare ad imparare e a esplorare l’universo. Inoltre si controlla se il montaggio è stato fatto correttamente. È importante capire se Giacomino è in grado di mantenere la giusta direzione di movimento. Per controllare in modo accurato la direzione del cammino di Giacomino occorre un paziente lavoro di montaggio sotto il profilato dei sensori CNY70, delle resistenze e dei dischi sulle ruote per realizzare un encoder. Il software per il controllo dei motori sarà esteso per controllare le informazioni dei sensori e quindi per controllare opportunamente i motori.
 +
</td>
 +
<td>
 +
[[File:Robot-arduino-4.jpg|200px]]
 +
</td>
 +
</tr>
  
===Sviluppo===
+
<tr>
*Saldature
+
<td>
Per le saldature effettuate sui motori DC, è stato necessario rinforzare le basi delle saldature con una punta di colla a caldo per evitare che eventuali strappi potessero danneggiare i circuiti.
+
A questo punto, per insegnare a Giacomino a osservare il mondo si procede al montaggio del sensore a ultrasuoni sulla fronte. Il software a sua volta imparerà a vedere fuori, in avanti, e quindi a dirigere Giacomino per la giusta via. A questo punto non rimane che caricare le batterie a augurare a Giacomino buona passeggiata.
 +
</td>
 +
<td>
 +
[[File:Robot-arduino-5.jpg|200px]]
 +
</td>
 +
</tr>
 +
</table>
  
===Programmazione===
+
== Materiale prodotto ==
*La programmazione è attualmente in corso;
+
* [https://golem.linux.it/cloud/index.php/s/3CTafMGGa2kDpH5 Progetto robot Giacomino]
Il codice di progetto, totalmente open-source, che viene scritto in C++ tramite il programma dedicato di Arduino, (programma scaricabile dal sito [http://arduino.cc Arduino]), verrà pubblicato su questo sito in modo che ognuno sia libero di scaricare, modificare e usare il codice per il proprio progetto.
 
  
Per controllare la Motor Shield è necessario utilizzare la relativa [https://github.com/adafruit/Adafruit-Motor-Shield-library/zipball/master libreria] scritta da Adafruit.
+
[[Category:Officina]]
 
 
====Listato di testing====
 
<pre>
 
#include <AFMotor.h>
 
 
 
// Due motori
 
AF_DCMotor motorsx(1);
 
AF_DCMotor motordx(2);
 
 
 
void setup() {
 
  Serial.begin(9600);          // comunicazione seriale
 
 
 
  // Motori spenti
 
  motorsx.run(RELEASE);
 
  motordx.run(RELEASE);
 
 
 
}
 
 
 
void loop() {
 
 
 
  if (Serial.available() > 0) {
 
    byte velocita;
 
    // legge il comando
 
    char motore = Serial.read();
 
    // legge la velocità e la trasforma in intero
 
    velocita = Serial.parseInt();
 
 
 
    switch (motore) {
 
      // Comando sul motore destro
 
      case 'd':
 
        if (velocita == 0) {
 
          motordx.run(RELEASE);
 
        }
 
        else {
 
          motordx.run(FORWARD);
 
          motordx.setSpeed(velocita);
 
        }
 
        break;
 
      // Comando sul motore sinistro
 
      case 's':
 
        if (velocita == 0) {
 
          motorsx.run(RELEASE);
 
        }
 
        else {
 
          motorsx.run(FORWARD);
 
          motorsx.setSpeed(velocita);
 
        }
 
        break;
 
    }
 
 
 
 
 
  }
 
  delay(10);
 
}
 
 
 
</pre>
 
 
 
==Foto Gallery==
 
<gallery>
 
File:robot-arduino-1.jpg|Motori, tubo quadro e ruote prima del montaggio
 
File:robot-arduino-2.JPG|
 
File:robot-arduino-3.jpg|
 
File:robot-arduino-4.jpg|Meccanica quasi completata
 
File:robot-arduino-5.jpg|
 
</gallery>
 
 
 
Appunti scritti da PinPas, ri-editato da [[User:Giulio|Giulio]] e Massimo Romagnoli.
 
 
 
[[Category: Howto]]
 

Versione attuale delle 12:07, 12 ago 2019

Gears.png
Robot Giacomino

Stato: Prototipo

Robot-arduino-4.jpg
Descrizione Robot rover con Arduino
Licenza GPL
Autore Giulio, pinpas, piero, Stefano
Contributi
Categorie Svago
Link


Nel mese di maggio 2015, un gruppo di aggeggioni appassionati di elettronica e meccanica, hanno iniziato a trovarsi la sera, e per dare concretezza alla loro immaginazione, hanno pensato di costruire un piccolo robot. Tutte le idee sono partite da una scheda Arduino UNO. Alla scheda è stata accoppiata una scheda motor shield, necessaria per controllare agevolmente i due motori che daranno il movimento al robot. Molte energie sono state spese per dare una struttura al robot, che come la storia di Pinocchio, a mano a mano che ha preso forma ha ispirato ai suoi costruttori il proprio nome: "Giacomino". Una volta assemblata la struttura che al contempo fissava i due motori, conteneva le batterie ed offriva appoggio ad Arduino e inoltre permetteva di ospitare, a breve, i sensori e che permetteranno a Giacomino di vedere il mondo, si è passati all'assemblaggio della parte elettronica nella sua versione praticamente definitiva. Fatte alcune verifiche intermedie per accertarsi del funzionamento di quanto già fatto, sono stati montati i sensori. A questo punto un paziente lavoro di affinamento ha permesso di controllare la velocità dei singoli motori e quindi la direzione del cammino di Giacomino. Finalmente Giacomino è in grado di muoversi da solo, basta che abbia le batterie cariche

La ricetta

Ingredienti per la farcia (elettronica)

  • Una scheda Arduino UNO
  • Una scheda motor shield Adafruit
  • Un sensore HC SR04
  • Due sensori CNY70
  • Due resistenza 10k (da negozi di elettronica locali)
  • Due resistenze 330 (da negozi di elettronica locali)
  • Due motoriduttori DC 3V - 6V
  • Quattro batterie ricaricabili AAA da 1,2V, sostituite poi con una batteria 9V (da negozi di elettronica locali)
  • Fili per connessioni di colori vari

Ingredienti per l’impasto (meccanica)

  • Due ruote da scegliere tra le opzioni
    • Autocostruite da un profilo di legno tondo (usando un tornio)
    • Tagliate con il laser da un foglio di compensato di 5mm (con l'aiuto delle macchine di FabLab Cascina)
    • Acquistate su siti internet specializzati
  • Un profilato di alluminio "tubo quadro" 25x25x1mm lunghezza 80mm
  • Una lastra in alluminio 85x70x2mm
  • Due Barre filettate M3 di 70mm
  • 10 dadi M3
  • 1 dado cieco M4
  • 1 vite TPS M4x5
  • Quattro viti TBL M3x15mm
  • Due viti TBL M4x5
  • Due piastrine supporto dei sensori CNY70 ricavate da un foglio di alluminio
  • Due pezzetti di basetta millefori come supporto dei sensori CNY70 e delle resistenze
  • Due dischi da applicare alle ruote, stampati a settori, da applicare alle ruote
  • Sei viti per modellismo di 1,7mm di diametro

La preparazione

La preparazione inizia da un'attenta selezione degli ingredienti per l'impasto, ovvero dei componenti meccanici, Per questa ricetta è importante scegliere bene il profilato di alluminio che poi costituirà la struttura portante di Giacomino. Ai lati del profilato ad una estremità saranno fissati i due motori. Qui occorre tanta attenzione nel loro posizionamento e quindi nella foratura del profilato. È ovvio che i due motori si devono trovare a loro agio nella loro posizione, cioè il montaggio non deve produrre attriti o inutili impedimenti alla loro rotazione. Il passo successivo è il montaggio delle ruote e del dado cieco sul lato inferiore del profilato. Le ruote meritano la stessa attenzione per lasciare loro piena libertà di movimento.

Robot-arduino-1.jpg

Sul lato superiore del profilato si fisserà la lastrina di alluminio sulla quale poi si andrà a posizionare la scheda Arduino che a sua volta è stata accoppiata la scheda motor shield. Una volta montata la struttura portante (profilato + piastrina), motori e schede, è necessario collegare elettricamente i motori alle schede. Per dare autonomia al robot si alloggia la batteria all’interno del profilato e la si collega alla scheda.

Robot-arduino-3.jpg

Il robottino a questo punto ha un suo aspetto già ben definito da meritare un nome. Il nostro è stato chiamato Giacomino. Prima di proseguire con la preparazione della ricetta è bene iniziare a insegnare a Giacomino a muovere i primi passi. Così il robottino può precocemente iniziare ad imparare e a esplorare l’universo. Inoltre si controlla se il montaggio è stato fatto correttamente. È importante capire se Giacomino è in grado di mantenere la giusta direzione di movimento. Per controllare in modo accurato la direzione del cammino di Giacomino occorre un paziente lavoro di montaggio sotto il profilato dei sensori CNY70, delle resistenze e dei dischi sulle ruote per realizzare un encoder. Il software per il controllo dei motori sarà esteso per controllare le informazioni dei sensori e quindi per controllare opportunamente i motori.

Robot-arduino-4.jpg

A questo punto, per insegnare a Giacomino a osservare il mondo si procede al montaggio del sensore a ultrasuoni sulla fronte. Il software a sua volta imparerà a vedere fuori, in avanti, e quindi a dirigere Giacomino per la giusta via. A questo punto non rimane che caricare le batterie a augurare a Giacomino buona passeggiata.

Robot-arduino-5.jpg

Materiale prodotto