Motore passo-passo con arresto automatico

Salve a tutti. Sto cercando di realizzare un sistema di movimentazione per alcuni oggetti che devono essere impilati, uno sopra l'altro, in un serbatoio cilindrico verticale. Il sistema deve arrestarsi quando il cilindro è pieno, e deve ripartire se c'è spazio per nuovi oggetti (ad esempio perché vengono prelevati dall'estremità inferiore del serbatoio, non importa come).

Per questo progetto sto pensando di utilizzare Arduino Uno r3, con un motore passo-passo e un sensore ottico che mi permetta di valutare se il serbatoio è pieno di oggetti oppure no.

Qual'è il sistema migliore per collegare un solo motore passo-passo all'Arduino? Leggendo qua e là ho visto che esistono tanti sistemi diversi, ad esempio la scheda EasyDriver, oppure vari shield che si montano direttamente sull'Arduino. Cosa mi consigliate? Che motore passo-passo devo acquistare?

Per il sensore ottico stavo pensando ad un laser contrapposto ad un fotoresistore, per creare una sorta di "trappola" collocata all'imboccatura del serbatoio: se il serbatoio è pieno, il raggio laser è interrotto dall'ultimo oggetto caricato, e ciò provoca l'arresto del motore. Se invece il serbatoio viene svuotato, il raggio laser riesce a colpire il fotoresistore e ciò provoca il riavvio del motore. E via così, all'infinito.

Che laser e che sensore mi servono, per poterli collegare e controllare tramite Arduino?

Considerate che sono in programmatore, ma di elettronica ne capisco pochino. Però imparo in fretta! :D

Grazie fin d'ora per qualsiasi suggerimento!!!

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni e a leggere il regolamento: Regolamento - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - qui le pinout delle varie schede by xxxPighi: Pinout - qui una serie di link [u]generali[/u] utili: Link Utili

Per il pilotaggio di motori stepper finora ho trovato l'A4988 un'ottima scelta. Grazie al microstepping riesci ad ottenere praticamente qualsiasi movimento con soli due pin di arduino e con poche righe, sia fluido che a passi. Poi ci sono anche i classici [http://arduino.cc/en/Reference/StepperBipolarCircuit]ponti H[/url] che però richiedono un po' di collegamenti in più ma hai una libreria arduino pronta.

Per quanto riguarda il sensore di livello dipende anche un po' dalla geometria del tuo sistema, se sei sicuro che qualsiasi condizione di riempimento terrà interrotto il solo fascio laser che hai intenzione di mettere allora dovrebbe andare :)

Ho ottemperato ai doveri, come giustamente mi ha fatto notare nid69ita :-)

Avevo già acquisito la documentazione indicata, che sto studiando, mi chiedevo se potevo ricevere qualche consiglio circa l'hardware da acquistare, per evitare di fare spese sbagliate.

Grazie per qualsiasi suggerimento, io intanto sto usando il motore di ricerca :-)

Ti ringrazio moltissimo per le indicazioni, sciorty! Filo immediatamente a controllare :-)

Per la scelta del sistema laser/sensore, sì, la geometria del sistema interromperebbe senza possibilità di errore il fascio laser quando il serbatoio è pieno, perché l'ultimo oggetto si frapporrebbe esattamente tra laser e sensore e lì rimarrebbe, fino a che il serbatoio non viene svuotato. Tra l'altro, sto disegnando il supporto meccanico che dovrà sostenere tutto il complesso, e sia laser che sensore saranno completamente isolati dall'ambiente, per evitare che eventuali luci/riflessi/chissacosa possano in qualche modo ingannare il sensore. Una volta terminato il progetto, il supporto sarà realizzato mediante stampa 3D.

sciorty: Poi ci sono anche i classici [http://arduino.cc/en/Reference/StepperBipolarCircuit]ponti H[/url] che però richiedono un po' di collegamenti in più ma hai una libreria arduino pronta.

La URL indicata credo si sia un po' incasinata, riporto qui quella corretta:

http://arduino.cc/en/Reference/StepperBipolarCircuit

Non per inimicarsi chi con arduino ci mangia ma credo che un microcontrollore per quello che devi farci è superfluo... un normale motore dc che girando infila i cosi nel cilindro e un finecorsa che quando si raggiunge un certo livello taglia l' alimentazione al motore. Quando poi il cilindro si svuota il finecorsa se ne accorge e il motore riparte...

andrea86:
Non per inimicarsi chi con arduino ci mangia ma credo che un microcontrollore per quello che devi farci è superfluo

So farlo senza problemi con un motore DC e un finecorsa. Invece non so ancora farlo con Arduino. Quindi lo faccio con Arduino, così alla fine saprò qualcosa in più :smiley: