Go Down

Topic: Delucidazioni sui motori (Read 856 times) previous topic - next topic

Menny

Ciao a tutti, dopo aver smembrato un robotino costruito a fascicoli tanto tempo fa mi è balenata l'idea di utilizzare arduino per pilotare i due motori e pensavo di farlo in modo banale dando valore logico "1" a un pin digitale che dovrebbe avere tensione di 5V, il robottino non si muove quindi volevo chiedere delucidazioni a voi per capire come mai il mio ragionamento è errato.

Grazie e spero di essere stato chiaro  ;)

Menny

LucaGilardi

Semplicemente perchè Arduino ti eroga troppa poca corrente :)
Per poter muovere il motore potresti usare come semplice soluzione un BJT in ON/OFF (motore al massimo della velocità o spento) ma senza potre controllare la direzione o con un ponte h (integrato o a componenti discreti) con il quale potresti usare il PWM (per controllare la velocità) e la direzione (ti occupa però due pin digitali in uscita invece che uno solo)

Menny

#2
Oct 24, 2011, 07:17 pm Last Edit: Oct 24, 2011, 07:28 pm by Menny Reason: 1
Ok per me è arabo quello che hai detto  :smiley-mr-green: siccome sono alle prime armi.
Non esiste un modo per erogare via sketch la corrente che mi serve su un pin in modo da far accendere o spegnere il mio motore a piacimento?... per ora velocità e altro non mi servono, voglio solo poter accendere o spegnere il mio motore in base a quello che mi serve; so che magari è banale ma non ci arrivo xD

edit: e se mi appoggiassi ad una batteria esterna per il motore, potrei utilizzare arduino come una sorta di "interruttore" per accendere i motore?

LucaGilardi

No, non c'è possibilità di far erogra più corrente dal Arduino, è chiedergli troppo :)
Se usi un BJT, con la corrente erogata da Arduino potresti pilotare il motore come vorresti

Cercherò di spegarti in parole semplici allora che cos'è un transistor BJT.
Sintetizzando e spiegando un po' alla buona si può dire che il BJT (in on off) è il corrispondente elettrico di un interruttore:
ha 3 pin base, emettitore, collettore.
quando la corrente in base supera una certa soglia è come se fra emettitore e collettore ci fosse un interruttore chiuso, quando la corrente è più bassa è come se l'interruttore fosse aperto.
Può essere usato per pilotare con una piccola corrente un carico che ne richiede di più :)

questa è la pagina di wikipedia per approfndire:
http://it.wikipedia.org/wiki/Transistor_a_giunzione_bipolare

ti allego anche una foto di qualche transistor e un ipotetico schema

Freddy65

Arduino 2009

Menny

Grazie mille sia a LucaGilardi per le delucidazioni che a Freddy65 per lo sheild  ;)
Inizierò a procurarmi il BJT e poi una volta approfondito penso che passerò allo sheild  :smiley-mr-green:

LucaGilardi

di nulla, sono contento di poter essere utile con le mie (poche) conoscenze a qualcuno :)
in alternativa allo sheild se sai saldare, anche non in maniera eccelsa, o ti accontenti di un montaggio su breadboard, potresti anche usare un ponte H integrato tipo lm293. L'unica cosa è che devi fare qualche collegamento di più ma costa di meno :)
Con questo integrato ad esempio puoi usare il PWM e un'alimentazione diversa da quella logica (5V) per i motori, gestire due motori separatamente, è protetto dai surriscaldamenti, regge 0,6A per canale e ci sono diversi possibili schemi di collegamento (con o senza l'aggiunta di qualche componente esterno)

questo è il link alla pagina di robotitaly, ma dovrebbero averlo anche in qualche negozio di elettronica nella tua zona
http://www.robot-italy.com/product_info.php?cPath=6_34&products_id=236

uwefed


Ok per me è arabo quello che hai detto  :smiley-mr-green: siccome sono alle prime armi.
Non esiste un modo per erogare via sketch la corrente che mi serve su un pin in modo da far accendere o spegnere il mio motore a piacimento?... per ora velocità e altro non mi servono, voglio solo poter accendere o spegnere il mio motore in base a quello che mi serve; so che magari è banale ma non ci arrivo xD

edit: e se mi appoggiassi ad una batteria esterna per il motore, potrei utilizzare arduino come una sorta di "interruttore" per accendere i motore?

Parliamoci chiaro: se colleghi qualcosa che chiede piú di 40mA a un Pin di Arduino rischi di rompere Arduino. Se metti tensioni piú alte di 5V (anche attraverso il motore) rompi sicuramente Arduino.

@ Menny
comprati un libro su Arduino.

Ciao Uwe

LucaGilardi

il discorso però è sepmre quello :) non puoi gestire correnti elevate o, come ha detto Uwe, tensioni diverse dai 5V direttamente con Arduino. Devi utilizzare un'interfaccia di potenza...ce ne sono altre oltre a quelle che ti abbiamo indicato, ma sono più complesse, inaffidabili o ti fanno fare dei rigiri inutili :)

Menny


@ Menny
comprati un libro su Arduino.

Si, ci stavo facendo un pensierino :)

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy