Basi per robotica e opinioni in merito

Salve ragazzi, ultimamente mi sto avvicinando al mondo della robotica, anche se sono frenato da diversi dubbi che ho in merito. Non sono un esperto, ma piano piano imparo e non ho paura, il mondo dell'elettronica mi affascina e ora che ho iniziato gli studi universitari in ingegneria elettronica, penso che sarò ancora piu avvantaggiato.

Detto ciò vi espongo le mie domande in merito, ringrazio in anticipo chi mi risponderà, e chi vorrà aprire un dibattito o raccontare consigli o esperienze in questo campo.

1 - Arduino è un bell'oggetto, diverte un sacco, ma sarà all'altezza di un progetto robotico? ho visto tanti video con bei progetti, ma mai nulla di molto complesso, sono a conoscenza che arduino non permette il multitasking ovviamente e questo è un problema, in quanto lettura in contemporanea ad elaborazione e compimento azione, è impossibile.
E' anche vero che possiamo accoppiare un Raspberry se vogliamo maggiore potenza di calcolo.

2 - Arduino vuole 9V per l'uso, e ne eroga 5V, ma saranno abbastanza per comandare 5/6 motori servo? e magari 4 motori DC o stepper? Secondo me no. Nel mio ultimo progetto (non robotico) ho utilizzato 4 LED, un sensore di fiamma, temperatura e un display, e una ventolina.....e aveva delle grosse mancanze quando partiva la ventolina.
Quindi come si può aumentare la tensione d'uscita dall'arduino? o forse è il metodo sbagliato? se si da dove prendo maggiore tensione per creare un qualsiasi progetto che non sia i soliti 3 led e sensore?
5v di uscita sono un gran freno per chi progetta, secondo me...Come si può quindi comandare diversi motori e altri sensori tramite arduino, anche avendo una corrente limitata?
Ho giusto ora ordinato 5 motori servo e una shield di comando, perche voglio capire come ovviare a questo problema.

3 - Sempre guardando diversi video di robot creati con arduino, ho visto tanti progetti di auto che seguono da solo una linea, carine, ma nulla di eccezzionale, nessuna funzionalità che colpisce a mio parere. Sarà forse perche i sensori venduti a parte che tutti conosciamo, sono sensori primitivi e poco affidabili? la maggior parte dei video che ho visto, l'auto aveva un senso traballante verso sinistra e destra e penso che questo movimento brusco sia dato dal sensore che leggeva la linea nera.

Quindi i sensori maggiormente conosciuti ed utilizzati per arduino sono un buon compresso per inziare ? oppure sono affidabili e basta solo molta conoscenza e un ottima progettzione per utilizzarli al meglio?

4 - Il mio intento era creare un auto 4 ruote, due assi. Che seguisse un percorso automaticamente preimpostato (NO LINEA DA SEGUIRE), quindi necessiterebbe una mappatura, e questo mi frena, arduino quindi sarà in grado di svolgere fuonzioni complesse? come gestire una mappatura di casa e lavorarci autonomamente, seguendo i richiami dati dall'utente, chessò magari tramite bluetooth?


Sono a conoscenza che ci sono alternative ad arduino, ma molto complesse, ma magari sono proprio quelle alternative piu adatte al campo robotico?

Grazie per le future risposte. Spero di aprire un bel discordo argomentale.

miticobeppe:
1 - Arduino è un bell'oggetto, diverte un sacco, ma sarà all'altezza di un progetto robotico? ho visto tanti video con bei progetti, ma mai nulla di molto complesso, sono a conoscenza che arduino non permette il multitasking ovviamente e questo è un problema, in quanto lettura in contemporanea ad elaborazione e compimento azione, è impossibile.
E' anche vero che possiamo accoppiare un Raspberry se vogliamo maggiore potenza di calcolo.

Se non ci sono attività necessariamente bloccanti, con 16MHz di clock puoi fare tante cose, in pratica anche contemporaneamente. Ovvio che se devo attivare un qualche attuatore ed attendere che finisca di muoversi prima di fare altro, è un limite, ma queste cose si superano con un accorto uso dei timer (cerca "millis()"). Qualora esistessero eventi necessariamente bloccanti, nulla vieta di avere una "rete" di Arduino, connessii tra loro in qualche modo (RF 433MHz, WiFi, Ethernet...) per scambiare informazioni, e magari un Arduino (non necessariamente, ovviamente si può anche arrivare ad un PC centrale) che fa da "coordinatore".
Insomma, le soluzioni sono tantissime, e la topologia dipende da molti fattori.

2 - Arduino vuole 9V per l'uso, e ne eroga 5V, ma saranno abbastanza per comandare 5/6 motori servo? e magari 4 motori DC o stepper? Secondo me no.

Certo che no. A parte componenti a basso assorbimento, per tutto il resto si usa una doppia alimentazione (es. una per Arduino e circuiteria spicciola di interfaccia, ed una per il controllo di servomotori, relè, eccetera).

Ho giusto ora ordinato 5 motori servo e una shield di comando, perche voglio capire come ovviare a questo problema.

Appunto, nella shield troverai probabilmente un jumper che serve per isolare il controllo dai motori, che vanno alimentati separatamente tramite gli appositi ingressi. Alcuni hanno viceversa un ingresso di potenza ed una uscita a 5V per alimentare Arduino.

Quindi i sensori maggiormente conosciuti ed utilizzati per arduino sono un buon compresso per inziare ? oppure sono affidabili e basta solo molta conoscenza e un ottima progettzione per utilizzarli al meglio?

Direi entrambe. Più la prima ovviamente, per il resto dipende dall'affidabilità, potenza, precisione dei sensori ed attuatori. Ma per iniziare ad imparare, e per sperimentare vanno bene anche le cineserie.

4 - Il mio intento era creare un auto 4 ruote, due assi. Che seguisse un percorso automaticamente preimpostato (NO LINEA DA SEGUIRE), quindi necessiterebbe una mappatura, e questo mi frena, arduino quindi sarà in grado di svolgere fuonzioni complesse? come gestire una mappatura di casa e lavorarci autonomamente, seguendo i richiami dati dall'utente, chessò magari tramite bluetooth?

Il problema non è il controllo, ma i sensori di posizione. Per fare qualcosa di preciso e complesso come la mappatura delle stanze ed ostacoli ti servirebbe un LIDAR. Oppure qualche sensore ad ultrasuoni per "vedere" eventuali ostacoli, e qualche sensore di prossimità ad infrarossi per evitare urti od oggetti bassi che gli ultrasuoni non "vedono", o dislivelli. Un sensore ad ultrasuoni potrebbe anche essere montato su un piccolo servo e fargli fare "scansioni" per i 180 gradi frontali e fare una "mappa" degli ostacoli più vicini. Per il posizionamento in una stanza potresti usare una triangolazione Bluetooth.
Insomma, anche qui, dipende da quale "potenza" e precisione vuoi implementare, e quanto spendere (il LIDAR costa abbastanza...), e quanto tempo vuoi/puoi dedicare allo sviluppo...

Appunto, nella shield troverai probabilmente un jumper che serve per isolare il controllo dai motori, che vanno alimentati separatamente tramite gli appositi ingressi. Alcuni hanno viceversa un ingresso di potenza ed una uscita a 5V per alimentare Arduino.

Grazie per la riposta, quindi tu dici di alimentare l'arduino con 9V per coordinare tutti le funzionmalità.
Ma usare un altra tensione, magari maggiore per far funzionare tutto il resto?

Ma scusa ci sono tanti sensori che si alimentano a 5V, tipo display..Se li collego ad una tensione di 12V lo brucio....Come ovvio a ciò?

Inoltre il collegamento di varie arduini tra essi, è una cosa complessa da fare? e quali benefici porta? A parte far gestire contemporaneamente piu cose.

miticobeppe:
Grazie per la riposta, quindi tu dici di alimentare l'arduino con 9V per coordinare tutti le funzionmalità.

Arduino si alimenta a 5V, se lo alimenti dal connettore di alimentazione (quello "tondo" per intenderci) passi tramite un regolatore che porta la tensione a 5V internamente, partendo dai 6-12V esterni.
Quello che NON puoi fare è usare l'uscita di Arduino per alimentare circuiti che assorbono più di qualche decina di mA. Ok per schedine ed anche display, ma niente relè, motori o qualsiasi cosa che richieda più corrente di quella che Arduino è in grado di fornire.

Ma nulla ti vieta di avere UNA alimentazione a 5V, che manderai ad Arduino ma che userai ANCHE per alimentare gli altri circuiti (sempre tranne relè e motori, che danno ovvi problemi se alimentati in comune).

Inoltre il collegamento di varie arduini tra essi, è una cosa complessa da fare? e quali benefici porta? A parte far gestire contemporaneamente piu cose.

La complessità è quella del controllo distribuito, dovrai concordare il mezzo di comunicazione (radiofrequenza 433MHz ad esempio, o rete TCP quindi WiFi o Ethernet) e poi i protocolli di comunicazione (che puoi progettare tu stesso).

Come vedi non ci sono limiti e, ripeto, dipende da cosa vuoi/puoi fare.

E insomma, scusami, ma stai parlando di robotica e di controllo numerico, mica di costruire casette col Lego :wink: Se stai facendo Ingegneria Elettronica e ti piace il ramo legato alla robotica, benissimo, queste sono le basi, per cui prendi qualche Arduino (utile almno uno UNO e un MEGA, io amo anche i Nano), un paio di breadboard, un proto-shield (magari di quelli con la piccola breadboard), componenti vari, stepper e servo, pulsanti, saldatore, stagno, pinze e pinzette, e VAI, sperimenta!!! :smiley:

Ma nulla ti vieta di avere UNA alimentazione a 5V, che manderai ad Arduino ma che userai ANCHE per alimentare gli altri circuiti (sempre tranne relè e motori, che danno ovvi problemi se alimentati in comune).

Grazie per la risposta, ma non capisco questo concetto di usare una sola corrente per alimentare due cose separate....Cioè se uso un alimentatore 5V (Di quelli che escono nei kit per intenderci) Cosi facendo avrò gia 5V di corrente che mi servono solo per arduino, quindi mi serve un altro alimentatore da magari 12V per alimentare il resto delle cose...Giusto? o non intendi questo?

Bisognerebbe partire dalle “basi” dell’elettrotecnica, in realtà…
Parti dal punto di dover alimentare cose diverse con tensioni diverse, non necessariamente dalla stessa fonte.
Arduino con un alimentatore, i motori con uno diverso e i sensori con un terzo…
I volt non sono “corrente” sono tensione, per un futuro “ingegniere” i termini devono essere corretti.

Mi pare doveroso sottolineare l'importanza della corrente, ovvero gli ampere.
Ne avete scritto sopra ma io lo sottolineerei, con parole "semplici".
Molti che si approcciano ad Arduino parlano/leggono solo di tensione (ovvero i volt) 5V, 12V etc. ma NON
prestano attenzione al discorso della corrente.
Arduino Uno ad esempio funziona a 5V ma eroga (fornisce) pochi mA dai suoi pin e dal pin 5V. Peggio ancora dal pin 3,3V, pochissimi mA
Un led consuma ("succhia") poca corrente (con adeguata resistenza) circa 10-20mA ma un motorino o un servo ad esempio ne consuma molti di più. Per un motorino quindi non bisogna solo sapere a quale tensione funziona (a quanti Volt) ma anche quanto "succhia" di corrente.
E anche un alimentatore non basta leggere quanta tensione (volt) fornisce, anche fino a quanti Ampere (corrente) fornisce è importante.

miticobeppe:
non capisco questo concetto di usare una sola corrente per alimentare due cose separate....Cioè se uso un alimentatore 5V (Di quelli che escono nei kit per intenderci) Cosi facendo avrò gia 5V di corrente che mi servono solo per arduino, quindi mi serve un altro alimentatore da magari 12V per alimentare il resto delle cose...Giusto? o non intendi questo?

Precisiamo, gli alimentatori dei kit sono in genere da 9V non 5V, questo perché, come detto, il connettore di alimentazione va alimentato con una tensione tra 6 e 12 Volt.

Se parli di "corrente" si deve intendere l'amperaggio, ossia se hai un alimentatore da 1A (come quelli in genere presenti nei kit) puoi alimentare cose che AL MASSIMO assorbono in TOTALE 1A.

Quindi per prima cosa, come detto, se colleghi l'alimentatore ad Arduino e poi cerchi di alimentare in cascata qualche apparecchio che assorbe più di qualche decina di mA ossia usando il pin 5V di Arduino, non puoi farlo e rischi di danneggiarlo.

Ma basta NON passare tramite Arduino , alimentando Arduino e le altre periferiche in PARALLELO (purché ovviamente l'assorbimento totale non superi la corrente massima dell'alimentatore, in quel caso 1A).

Diciamo che se ti stai avvicinando al mondo della robotica devi comunque apprendere le basi di elettronica (a partire dalla differenza tra tensione e corrente, carichi in serie o in parallelo, Kirchoff, eccetera..) per cui vai per gradi, e come ti ho detto inizia a sperimentare, leggi qualche testo o libro di elettronica di base (puoi iniziare da QUESTO ad esempio, o QUESTO), e ti avvantaggerai anche per gli studi di Ingegneria Elettronica (che ho fatto anche io, a suo tempo... :wink: ).

Magari puoi iniziare con una introduzione minimale a tensioni e correnti, per poi passare ad approcciare queste cose partendo da Arduino, come un qualche corso on-line come questo:
Mauro Alfieri - Corso Arduino on-line, o acquistare un libro tipo QUESTO.

So frequentando ormai l'università di ingegneria eletrtonica ormai da un mese....e non si è ancora visto ne sentito nominare neanche di una resistenza, ne di un transistor....Neanche della corrente in se.....Questa cosa mi sta un po spaventando a dire il vero

Ci sono passato anche io, ma considera che il primo anno serve per creare le basi che alle superiori non ti/ci hanno dato (facendoci perdere tempo -almeno nel mio caso- con 5 anni di latino e solo 3 di fisica, per dire…) per cui non spaventarti. Pensa che col vecchio ordinamento nei primi 2 anni non c’era assolutamente nulla di elettronica, per poi iniziare dal terzo. Chi veniva dallo scientifico come me si è trovato “deluso” inizialmente ma servono le basi di fisica e matematica, ma la mentalità dello scientifico aiuta, poi verranno le materie migliori. Chi veniva da istituti tecnici dove magari hanno già fatto circuiti, i primi 2 anni erano terribili perché non avevano proprio le basi teoriche, ma dopo si trovavano meglio di noi perché avevano già studiato in parte circuiti ed elettronica.
Se hai la passione, inizia a studiarti queste cose anche da solo, te le ritroverai più avanti, ed in ogni caso se ti interessa la robotica la parte analogica potrebbe avere importanza relativa, mentre elettronica digitale, controlli, protocolli di comunicazione e bus, questi saranno fondamentali.

docdoc:
Ci sono passato anche io, ma considera che il primo anno serve per creare le basi che alle superiori non ti/ci hanno dato (facendoci perdere tempo -almeno nel mio caso- con 5 anni di latino e solo 3 di fisica, per dire...) per cui non spaventarti. Pensa che col vecchio ordinamento nei primi 2 anni non c'era assolutamente nulla di elettronica, per poi iniziare dal terzo. Chi veniva dallo scientifico come me si è trovato "deluso" inizialmente ma servono le basi di fisica e matematica, ma la mentalità dello scientifico aiuta, poi verranno le materie migliori. Chi veniva da istituti tecnici dove magari hanno già fatto circuiti, i primi 2 anni erano terribili perché non avevano proprio le basi teoriche, ma dopo si trovavano meglio di noi perché avevano già studiato in parte circuiti ed elettronica.
Se hai la passione, inizia a studiarti queste cose anche da solo, te le ritroverai più avanti, ed in ogni caso se ti interessa la robotica la parte analogica potrebbe avere importanza relativa, mentre elettronica digitale, controlli, protocolli di comunicazione e bus, questi saranno fondamentali.

Sarò sincero con te, è un mese che frequento, ho fatto il tecnico informatico diplomato con un buon voto, sono sempre stato rivolto piu alla programmazione, ma da qualche mese è piu di mio interesse il lato elettronico.
Purtroppo, ho avuto uno stacco dallo studio post diploma di 2 anni e mezzo...perche avevo trovato un lavoro che economicamente soddisfava molto, purtroppo precario ma da qualche mese è arrivata la notizia che avrebbero lasciato a casa i tempo DETERMINATI, non volendo ritornare a farmi prendere in giro da aziende che ormai fanno solo cosi, ho deciso di tornare sui libri.
Ho 23 anni ora, dovendo scegliere un percorso di studi mi sono buttato su ingegneria, perche il mondo arduino e componenti mi ha investito completamente! dicevo che però dopo aver frequentato un mese di lezioni, è capitato piu di una volta che uscendo da aula dopo aver fatto lezioni quali: analisi matematica o geometria....Sinceramente mi è capitato di tornare sulla terra e capire che forse quei due anni fermo mi hanno fatto perdere molti concetti, inoltre non sono mai stato ottimo in matematica anzi! al diploma il voto si era alzato molto perche in programmazione ero forte e avevo esposto una tesina su MySQL.
Ma la matematica non era mai stato il mio forte.....Tornando al discorso delle lezioni, ùscendo dall'aula, dopo aver scritto 10 pagine di formule matematiche con relativi segni (alcuni dei quali manco conosco) e dopo aver pasato 3 ore a guardare il professore scrivere e cancellare alla lavagna a ritmi di catena di montaggio ford anni 20, lo svolgimento dell'analisi o formula....Ho capito che avrei trovato davanti a me non poche difficolta...Cioè in parole povere uscivo e non sapevo cosa avessimo fatto....E mi abbatte ancora di più il fatto che diversi ragazzi durante la lezioni hanno fatto interventi,e quindi forse sono io che sono indietro...Tutto ciò mi ha fatto un po ricredere su ciò che è questa laurea, e non so se faccia per me...Ma solo per la matematica e geometria che purtroppo come mi hai detto anche tu sono i passi principali.

Capisco che le cose da studiare siano gia difficili di per se, ma se dovessi stare a recuperare tutto, forse non ce la farei, perche mi mancano molte basi....Sicuramente tu avrai visto ragazzi che erano nelle mie stesse condizioni visto che ci sei già passato, qual'è il tuo consiglio? io ho tempo fino al 27 per cambiare facoltà, nel caso lo decidessi.

I miei professori di Analisi Matematica e di Geometria Analitica (di cinquant'anni fa, ahimè) alla prima lezione hanno esordito così:
"A beneficio di tutti adesso vi esporrò le nozioni che considero acquisite e che pertanto NON RISPIEGHERO', perché TUTTI dovreste saperle..."
Seguiva un elenco di nozioni: derivate, integrali, limiti, etc... di cui chi proveniva dal Liceo Classico aveva appena sentito parlare. Poi però proseguiva così:
"Per chi dovesse integrare questi concetti è a disposizione il mio assistente per consigliare una serie di testi."

Bontà sua. I primi quattro mesi furono terribili. Dovevo studiare sui testi consigliati gli argomenti esposti in lezione. L'Analisi Matematica poi è una catena. Se perdi un anello casca tutto.

Se non ti scoraggi, fatti consigliare testi integrativi. Poi ti ci vogliono tre cose: studio, studio, studio...

In bocca al lupo.

Ciao.
P.

miticobeppe:
Capisco che le cose da studiare siano gia difficili di per se, ma se dovessi stare a recuperare tutto, forse non ce la farei, perche mi mancano molte basi....

Devo darti una brutta notizia, la matematica è di vitale importanza per un ingegnere, devi per forza di cose sforzarti per acquisire, o recuperare, le basi, e non sto certo parlando dell'algebra che si studia alle medie, parlo di cose come derivate e integrali, calcolo matriciale, etc.

astrobeed:
... parlo di cose come derivate e integrali, calcolo matriciale, etc.

... aggiungiamo pure serie, laplaciano, trasformate, analisi delle armoniche, analisi complessa ... :smiling_imp: :smiling_imp: :smiling_imp:

Guglielmo

astrobeed:
... parlo di cose come derivate e integrali, calcolo matriciale, etc.

gpb01:
... aggiungiamo pure serie, laplaciano, trasformate, analisi delle armoniche, analisi complessa ... :smiling_imp: :smiling_imp: :smiling_imp:
Guglielmo

... ma come siete buoni ed incoraggianti, voi due ... :smiley: :smiley: :smiley:

Grazie comunque per le risposte, ma la mia paura non è studiare le basi in privato, è che nel frattempo studio le cose a casa in tutti i casi le lezioni andranno avanti e quindi io sarò sempre indietro...arrivando a gennaio per dare l’esame con il rischio di aver imparato le basi ma non il percorso di studi interno....capito?

Questa è la mia unica pura.
Comunque voi avete testi da consigliarmi ? Così che posso informarmi e magari iniziare a studiar. La scorsa lezione di analisi matematica parlava di funzioni dei limiti

Secondo me la cosa più pratica è chiedere consiglio direttamente ai tuoi professori, spiegando le tue difficoltà derivate dal non provenire da un liceo Scientifico, credo possano comprendere e darti consigli migliori di quelli che possiamo darti noi (e in un forum su Arduino, tra l'altro... :wink: ).