I robot v5 con codice SANDIT

11
Alessandro Turco 5° F 30/08/2022 Il ROBOT è un dispositivo elettro-meccanico programmato che svolge una funzione utile all’ uomo. I primi robot sono stati utilizzati in ambienti pericolosi, per esempio nella verniciatura delle auto, e in lavori altamente ripetitivi, come l’ esecuzione di saldature in catene di montaggio. Oggigiorno i robot stanno entrando gradualmente nella nostra vita quotidiana, per esempio nell’ aspirapolvere o falcia erba robot, e in futuro probabilmente ci farà interagire direttamente con robot dalle sembianze e comportamenti umani. ALIMENTAZIONE Per far funzionare un robot ci servono una o più, sorgenti di energia. A seconda della funzione che deve svolgere il robot si decide quale tipo di fonte di energia verrà utilizzata. La funzione svolta dal robot detta le scelte per la fonte di energia, che saranno due: La batteria ricaricabile per alimentare i motori del robot per muoversi ed eventuali sensori e il carica-batterie per ricaricare le batterie contenute nel robot, che verrà effettuata con la rete elettrica o se il robot non ha bisogno di muoversi perché deve svolgere compiti statici sarà alimentato solo con la rete elettrica , e non necessità di batterie. Per decidere quali batterie utilizzare si deve fare un conto approssimativo di tutti i consumi elettrici del robot. La tensione di test e’ 6V-5V Funzione Consumo Situazione 2 motori 0,22 A Funzionamento a vuoto 1 scheda arduino 0,048 A Led L e ON Accesi 1 scheda motor_shield 0,02 A Motori Spenti 1 sonar ad ultrasuoni 0,003 A Ultrasuoni spento 1 ricevitore infrarossi 0,001 A Nessun comando 4 sensori a riflessione 0,068 A Led TOTALE CONSUMO 120 A CORRENTE ELETTRICA (AMPERE) Il consumo di corrente totale è un dato importante perché determina il tipo di batterie da utilizzare. 1

Transcript of I robot v5 con codice SANDIT

Page 1: I robot v5 con codice SANDIT

Alessandro Turco 5° F 01/05/2023

Il ROBOT è un dispositivo elettro-meccanico programmato che svolge una funzione utile all’ uomo. I primi robot sono stati utilizzati in ambienti pericolosi, per esempio nella verniciatura delle auto, e in lavori altamente ripetitivi, come l’ esecuzione di saldature in catene di montaggio. Oggigiorno i robot stanno entrando gradualmente nella nostra vita quotidiana, per esempio nell’ aspirapolvere o falcia erba robot, e in futuro probabilmente ci farà interagire direttamente con robot dalle sembianze e comportamenti umani.

ALIMENTAZIONE

Per far funzionare un robot ci servono una o più, sorgenti di energia. A seconda della funzione che deve svolgere il robot si decide quale tipo di fonte di energia verrà utilizzata.

La funzione svolta dal robot detta le scelte per la fonte di energia, che saranno due: La batteria ricaricabile per alimentare i motori del robot per muoversi ed eventuali sensori e il carica-batterie per ricaricare le batterie contenute nel robot, che verrà effettuata con la rete elettrica o se il robot non ha bisogno di muoversi perché deve svolgere compiti statici sarà alimentato solo con la rete elettrica , e non necessità di batterie.

Per decidere quali batterie utilizzare si deve fare un conto approssimativo di tutti i consumi elettrici del robot.

La tensione di test e’ 6V-5V

Funzione Consumo Situazione2 motori 0,22 A Funzionamento a vuoto

1 scheda arduino 0,048 A Led L e ON Accesi1 scheda motor_shield 0,02 A Motori Spenti1 sonar ad ultrasuoni 0,003 A Ultrasuoni spento1 ricevitore infrarossi 0,001 A Nessun comando4 sensori a riflessione 0,068 A LedTOTALE CONSUMO 120 A CORRENTE ELETTRICA (AMPERE)

Il consumo di corrente totale è un dato importante perché determina il tipo di batterie da utilizzare.

La durata della batteria si puo calcolare con la seguente formula: (mAh batteria diviso mA consumati dal robot = ore)

mAh / mA = h

se per alimentare il nostro robot si può usare :

una batteria alcalina da 9V - 500mAh la durata massima di questa batteria usa e getta sarà di 1h e 40m (1,38)

4 batterie alcaline tipo stilo da 1,5V (4 * 1,5V = 6V) - 2600mAh la durata massima di queste batterie usa e getta sarà di 8h e 40m (7,2)

Se non si vuole sostituire le batterie, ogni volta che sono scariche, si devono usare batterie ricaricabili, corredate di un carica batterie adeguato : ad esempio si possono utilizzare 4 batterie ricaricabili Ni-MH da 1,2V ( 4 * 1,2V = 4,8V) – 2300 mAh AA la durata massima di queste batterie ricaricabili sarà di 7h e 40m (6,3)

1

Page 2: I robot v5 con codice SANDIT

Alessandro Turco 5° F 01/05/2023

Esistono anche batterie con prestazioni superiori e sono spesso utilizzate nel modellismo per il loro peso ridotto e per la grande capacita di scarica, queste batterie sono chiamate LiPo , perché’ vengono costruite con polimeri di litio. Io non utilizzo questo tipo di batterie perché hanno l’ inconveniente che, se utilizzate in modo scorretto, possono incendiarsi ed esplodere. Date le loro ottime caratteristiche elettriche di solito costano di più, e a parità di capacita mAh durano di più di quelle segnalate.

Questo robot può essere alimentato da qualunque delle tre schede montate, noi per motivi di comodità usiamo la ROBOT_SHIELD infatti su questa scheda è presente un interruttore on/off per accendere e spegnere il robot.

SCHEDE ELETTRONICHE DI CONTROLLO DEL ROBOT

Scheda ARDUINO: è la scheda che contiene il software per gestire e far funzionare il robot. Deve essere alimentata con una tensione continua, alimentatore o batteria, compresa tra i 6V e i 12V. E’ dotata di un connettore USB che permette la programmazione della scheda e la comunicazione con il computer. Questa scheda presenta ingressi e uscite digitali alcuni con funzione PWM e ingressi analogici che gli permettono di configurarsi e comunicare con il mondo reale esterno tramite sensori e attuatori.

Scheda MOTOR_SHIELD: è la scheda che gestisce i motori elettrici. E’ dotata di che si infilano direttamente sulla scheda Arduino in modo tale che si colleghi direttamente agli ingressi e uscite.

2

Page 3: I robot v5 con codice SANDIT

Alessandro Turco 5° F 01/05/2023

Ha due led bicolori che segnalano la presenza di tensione sui motori e la direzione di marcia. Viene comandata della scheda Arduino. Ha la possibilità di essere alimentata direttamente a batterie. In centro a questa scheda è montato un componente SMD L298P con funzione di ponte ad H per il controllo dei motori. La scheda motor shiled è fornita da jumper per la scelta della alimentazione che può essere esterna (EXT) o interna (INT), nel nostro caso l’ alimentazione è interna infatti la scheda viene alimentata direttamente da arduino. Gli altri jumper sono impostati nel seguente modo DIRB = 8 , PWMB = 9 , DIRA = 2 , PWMA = 3. Questa scheda non presenta librerie da includere nel programma di gestione.

Scheda ROBOT_SHIELD : è la scheda che collega il ricevitore IR ad infrarossi , il sonar ad ultrasuoni, e 8 servo motori alla scheda Arduino. E’ dotata di un interruttore che spegne il robot. La presenza dei 5V viene segnalata tramite il led rosso. Ha la possibilità di essere alimentata direttamente a batterie. (la scheda è stata comprata in kit e saldata personalmente). Questa scheda per procedere col progetto dovrà essere modificata saldando un filo tra il pin D12 di arduino e il pin 4 del sonar ultrasuoni (SRF05). Questa scheda non presenta librerie da includere nel programma di gestione.

3

Page 4: I robot v5 con codice SANDIT

Alessandro Turco 5° F 01/05/2023

I MOTORI

4

Page 5: I robot v5 con codice SANDIT

Alessandro Turco 5° F 01/05/2023

In questo robot vengono usati dei motoriduttori. I quali sono motori in corrente continua a cui viene collegato ad un riduttore di velocità meccanico , detto gear box. Il meccanismo riduce la velocita a seconda di un rapporto tra gli ingranaggi, detto rapporto di riduzione. Più si riduce la velocita, più aumenta la coppia del motore, cioè la forza con cui girano le ruote. La velocita dei motori in continua dipende dalla tensione di alimentazione. La tensione di alimentazione dei motori non deve superare la tensione massima consentita, altrimenti il motore potrebbe surriscaldarsi fino a bruciarsi.

Il modo migliore per ridurre la velocita di un motore in corrente continua è ridurre la tensione media applicata alle armature. Per far ciò si utilizza una tecnica denominata PWM. Con questa tecnica si riduce la velocita mantenendo alta la coppia cioè la forza co cui girano le ruote.

SPECIFICHE TECNICHE :

Alimentazione max.: 6Vdc Rapporto di riduzione.: 120:1 Coppia Torsione:

o a 3V: 1,2 kg cmo a 6V: 1,92 kg cm

Velocita senza carico:o a 3V: 90 rpmo a 6V: 180 rpm

Corrente senza carico:o a 3V: 60mAo a 6V: 71mA

Corrente di stallo:o a 3V: 260mAo a 6V: 470mA

Dimensione motoriduttore:o 55 x 48,3 x 23 (mm)

Peso:o Circa 45 g

Con il mio alimentatore ho misurato un assorbimento di :o a 3V: 0,1Ao a 6V: 0,11Ao Possiamo notare che la corrente a vuoto è più elevata di quella fornita dal costruttore. o Questo perché il motore cerca di ridurre i consumi in base all’ alimentazione per aumentare

la durata delle batterie e la durata del motore stesso evitando il surriscaldamento. Come si muovono i robot Con Le ruote

Quando le ruote di sinistra e di destra girano avanti, il robot va avanti. Quando girano solo le ruote di sinistra, il robot gira a destra. Quando le ruote di sinistra e di destra girano al contrario, il robot procede in

retromarcia. Quando le ruote di sinistra girano avanti e quelle di destra nella direzione opposta,

il robot procede girando in senso orario. Quante Ruote può avere è perché

5

Page 6: I robot v5 con codice SANDIT

Alessandro Turco 5° F 01/05/2023

Robot a due ruote è leggero e molto maneggevole , è la scelta ideale se si vogliono sperimentare operazioni come ad esempio seguire una linea, che richiede un movimento agile. In ogni caso la rotella che mantiene il robot in equilibrio richiede una superfice relativamente regolare.

Robot a quattro ruote rappresenta la scelta giusta quando si vuole farlo avanzare su superfici più irregolari. In questo caso è possibile utilizzarlo per trasportare piccoli oggetti. Questo robot è più pesante e richiede più corrente rispetto al robot a due ruote: quindi la sua batteria dura meno.

RICEVITORE INFRAROSSO

Il ricevitore infrarosso è un circuito integrato che riceve i segnali dei telecomandi TV. Ce ne sono di vari modelli, ma fondamentalmente si differenziano in base alla frequenza di trasmissione / ricezione dei dati (38kHz-56kHz). Se il telecomando non si accoppia al ricevitore potrebbero essere trasmessi dati errati. I ricevitori infrarossi hanno tre pin di cui 2 usati per l’ alimentazione e il terzo per i dati ricevuti. Il ricevitore a infrarossi si alimenta a una tensione di 5V. il pin OUT o S quello che riceve i dati va collegato a un pin analogico di Arduino ( ad esempio il pin A0 ). Per utilizzare questo componente su arduino servono le librerie scaricabili da internet e vanno incluse nel programma. Per utilizzare questo componente su arduino servono le librerie scaricabili da internet e vanno incluse nel programma che dovrà essere caricato sulla scheda arduino.

SONAR ULTRASUONI

Il sonar ad ultrasuoni è uno speciale sensore che misura le distanze utilizzando onde sonore non udibili dall’ uomo.

se riusciamo a misurare il tempo intercorso tra l’ emissione di un suono ed il suo ritorno verso il punto di emissione, possiamo calcolare la distanza moltiplicando per la costante di velocita del suono per il tempo intercorso. Questo rimbalzo del suono di chiama echo. Dato che il suono percorre un’andata e un ritorno, per conoscere la distanza tra due oggetti bisognerà dividere il risultato soprattenuto per due.

Infatti il tempo che impiega un impulso sonoro a rimbalzare su un oggetto e tornare ai sensori è proporzionale alla distanza.

Ricordiamo che un suono si muove in aria con una velocita di circa 340 m/s (la velocità varia con la temperatura dell’ aria), che significa che per percorrere un centimetro un suono impiega 29 microsecondi. Perciò per ricavare la distanza in centimetri, la durata vien divisa per 29, la durata è il tempo necessario all’ impulso per essere emesso e riflesso e quindi la distanza dall’ oggetto è “ microseconds / 29 / 2 “ .

Per concludere si può scrivere che la velocita del suono e’ 340m/s o 29 microsecondi al centimetro.

I sonar ultrasuoni sono di solito costituiti da 4 pin:

1. Alimentazione 5V2. Trig ( vanno collegati a dei pin digitali di arduino – OUTPUT )3. Echo ( vanno collegati a dei pin digitali di arduino - INPUT )4. Alimentazione GND

I modelli di sonar ultrasuoni più usati sono i HC-SR04 (2846-MISDISTO4) e i (7300-SRF04).

6

Page 7: I robot v5 con codice SANDIT

Alessandro Turco 5° F 01/05/2023

In questo progetto verrà montato un sonar ultrasuoni SRF05.

il sonar ultrasuoni srf05 è un evoluzione del srf04 ed è stato progettato per aumentare la flessibilità, questo sensore è perfettamente compatibile con il srf04. la portata di questo sensore è aumentata da 3 metri a 4 metri. srf05 può usare anche solo 3 pin in quanto i pin trig e echo vengono unificati per risparmiare pin sul controller. ha una sensibilità che va da 3 cm a 4 m. la tensione di funzionamento è di 5V.

SENSORI DI RIFLESSIONEA INFRAROSSI

Questi sensori utilizzano la luce riflessa a infrarossi per rilevare la presenza di una linea da seguire (come in questo progetto) , oppure l’ assenza di un riflesso per rilevare un bordo (un precipizio) , o puo’ essere usato per rilevare ostacoli che riflettono la luce.

Il progetto per seguire la linea utilizza tre sensori di riflessione collegati a input analogici , questi sensori presentano tre pin:

1. Alimentazione 5V2. Alimentazione GND3. Segnale

DESCRIZIONE DELLE FASI DI MONTAGGIO e PROGRAMMAZIONE DEL ROBOT

Come prima cosa creo il chassis (la struttura del robot), dopo di che avvito i motori allo chassis e li collego alla scheda di controllo motori, fatto ciò collego la scheda di controllo motori alla scheda arduino, dopo ciò inizio a collegare i sensori o a saldare i vari componenti sulle schede di espansione per sensori, collego le batterie per alimentare il sistema.

Dopo aver ormai completato assemblaggio della parte hardware inizio la stesura della parte software che comprende di andare alla ricerca di librerie dei componenti utilizzati per far riconoscere ad arduino i componenti utilizzati e facilitare la programmazione, fatto ciò inizio la scrittura di un programma di collaudo delle varie parti del robot quando tutto funziona come desiderato, creo il programma finale il quale gestirà in un unico programma tutti i componenti e gli ingressi e le uscite. Creato il programma in C tramite arduino ide il quale permette di scrivere e compilare e caricare sulla scheda arduino il programma in un linguaggio con la sintassi di C ma con comandi proprietari e facilitati.

VARI COLLAUDI:

In data 21/11/2015 ho eseguito i primi collaudi del robot:

1) Tramite scheda arduino e sensore infrarosso e telecomando lg ho trovato i codici di trasmissione dei tasti.

2) Tramite scheda arduino e sensore ultrasuoni ho testato il suo funzionamento fino ai 30 cm tramite un righello e degli oggetti.}

3) Ho assemblato il robot con i due sensori ma ho riscontrato dei problemi che non permettevano il movimento del robot ciò era dovuto alla non presenza di un collegamento per il sensore ad ultrasuoni infatti dal programma pre-definitivo ho tolto la parte di gestione del ultrasuoni e ho

7

Page 8: I robot v5 con codice SANDIT

Alessandro Turco 5° F 01/05/2023

collaudato il robot solo con sensore infrarosso e telecomando lg è ho riscontrato che funzionava abbastanza bene

COLLAUDO SENZA ULTRASONIC (è funzionava alla perfezione) COLLAUDO CON ULTRASONIC ( non faceva nulla perché vedeva perennemente un ostacolo

è stava fermo)

In data 26/11/2015 ho eseguito altri collaudi del robot:

avendo problemi con le letture del sensore ha ultrasuoni ho provato a saldare un filo sulla scheda robot shield tra il pin 12 di arduino e il quarto pin (echo) del ultrasuoni ma non funziona ancora.

Allora ho testato con un altro arduino e un altro programma solo ultrasuoni e esso da delle misure corrette.

Poi per avere la certezza che il problema era dovuto al ultrasuoni ho testato singolarmente: la motor shield, la scheda robot shield solo con infrarosso per il controllo da telecomando tv,.

In data 27/11/2015 ho eseguito altri collaudi del robot:

Ho provato a collegare un altro arduino con la robot shield senza il filo saldato per testare ultrasuoni con la shield e come si voleva dimostrare il monitor seriale di arduino risponde con un loop su 0 (non mostrando i valori delle misure effettuate). Poi ho effettuato la stessa prova con il filo saldato ma senza avere risultati positivi sempre come si voleva dimostrare il monitor seriale di arduino risponde con un loop su 0 (non mostrando i valori delle misure effettuate).

Dopo vari tentativi sono riuscito a far andare ultrasuoni usando solo il pin trig mentre per quanto riguarda il pin echo lo eliminato dal programma

PROGRAMMA TEST SENSORE ULTRASUONI

Sulla base di cio’ ho ricostruito il programma del robot che gestisce l’ ultrasuoni. Ed ora funziona ultrasuoni, ma gira solo intorno a dx e sx (problema motori e ir telecomando).

PROBLEMA MOTORE FUNZIONA SOLO UN MOTORE SU DUE PERCIO GIRA SOLO INTORNO CAMBIANDO DIREZIONE

In data 08/12/2015 e precedenti ho eseguito altri collaudi del robot di vario genere modifiche software test componenti singolarmente. Da ciò ho capito che singolarmente i componenti andavano tutti ma quando veniva assemblato il robot la motor shield faceva andare un solo motore e infatti si accendeva un solo led, dopo aver controllato e testato il programma posso concludere dicendo che il problema ad ora e da attribuire ai motori :

1. motor shield danneggiata2. incompatibilità programma col hardware3. programmazione ping sensore ultrasuoni con letture tramite un solo pin al posto di due

In data 01/05/2023 ho fatto dei test basandomi sul file del test dei motori con motor shiled funzionante riscrivendo il codice del robot che gestiva i motori e dopo aver riscritto dei pin e sistemato il collegamento dei motori ho collaudato il robot ed funzionava alla perfezione (CON UN PICOLO PROBLEMA: SE IL ROBOT

8

Page 9: I robot v5 con codice SANDIT

Alessandro Turco 5° F 01/05/2023

VEDE UN OSTACOLO TRAMITE ULTRASUONI SI FERMA E NON VA PIU, NON RICEVE PIU NULLA ). Dopo aver aggiunto una riga sul programma quando incontra un ostacolo si ferma e se premi sul telecomando uno dei tasti impostati anche se a scatti va nella direzione desiderata fino a quando vede l’ ostacolo quando non lo vede più aumenta la velocita normalmente.

9