Go Down

Topic: Parola d'ordine: riciclaggio! (macchinina e altro) (Read 1 time) previous topic - next topic

matteventu

Apr 08, 2012, 08:42 pm Last Edit: Apr 08, 2012, 08:46 pm by matteventu Reason: 1
Ragazzi dunque, mi è tornata in mente una vecchia automobilina RC elettrica di quando ero piccolo, e avendo fatto poco fa a scuola l'interazione dei motori DC con Arduino attraverso l'IC L293D (motori, ruote, base ecc, tutto su una "basetta" da assemblare fornita dalla scuola), sono andata a prenderla in cantina e l'ho aperta sperando che qualcuno di voi mi sapesse dire se è una buona base da utilizzare per la costruzione di un amatoriale rover.

(le foto sono allegate sotto in un .rar)

Premetto che non ho intenzione di usare la parte RC del veicolo (a dire la verità non so neanche se si possa fare xD).

L'idea era quella di fare un robottino autonomo, costituito dall'apparato locomotore (automobilina, con due ruote motrici posteriori, un solo motore, e un "servo" che gestisce lo sterzo delle due anteriori) e sensoriale (semplicemente due sensori IR Sharp, o ad ultrasuoni se ne trovo di economici, ma in ogni caso dei componenti specifici ne parleremo più in la).

Il corso di robotica a scuola è un corso pomeridiano facoltaivo che ho scelto io di frequentare, e lavoriamo principalmente con l'Arduino UNO (poi vabbè io me lo sono comprato per conto mio e per giocarci a casa), ma "elettronica" ed "informatica" sono già due materie classiche, quindi se in programmazione non dovrei avere particolari problemi, in elettronica forse mi servirà qualche aiutino (che in ogni caso credo ci vorrebbe poco a risolvere, di solito sono uno che capisce le cose velocemente).

Torniamo a parlare dell'aggeggio, pensavo di collegare all'Arduino il motore, solo che una volta aperto il veicolo, ho visto che il motore presenta tre cavetti  :smiley-eek:
Dunque il primo aiuto sarebbe qua: 1- a scuola ne abbiamo visti solo due, come gestisco un motore con tre cavetti ed il driver L293D (che devo ancora acquistare)??

Discorso opposto per il rudimentale servo invece: 2- con il servo presente nel kit (con spinotto a tre poli) so come fare, ma nel caso il motorino abbia due soli cavetti??

E aggiungiamo:

3- la macchinina allora è effettivamente riutilizzabile??

4- ci sono altri componenti che potrei tirare fuori da altri giocattoli??

5- la GBC vende componenti elettronici come IC o sensori??

6- se possibile l'utilizzo come mostrato nel topic, il L293D andrebbe bene??

7- le varie porte input/outpot di Arduino bastano a fare quello descritto, oppure no??

8- servono shileds particolario posso fare tutto da breadboard??


Grazie mille  :smiley-mr-green:

http://matteventu.altervista.org/macchininarossarossadovevaicosidicorsa.rar

amario57

Ho visto le foto, nessun problema per il motore di trazione il terzo filo è la "massa" il GND, quindi devi considerare solo i 2 fili che sono collegati ai 2 poli del motore.
Per quanto riguarda invece il motore dello sterzo devi non puoi considerarlo come un motore di un servo, ma è un motore che deve dare solo dei brevi impulsi per poter variare il grado di strzata.
Di esempi per usare L293 ne vedi tanti in giro, se vuoi guardati questo:
http://www.gioblu.com/tutorials/azionamenti/308-controllo-bi-direzionale-motore-dc-con-regolazione-velocita-da-potenziometro-l293
così puoi capire come usare un driver per gestire la "velocità" del motore poi piano piano potrai capire come gestire anche l'altro motore per lo sterzo.
Quello potresti benissimo sostituirlo con un microservo ed avere quindi una più precisa gestione dello stesso.
Ciao

matteventu

Grazie mille!!  XD

Oggi mi è arrivato il driver L293D, ora lo apro e ci smanetto un po'.

So che un classico servo sarebbe molto più comodo, però il fatto è che dovrei "costruirgli" un alloggio ad-hoc, e non ne sono capace  :smiley-sweat:

Mentre con il motorino (che non ho mica capito come funziona  :smiley-red: ) tutto è già al suo posto, devo solo collegare i cavetti e programmare  ]:D

Riguardo alle altre domande?


pablos

#4
Apr 22, 2012, 02:11 am Last Edit: Apr 22, 2012, 02:15 am by pablos Reason: 1
Proprio un bel titolo!!! Potrebbe far gola alla finanza "Parola d'ordine: riciclaggio!" .... direi che in questo periodo di appropriazione indebita e riciclaggio ce nè abbastanza :)

Ma come le partorite certe idee? Bha!!
no comment

matteventu

#5
Apr 22, 2012, 07:29 pm Last Edit: Apr 22, 2012, 08:39 pm by matteventu Reason: 1
Nel i cavi del motore c'è "qualcosa" (vedi foto sotto), sapete di cosa si potrebbe trattare? Potrebbe influire in qualche modo sul modus operandi??

Eseguendo questo circuito http://www.oomlout.com/oom.php/products/ardx/circ-03 (collegando come nei disegni il motorre che sta nell'automobilina) funziona correttamente, tranne per il fatto che anche se imposto il PWM a 255 il motore gira pianissimo, e all'inizio gli serve la "spintarella", insomma, sembra che non ce la faccia. Colpa dei pochi mA forniti dall'Arduino (alimentato via USB) ??
Alimentandolo con una batteria da 9V tramite lo spinotto, risolverei il problema?? Ci sono accorgimenti che dovrei prendere se utilizzo la batteria 9V invece che i 5V dell'USB ??

Grazie a chi mi sa dare una mano :)



ps: @pablos: grazie mille della simpatica accoglienza, anche io ti voglio bene ;)

Edit: ho rifatto tutto ora utilizzando invece il driver L293D, ed il motore va benissimo, velocissimo :D
Se utilizzo l'alimentazione 9v di Arduino, il Vcc lo collego ai 5v di Arduino come l'enable, oppure ad un altra alimentazione?
Rimane ancora la domanda di prima: cosa sono quei cosi dentro i cavi del motore?

matteventu

#6
Apr 22, 2012, 11:56 pm Last Edit: Apr 22, 2012, 11:58 pm by matteventu Reason: 1
http://www.youtube.com/watch?v=1bM3HdeTvH4

Praticamente non fa niente, va solo avanti ed indietro xD  (per ora o.o)

Il prossimo step è capire come fra funzionare il motorino per lo sterzo...

@amario57: il tuo link mi è servito molto, ma non ho comunque capito come funziona il motorino ad impulsi per lo sterzo  :smiley-sweat:

pablos

#7
Apr 23, 2012, 12:27 am Last Edit: Apr 23, 2012, 12:29 am by pablos Reason: 1
Quote
ps: @pablos: grazie mille della simpatica accoglienza, anche io ti voglio bene

Ritengo solo che un titolo fa la serietà dell'argomento e del personaggio che lo pubblica spece in un forum serio, se tu avessi messo:
"riciclo di componenti (macchinina e altro)" avresti avuto ancora più click, non è una polemica, ma solo un commento

P.S. non mi interessa il tuo bene! Ho già quello che mi serve :) 

Ciao ciao
no comment

lesto

umm potresti rimettere il circuito com'era prima e inserirti in parallelo alla ricevente. In pratica simuli i comandi remoti, ma fai tutto da arduino.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

matteventu

Arabo xD

Cmq il telecomando è solo un 2ch digitale, non ci si può fare molto xD

amario57

Allora per semplificare, dato che non vuoi usare un servo, per poter usare il motorino che hai, per lo sterzo, per girare non puoi tenerlo sempre in tensione per poter variare l'asse di sterzata, altrimenti lo bruci, quindi devi mandare degli impulsi, che variano la sterzata a dx o sx. La durata dell'impulso la puoi impostare senza problemi con Arduino anche la velocità, puoi quindi usare L293 dato che hai a disposizione due canali per i motori, quindi uno per il motore di trazione , l'altro per lo sterzo. Ribadisco che con un servo risolveresti tutti i problemi  ;)

matteventu

Grazie mille ancora per la spiegazione, ora è più chiaro :)

Si, lo so benissimo anche io che con un servo sarebbe tutto MOLTO più semplice da comandare, il problema è che per il servo ci dovrei fare un alloggiamento ed un collegamento efficace con l'asse che si muove sul quale sono posizionate le ruote anteriori.

E poi il servo lo so già usare, che gusto ci sarebbe?  :P

Allora: se il motore gira da una parte, la macchina va in una direzione. Se il motore gira dall'altra parte, la macchina va nell'altra direzione.
Fin qui è chiaro.

Ma: gli "impulsi" (cioè la corrente che do al motore per un periodo brevissimo?) di quanto tempo devono essere? Se do un tempo superiore o maggiore, cosa succede? C'è un tempo preciso da mettere, oppure è un arco di tempo variabile che posso scegliere io con qualche scarto?

Per la millesima volta, grazie :D


lesto

devi usare un servo, il motore non torna mai perfettamente in posizione (i servo sono un motore con un sistma di rilevazione della posizione).
i servo si pilotano in PPM, in pratica libreria Servo.h :)

gli implilsi sono 1 e 0. più è alta la frequenza(durata di 1 + durata di 0), più è fluido il motore, più è alta la durata di 1 rispetto a 0 e più veloce gira il motore.

per la direzione di solito c'è un pin da mettere a 1 o 0 (1 = retromarcia)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up