Motori con arduino!!!

salve ragazzi sono alle prime armi con arduino e piu lo studio piu mi rendo conto di quello che si puo fare :slight_smile:

Allora: io ho smontato un lettore dvd portatile e ci ho trovato dentro un motore molto piccolo ( con un filo rosso e uno nero) lo ho attaccato ad arduino e funzionava tutto apposto, poi ho creato un programma con il quale premevo un pulsante e si accendeva il motore lo ripigiavo e si spegneva e anche qui tutto apposto... poi ho smontato una macchinina radiocomandata e ci ho trovato un motore un po piu potente (con un filo rosso e uno nero grossi e un altro nero piccolo) e lo ho attaccato a 5 volt sul filo rosso e negli altri due ci ho attaccato la "terra" e funzionava tutto apposto, poi volevo, come avevo fatto con il motore piu piccolo, attaccarlo ad un pin, in questo caso il pin "7" ma premendo il pulsante il motore piccolo si accende mentre quello grande "no"... E' due giorni che mi sto scervellando mi potete aiutare??? :cold_sweat:

Ah un 'altra domanda vorrei sapere come posso invertire il senso di moto del motore??

Grazie in anticipo :slight_smile:

Probabilmente perchè il motore richiede più di 40 mA, oltre i quali un pin di arduino non può andare!
Potresti quindi controllarlo con un semplice transistor oppure se vuoi anche agire sulla direzione, usare un ponte h che può essere fatto sempre con dei transistor o tramite un circuito integrato "pronto". Il pacco di batterie serve esclusivamente ad alimentare il motore, quindi deve soddisfare le sue richieste. Con l'alimentazione presa da arduino invece alimento solo la logica dell'integrato!

p.s: anche io sono alle prime armi, ma l'unica cosa che posso dirti con fermezza è di non collegare nulla del quale non conosci le caratteristiche ad un pin di arduino!

Aaah dimenticavo una cosa importante! Come detto qui, contrariamente al tutorial, non dovresti agire sul pin "enable" dell'integrato con un impulso pwm.
Quindi tu diresti: come faccio a controllare la velocità?
Ah boh, mi sono scordato di chiederlo quindi attendi qualcuno :smiley:

Quando dico alle prime armi intendo proprio zero; infatti la meta dei pezzi che ci sono nel mio kit non so neanche cosa sono... scusa per l'ignoranza ma mi potreste dirlo in termini piu semplici possibili magari con dei link di collegamento a delle foto o spiegazioni...

So che è troppo ma ve ne sarei davvero grato :slight_smile:

Grazie in anticipo

http://scuola.arduino.cc/it/content/controlla-motore-dc-ponte-h-l293d
Più di così.. :slight_smile:

sei il meglio grazie mille... ce solo un altro piccolo problema io non ce lho l' L293NE (il processore, non so come si chiama, lungo) io non ce lho nel mio kit, ne ho due piccoli ma non so se è la stessa cosa... :slight_smile:

Grazie in anticipo :slight_smile:

Quelli sono circuiti integrati, e ognuno ha una funzione diversa anche se sembrano tutti uguali! Infatti se non sai cosa siano vai a leggere la sigla e cerchi il "datasheet" su google..

Ok e quindi io lo posso anzi lo devo comprare il modulo integrato se voglio far funzionare il motore???

Se si lo posso comprare tranquillamente su ebay oppure ce proprio un negozio on line specializzato??

Grazie in anticipo :slight_smile:

La cosa piú veloce e meno costosa é trovare un negozio vicino a casa Tua. Dove abiti?
Ciao Uwe

va bene più o meno qualsiasi fonte, ma mi sembra strano che il motore abbia 3 fili. sicuro che non ci sia dell'elettronica di controllo già attaccata?

In effetti sotto al motore ci sono delle molle e altri circuiti vi lascio qualche foto :

PS spero che possano essere di aiuto per aiutarmi xD

pps= negozi specializzati dove abito io??? pff abito in un buco di paese e manna se ci sono i negozi di alimentari xD

bhe sembra avere un minimo di circuito, ma con le molle non l'ho mai visto! che abbia l'ESC incluso?

poi volevo, come avevo fatto con il motore piu piccolo, attaccarlo ad un pin, in questo caso il pin "7" ma premendo il pulsante il motore piccolo si accende mentre quello grande "no"

ma il grosso nero l'avevi collegato al GND di arduino? se no, allora bbiamo trovato il problema. I GND vanno collegati sempre, perchè sono il valore di riferimento.

Quelle molle dovrebbero essere degli induttori, ma non so dirti di più :sweat_smile:

Per comprare roba spicciola, se non hai un negozio di elettronica vicino, puoi rivolgerti ad ebay.. spesso ordino roba dalla cina con spedizione gratuita che non mi serve ma che può tornare utile, infatti arriva dopo un paio di settimane.
Altrimenti se hai fretta e una lista di componenti controlla tra questi negozi in italia, e incentivi l'economia italiana.. che in questo momento ne ha di bisogno ahaha
RobotItaly è molto fornito e ci ho ordinato!

Non sono molle, sono induttanze :slight_smile:
quasi di sicuro servono per eliminare i disturbi che vengono generati dal motore stesso..

rispondendo a lesto: si entrambi i neri li ho collegati al ground (mi potresti spiegare in poche parole a che serve il ground??) e a quello rosso il pin "7"...

Grazie in anticipo :slight_smile:

il ground sarebbe il negativo :smiley: (ho scoperto l'acqua calda D: )

guggio97:
rispondendo a lesto: si entrambi i neri li ho collegati al ground (mi potresti spiegare in poche parole a che serve il ground??) e a quello rosso il pin "7"...

Grazie in anticipo :slight_smile:

no, il rosso a 5v (un pin arduino non fornisce abbastanza corrente per il motore, però ci prova e ti frigge arduino). Anche i 40mV dal pin 5v sono pochi, ma il regolatore ha qualche protezione in più. meglio ancora sarebbe collegarlo ad una batteria esterna.

il nero spesso a GND, per i motivi di cui sopra. se usi la batteria esterna, va collegato al - della battera E ad arduino.

il nero sottile al pin 7. Bisogna capire se risponde ad un comando acceso/spento, ad un PWM(vedi analowWrite PWM), o ad un PPM (vedi libreria Servo).

Quindi io attaccandolo piu volte al pin 7 ho rischiato svariate volte di fondere arduino??

Perche se è cosi, voglio essere sicuro che anche il motore piccolo non me lo fonda perche è meno di due settimane che ce lho e non lo vorrei mettere a termine la sua vita dopo cosi poco tempo :smiley:

ps= il motore piccolo ha solo 2 fili (uno rosso e uno nero)ed inoltre non ha circuiti come invece ha quello grosso... in poche parole posso essere sicuro che non mi fonda arduino??

pps= come posso attaccare arduino ad una batteria cosi da farlo funzionare in autonomo??

ppps= se avessi un trasformatorea quanto lo dovrei settare per attaccarlo ad arduino??

Lo so che faccio tante domande, ma come ho gia detto sono un principiante :smiley:

Grazie in anticipo :smiley:

lesto:
no, il rosso a 5v (un pin arduino non fornisce abbastanza corrente per il motore, però ci prova e ti frigge arduino). Anche i 40mV dal pin 5v sono pochi, ma il regolatore ha qualche protezione in più. meglio ancora sarebbe collegarlo ad una batteria esterna.

Lesto, scusa la domanda, ma nel pin 5V non dovrei avere gli ampere che mi fornisce la batteria collegata al jack(o al vin) di arduino?

attenzione, l'amperaggio sul pin 5v è limitato dal regolatore lineare installato sulla board, invece dal VIN, che è collegato direttamente al trasformatore (quindi NON è 5v!!) ciucci tutto l'amperaggio che ti fornisce l'alimentatore.

Quindi il trucco non è collegare arduino alla batteria, ma solo il motore basta!

il motore piccolo, anche se piccolo, ciuccia tanto, e quindi rischia di fondere. per questo si usa l'elettronica aggiuntiva, non solo per semplificare la gestione, ma anche per fornire abbastanza potenza

sciorty:
Aaah dimenticavo una cosa importante! Come detto qui, contrariamente al tutorial, non dovresti agire sul pin "enable" dell'integrato con un impulso pwm.
Quindi tu diresti: come faccio a controllare la velocità?
Ah boh, mi sono scordato di chiederlo quindi attendi qualcuno :smiley:

Allora tempo fà chiesi anch'io aiuto su questo argomento! XD
Per controllare la velocità dei motori, il metodo più efficiente è l'utilizzo di due segnali complementari PWM agli input di comando motori dell'integrato.
Si può fare questo tramite software ( difficile ) o tramite porte NOT ( soluzione semplice :slight_smile: )

Ho anche realizzato uno schema, sempre con il grandissimo aiuto del forum, per il controllo di 4 motori DC con 2 integrati SN754410 ( supportano fino ad 1.1 A per linea ).
Testato su Bread Board, senza diodi di protezione,con dei motoriduttori da 5V come carico, basetta in fase di realizzazione, perfettamente funzionante :smiley:

Allego i file Eagle dello schema elettrico e dello sbroglio, non sia mai vi siano utili :slight_smile:

p.s. Ho pensato questa basetta un pò come tutto fare, quindi, anche se l'SN754410 ha già i diodi di protezione integrati, ho preferito metterli esterni. Perchè mi è stato detto che per pilotare motori passo-passo ( un integrato può comandare un passo passo o due dc ) alla massima corrente servivano.
I diodi che userò sono dei: UF2003 ( diodi FAST, 2 A min, 50V min più economici che ho trovato su RS), e non quelli indicati nello schema.

Driver SN754410 - L293D.sch (663 KB)

Driver SN754410 - L293D.brd (130 KB)