Go Down

Topic: Shield pilotaggio motore, dubbi. (Read 567 times) previous topic - next topic

luigirocco86

Buonasera sono  Luigi,
mi sono appena presentato nella sezione apposita.
Faccio una piccola premessa prima di porre la mia domanda. Ho studiato ing. elettronica, ho quindi una buona base per affrontare tutto ciò che riguarda questo mondo dei microcontrollori, e quindi del mondo Arduino. Nonostante questo sono del parere che l'università ha più un ruolo di formazione, cioè ho un'infarinatura di tutto, ho le capacità per capire determinate cose, ma alla fine, di concreto, non so fare niente. Dico questo perchè le mie domande vi sembreranno banali, ma se voglio capirci qualcosa, me ne frego e faccio anche le domande più stupide  :).

Veniamo alla domanda. Ho visto i vari shield che ci sono per arduino. Capisco che possa servire uno shield per la comunicazione wi-fi, gsm, perchè credo, ci sia bisogno di un qualcosa che trasformi il segnale che io mando dal mio arduino in qualcosa di leggebile ad esempio per il modulo wi-fi, e viceversa.
Non capisco invece perchè c'è bisogno di uno shield apposito per pilotare un motore. Cioè per quale motivo io non posso attaccare direttamente un motore alla mia board Arduino UNO?? quando io ieri ho comprato la board, la mia idea era proprio quella di prendere un motore, alimentarlo con una alimentazione esterna, e pilotarlo tramite uno switch per l'accensione e un potenziometro per la velocità.....cosa la mia board non può fare per cui serve uno shield aggiuntivo???

Grazie in anticipo  ;)

uwefed

1) A secondo del tipo di motore serve un pilotaggio aposito che genera la forma d' onda o la polaritá necessaria perché il motore funzioni.
2) La corrente necessaria per far girare un motore supera di gran lunga la corrente che un Pin di Arduino possa dare senza rompersi.
Ciao Uwe

luigirocco86

Grazie, mi sono letto qualcosa stamattina sul pilotaggio di motori, sul ponte H ecc.......ho capito qualcosa finalmente, grazie  :)

Se posso ti faccio un'altra domanda.
Uno dei vantaggi che sto riscontrando con Arduino è che ci sono svariate librerie già pronte, e ad esempio per comunicare con un display basta scrivere una funzioncina e il gioco è fatto.
Quando utilizzavo i PIC per scrivere sul display dovevo accenderlo, configurarlo, settare il cursore, settare i bit da utilizzare ecc....cose che qui vengono di molto semplificate includendo LIQUIDCRYSTAL.h e utilizzando le funzioni.
Vorrei però provare a comunicare, non so come dire, più a basso livello, senza usare la libreria già bella e fatta....è possibile????

sciorty

Uwe forse ha frainteso la domanda, non avrà letto che avresti usato un transistor e non avresti direttamente attaccato il motore ai pin.
Quando servono ingressi particolari ha senso una shield, ma a mio parere alcune sono create solo per una questione pratica e di prototipazione veloce!
Un ponte h lo puoi fare con dei transistor o con il circuito integrato già pronto come puoi anche usare una shield. La differenza in questo caso sta nel fatto che con una shield i collegamenti sono già fatti e magari ti forniscono una libreria che agisce sui pin in maniera "trasparente", mentre mettendo l'integrato od il circuito su breadboard scegli tu la configurazione ed i pin da sfruttare..

luigirocco86

No no, ero proprio io che non avevo capito perchè servisse uno stadio di potenza  :P
Anche se mi chiedo, non ci sono motori che possono essere pilotati con una tensione accettabile per l'arduino, tipo i classici 5V, con un basso assorbimento di corrente?? o tutti hanno bisogno di uno stadio di potenza per essere pilotati??

sciorty

E' comunque un carico induttivo, sempre meglio separare i due circuiti. Ma su questo aspetta Uwe, io ho ancora tanto da studiare :)

uwefed

#6
Feb 17, 2013, 09:44 pm Last Edit: Feb 17, 2013, 10:48 pm by uwefed Reason: 1

No no, ero proprio io che non avevo capito perchè servisse uno stadio di potenza  :P
Anche se mi chiedo, non ci sono motori che possono essere pilotati con una tensione accettabile per l'arduino, tipo i classici 5V, con un basso assorbimento di corrente?? o tutti hanno bisogno di uno stadio di potenza per essere pilotati??

I motori DC hanno la brutta abitudine di assorbire corrente in funzione del carico. Anche l'accelerazione (partenza) ha bisogno di potenza e percui la corrente si alza. Un ipotetico motore con 5V e 40mA ha una potenza di  0,2W elettrica non meccanica disponibile sul albero. Questo é ipotetico perché in partenza assorbe di piú e percui come potenza nominale dovresti rimanere molto sotto (parliammo di una decina di mW) Non potresti azionare niente perché troppo debole.
Nisura la resistenza del motore DC. Quella resistenza é quella che limita la corrente quando il motore é fermo (alla partenza) o quando l' albero é bloccato.
Sí, tutti i motori hanno bisogno di un stadio di potenza che peró per un azionamento solo in una direzione puó essere un transistore NPN o un N-MOSFET.

Ciao Uwe





PaoloP


Vorrei però provare a comunicare, non so come dire, più a basso livello, senza usare la libreria già bella e fatta....è possibile????


Certo che è possibile.
Devi verificare sul datasheet del display che tipo di comunicazione usa e il protocollo e poi ricrearlo con comandi semplici.
Se vuoi approfondire potresti iniziare a leggere il contenuto dei file della libreria liquidcrystal o di altre e capire il funzionamento.
come editor per leggere il file delle librerie che trovi allegate all'IDE di Arduino o di quelle scaricate da internet di consiglio l'ottimo Notepad++ (http://notepad-plus-plus.org/)
Una volta selezionato il linguaggio di programmazione (a volte lo trova in automatico in base all'estensione del file) la lettura diventa molto facilitata.

Go Up