Quale motore usare per un dispenser?

salve! purtroppo credo di aver sbagliato nella scelta dei componenti per realizzare un dispenser Devo realizzare una ruota di plastica divisa in scomparti da 8 e che quindi il motore me la faccia girare 45 gradi alla volta ,nel tempo di un secondo circa.Gli scomparti devono contenere cose molto leggere,biscottini piccoli Ho optato per un motore passo passo nemo 17,alimentato con una pila da 9 volt,ma sembra che dopo un po si è scaricata subito IO ho la necessità di far funzionare questo progetto all'aperto e quindi deve essere alimentato esclusivamente con pile

ne avevamo già parlato, lo stepper 28byj-48 presumo sia sufficiente per quello che vuoi fare in ogno caso butta via la pila da 9 volt e usa al suo posto 6 pile da 1,5 volt (durano di più) se poi prendi una lipo da 2 celle 2000-3000 mV ancora meglio, è ricaricabile e inquini di meno

mi avete consigliato il motore passo passo per via dei gradi o sbaglio? che mi serviva un motore che doveva compiere un giro di 45 gradi in un secondo lo stepper 28byj-48 va alimentato a 5 volt?quindi con 3/4 pile da 1,5? e per di piu io chedevo un motore che doveva compiere un giro completo,a 45 gradi alla volta

le 6 pile sul motore nami 17,durano di piu ,ma quanto di piu? dato che questa pila neanche una giornata di prove è durata ma la batteria lipo non costa tanto?

si appunto e mi ricordo che si era parlato appunto del passo passo (stepper) 28byj-48. Tutti i motori stepper possono fate infiniti giri a "X" step alla volta per cui conoscendo il numero di passi per fare 1 giro puoi fargli fare qualsiasi tra gli (quasi) infiniti angoli a disposizione (in effetti solo tra 0 e 360° per un giro solo) in questo caso si, questo va a 5V quindi 3 pile bastano Poi devi provare comunque con la demoltiplica che ha non dovresti avere problemi di sforzo visto l'applicazione

anzi, lo avevi proposto tu questo motore

https://www.ebay.it/itm/Motore-passo-passo-con-driver-ULN2003A-stepper-shield-arduino-pic-ART-CN02/261172401404?hash=item3ccf1694fc:g:gPgAAOSwdsFUPLlJ

e poi mi avevano detto che non riuscivo nell'intendo per fare compiere un giro di 45 gradi in un secondo ora mi trovo con un motore nemo 17 ,costoso e che non so cosa farmene,dato che dovrei utilizzarlo con una lipo e per di piu dovrei acquistare anche un caricabatterie :)

be ma se il cane riceve la ricompensa in 2 secondi invece che 1 si incazza molto? :D :D

per il principio del condizionamento,se fai bene qualcosa,io premo il pulsante,emette il beep e ti aspetti il premio ,un ritardo di due secondo non andrebbe bene

esempio

vedi se.deve attendete ,pensa che ha sbagliato e non è addestramento cosi reattivo,in un secondo va piu che bene :slight_smile:

a parte che basta che il beep duri 2 secondi e così diventa reattivo uguale (mi sembra roba da maniaci)

ad ogni modo con quel motore e questo sketch la rotazione di 45° la compie in 797 - 799 millesimi quindi dovrai ritardarla un attimo altrimenti il cane ti diventa iperreattivo :slight_smile:

/*
   Esempio CORRETTO di funzionamento di motore passo passo tipo 28BYJ-48
   comandato con sequenza di 4 passi
   Visualizza i 4 passi base poi esegue 1 giro in avanti e 1 giro indietro
*/
#include <Stepper.h>  // include la libreria necessaria

#define STEPS_PER_MOTOR_REVOLUTION 32        // passi per giro del motore interno   
#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64  // numero di passi per giro all'uscita 32 * 64 = 2048  

// creazione dell'oggetto mioStepper -- parametri richiesti:
// Numero di passi per giro del motore (interno)
// Pin connessi ad Arduino nel nostro caso 4,   5,   6,   7
// che sulla scheda corrispondono ai pin  In1, In2, In3, In4

// Attenzione!!!! nella dichiarazione i pin devono essere messi in sequenza 4, 6, 5, 7
Stepper mioStepper(STEPS_PER_MOTOR_REVOLUTION, 4, 6, 5, 7);

int  passiDaFare;                                  // passi da eseguire
unsigned long inizio;
unsigned long fine;

void setup() {                                     // setup vuoto, ci pensa la libreria a fare tutto
   Serial.begin(9600);
}

void loop() {
   inizio = millis();
   passiDaFare  =  STEPS_PER_OUTPUT_REVOLUTION / 8;   // rotazione oraria 1 giro
   mioStepper.setSpeed(600);                        // velocità 100 RPM
   mioStepper.step(passiDaFare);
   fine = millis();
   Serial.println(fine - inizio);
   delay(1000);
   inizio = millis();
   passiDaFare  =  - STEPS_PER_OUTPUT_REVOLUTION / 8; // rotazione antioraria 1 giro
   mioStepper.setSpeed(600);                        // velocità 700 RPM
   mioStepper.step(passiDaFare);
   fine = millis();
   Serial.println(fine - inizio);
   delay(2000);
}

non badare ai commenti erano per lo sketch originale questo lìho modificato al volo

a parte che per ora non ho il motore passo passo con il driver ULN2003A non so dove avevo letto ,in un datsheet,8 gradi in un secondo e da li che ho optato con il nema 17 pensando di fare cosa buona ma sai su ebay puo essere sostituito?

riguardo l'alimentazione di arduino+motore +driver.quindi basteranno 3 pile? e quanto mi dureranno? se in un giorno massimo 20/30 volte i motore girerà a step

Io ancora mi sto chiedendo il perche' dell'usare per forza un motore passo-passo, quando neppure quei "cosi" del video li usano (si capisce dal rumore che fanno che si tratta di semplici motori DC con riduttore ad ingranaggi, per giunta di pessima qualita' a giudicare dal casino che fanno gli ingranaggi :D) ...

Hai un disco che deve fare un'ottavo di giro al secondo, per cui puoi usare un banale motore con riduttore da 8RPM (che e' il valore commerciale piu vicino a quello che ti serve ... 8RPM = 8 giri completi in 60 secondi = 1 giro in 7.5 secondi = un ottavo di giro in 0.93 secondi circa ... leggermente meno di un secondo, ma non credo il cane protestera' se riceve la ricompensa 7 centesimi di secondo piu in fretta :P :D) ... sull'esterno del tuo piatto fai 8 tacche (o 8 fori, o 8 settori neri o riflettenti, o ci metti 8 viti o spine, dipende da quello che vuoi usare come micro), ed usi appunto un micro, oppure una forcella ottica, o a riflessione, come preferisci, per sentire quando il disco e' in posizione di "fermo" ... poi con l'elettronica non devi fare altro che attivare il motore quando ricevi l'impulso ed aspettare finche' il micro ti dice che e' arrivato al prossimo punto di "fermo" (cioe' ha fatto l'ottavo di giro richiesto) e lo fermi fino al prossimo impulso, e cosi via ... niente problemi a contare i passi, piu veloce del passo-passo, piu semplice da gestire, consuma di meno quindi piu durata delle batterie ... ;)

EDIT: e se non ci sono i 12V, il motore c'e' anche da 6V ;) ... 4 pile "torcia" alcaline, e vedi quanto durano :D

non ho capito i vari passaggi quindi cosa dovrei utilizzare vicino a quel motore ,un ingranaggio??

in che senso quando il motore è posizione di fermo

sarà piu facile da gestire ,ma io non ho capito

e poi il motore non è un 12 volt,quindi ci sarà sempre il problema di trasportabilità

Il motore c'e' anche a 6V, vedi secondo link.

Ha gia la sua scatola degli ingranaggi, lo alimenti con 6V e fa 8 giri al minuto, il che significa che si muove di un'ottavo di giro in poco meno di un secondo.

Posizione di fermo e' ovviamente dove deve rimanere fermo, gli 8 punti che corrispondono alle 8 sezioni del disco in posizione di "scarico" del materiale che contengono.

Per assurdo, una cosa del genere potrebbe funzionare persino senza alcuna gestione logica, basterebbe il ricevitore del telecomando che pilota un rele' ... volendolo fare senza logica, il micro scollega il motore quando viene premuto (cioe' quando uno degli 8 fermi che dovrai mettere sul disco nelle posizioni di stop lo preme), e basterebbe che il ricevitore del telecomando chiudesse un rele' in parallelo al micro per 200 o 300 millisecondi (azionando contemporaneamente il beep), e mi sa che quei cosi commerciali funzionano proprio cosi, senza alcuna gestione logica ... farlo con arduino diventa a questo punto una questione di studio, piu che di necessita' ...

Emmaquesta ci vuole Ma devi pensare che con un passo passo se la cava con due tre righe di codice Eqquando c'è vuo' c'è vuo' ......

infatti meglio il passo passo,che andare al manicomio :) :) volevo chiedervi solo qualche aiuto riguardo a come alimentare il tutto :Arduino+motorino+driver

sempre con la pila da 9 volt

la pila da 9 volt buttala via! la carica (gli ampere) è bassa e finisce subito usa pile da 1,5V e mettine a sufficienza per alimentare quello che richiede il voltaggio maggiore se usi le mezze torce o le torce ancora meglio (come ti ha suggerito etememanki)

Naturlamente il mio post di prima non era rivolto al metademone credo, mi si conceda, a questo punto di esprimermi, credo, dicevo, che questo progetto sia un po' nato male La richiesta "cogente" di essere alimentato a batteria è saltata fuori per ultima, ri-mettendo in discussione un bel po' di cose un minimo di ricerca avrebbe mostrato questo https://create.arduino.cc/projecthub/circuito-io-team/iot-pet-feeder-10a4f3 che mi sembra una bella cosa, con una autonomia in erogazioni ben superrtiore alle 7 (essi' 7, la posizione 0 è la posizione di erogazione, non caricabile) che si sta ottenendo con gradi sforzi per muovere un disco a "balzi" non è che serva sempre un motore passo passo, che non è nemmeno facile da programmare come si dice, non serve nemmeno un motore Quando si pensa, sempre partire dalle specifiche, che purtroppo abbiamo "adesso", non prima massimo 7 erogazioni di fila, molto veloci, circa 20 erogazioni al giorno OK, non serve un motore, ne servo ne stepper ne da giradischi basta una molla con uno scappamento, una semplice elettrocalamita da serratura ogni 7 (non ogni 200, solo 7) erogazioni si va a rimettere i premi e si "riporta" indietro il disco, spinto da una molla e tenuto fermo da un "cricco" su una elettroserratura, scatta la elettroserratura il disco fa uno scatto, il cricco successivo lo ferma a posizione raggiunta non serve nemmeno la molla, volendo, si mette un peso con una carrucola che tira il disco e nemmeno l'eletroserratura, si fa il fermo con un mezzo disco ruotato da un motore (OK, OK avevo detto no motore, ma o l'uno a l'altra) sotto al peso che tira si mette un bel campanello da albergo, quelli belli dei film americani degli anni 40) e quando è il momento di ricaricare si semte un bel "Ting" volendo si mettono anche 7 campanelli sulla corsa del peso, così l'allegro rumore viene generato naturalmente e automaticcamente senza dover impegnare l'arduino Soluzioni ci sono e si trovano, ma le prescrizioni vanno dette prima.............

ok ma ora ora gia optato per il motore/driver ULN2003A,sicuramente vorrei sperimentare altre alternative e trovare la miglior soluzione diciamo che quest'ultimo come dispenser a livello meccanico di distribuzione è migliore solo sotto il punto di vista della portate del cibo,ma sparare tante crocchette/biscotti non va bene,il mio progetto deve prevedere la fuori uscita di un solo premio cibo come questo che è un motore passo passo ,questo è il progetto

e ha il solo vantaggio di distribuire meglio un solo premio alla volta,ma allo svantaggio che ogni 7 step,devi inserire il cibo.Diciamo che non è un problema cosi grosso,dato che gli esercizi di addestramento prevedono anche delle pause magari piu avanti bisogna diversificare la distribuzione che dal contenitore pieno deve distribuire un singolo bocconcino

Ritornando al motore passo passo va alimentato a 5 volt, quindi le 4 pile torcia,con un totale di 6 volt.dovranno alimentare anche arduino?

:D

questo è un chiaro disincentivo all'utilizzo di Arduino verrai redarguito ipubblicamente come antiarduinoforumista ! :D

detto questo avete pienamente ragione sia tu che etemenanki, e comunque essendo gia l'op di un nema pagato caro assai .... accattate na pila seria e usala....