MECCANICA e DINTORNI

COSTRUIAMO LE NOSTRE CNC DIVERTENDOCI CON L'AIUTO DI TANTI PROFESSIONISTI ESPERTI
Oggi è sab apr 27, 2024 19:59

Tutti gli orari sono UTC +1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 10 messaggi ] 
Autore Messaggio
 Oggetto del messaggio: ARDUINO STEPPER ENCODER ROTATIVO
MessaggioInviato: ven mar 04, 2022 17:57 
Non connesso
FINALMENTE USO IL TORNIO

Iscritto il: lun ago 31, 2009 21:10
Messaggi: 400
Località: imola
Ciao a tutti,
rieccomi qua, dopo aver accantonato questo circuito ( viewtopic.php?f=16&t=30055 ) e aver bruciato arduino uno , ricomincio da capo.....

Ho acquistato un nuovo arduino mega e ho replicato questo con successo:

https://www.brainy-bits.com/post/nema-s ... ry-encoder

unica differenza che il mio driver è un A4988, ma tutto funziona.
In pratica questo circuito cosa fà:
Ruoto l'encoder e lo stepper si muove di conseguenza(instantaneamente) e quando premo il pulsante dell'encoder lo stepper si azzera

Ora quello che vorrei fare è (senza bruciare tutto di nuovo...) implementare una funzione che mi permetta di memorizzare più posizioni e poi di fare ripetere la routine.

Provo a spiegarmi meglio:
1# giro encoder (e quindi anche lo stepper si muove) premo il pulsante 1 e memorizzo
2# ripeto più volte il punto 1# e memorizzo tutte le posizioni in sequenza
3# premo il pulsante 2 e le posizioni memorizzate vengono ripetute in sequenza all'infinito...

Tutto questo dovrebbe essere possibile farlo, ma io non sono in grado da solo sia nello scketch che nei cablaggi,
quindi sono a chiedervi un aiuto a chi è più esperto.

ho visto farlo con potenziometri e servo ma a me serve farlo con stepper nema 17 , driver a4988 ed encoder rotativo ky-040.
(per ora un motore solo e se funziona si aggiungono motori)

Ho provato da solo ma ho troppa confusione ,si trova troppa roba tutta simile ma diversa e cosi faccio solo casini....
Vorrei invece piano piano padroneggiare un po il mezzo e con l'aiuto di qualcuno che mi spieghi in Italiano (e non solo dei video in Inglese....)

Grazie a chi mi prenderà per mano e mi aiuterà.

_________________
La meccanica non è la moglie del meccanico !!!!!!!
http://www.querciatomas.altervista.org/


Top
 Profilo  
 
 Oggetto del messaggio: Re: ARDUINO STEPPER ENCODER ROTATIVO
MessaggioInviato: ven mar 04, 2022 18:16 
Non connesso
TORNITORE E FRESATORE

Iscritto il: lun set 29, 2008 23:19
Messaggi: 1774
Località: Cologno Monzese
L'ho trovato molto interessante, soprattutto per chi è alle prime armi : https://amzn.to/3MmvLja
almeno ti chiarisci un pochino le idee, e soprattutto no bruci più schede.
Poi se qualcosa non ti è chiaro lo approfondiamo.

my 2 cents

_________________
Ù.


Top
 Profilo  
 
 Oggetto del messaggio: Re: ARDUINO STEPPER ENCODER ROTATIVO
MessaggioInviato: ven mar 04, 2022 18:19 
Connesso
TORNITORE E FRESATORE

Iscritto il: lun mar 09, 2009 23:14
Messaggi: 5632
Località: Frejus-Milano
per approfondire inglese o ciccia cé´un mondo ce ne vuole prima di far 2 cose

intanto ti consiglio questa libreria AccelStepper.h
come pilta gli stepper quell´esempio non va bene per 1000 motivi, ínoltre ti semplfica non poco il lavoro

pèrche´il mega? basterebbe il nano!

_________________
Gioco con macchine e moto di modellismo e non da 1,5cc agli 8000cc
The less You Tube the more You Read !
The more You Read the more You Learn !


Top
 Profilo  
 
 Oggetto del messaggio: Re: ARDUINO STEPPER ENCODER ROTATIVO
MessaggioInviato: ven mar 04, 2022 18:42 
Non connesso
FINALMENTE USO IL TORNIO

Iscritto il: lun ago 31, 2009 21:10
Messaggi: 400
Località: imola
umbez ti ringrazio per l'interesse
come si è capito non sono molto ferrato in questa materia..(di mestiere faccio il progettista meccanico).

Il fatto è che ho provato con dei libri e finchè devo copiare e replicare nessun problema ma se devo fare una cosa diversa come quella che vorrei fare io vado in difficoltà.....

Faccio proprio fatica a capire come inserire una modifica nello scketch e il relativo cablaggio.

Ho visto dei video dove fanno vedere con potenziometri e servo ma non sono riuscito a capire come trasformarlo in quello che voglio io.
comunque grazie.

_________________
La meccanica non è la moglie del meccanico !!!!!!!
http://www.querciatomas.altervista.org/


Top
 Profilo  
 
 Oggetto del messaggio: Re: ARDUINO STEPPER ENCODER ROTATIVO
MessaggioInviato: ven mar 04, 2022 18:54 
Non connesso
FINALMENTE USO IL TORNIO

Iscritto il: lun ago 31, 2009 21:10
Messaggi: 400
Località: imola
lelef scusa perchè dici che non va bene controllato così?
A me pare che vada una favola.... lo stepper è silenzioso, ha della forza e si muove con buona precisione.

Stepper h l'ho vista usare con motori unipolari per esempio 28byj-48.
Mi puoi spiegare la differenza ?

Potresti postare lo scketch che faccia le stesse cose del mio ma con la libreria stepper h , così posso vedere e provare con mano le differenze ?

E' cosi complicato fare quello che vorrei fare io?
Magari faccio domande stupide , ma come vedi questo è quello che so e che riesco a fare.

grazie
Saluti.

_________________
La meccanica non è la moglie del meccanico !!!!!!!
http://www.querciatomas.altervista.org/


Top
 Profilo  
 
 Oggetto del messaggio: Re: ARDUINO STEPPER ENCODER ROTATIVO
MessaggioInviato: ven mar 04, 2022 22:44 
Non connesso
TORNITORE E FRESATORE

Iscritto il: lun set 29, 2008 23:19
Messaggi: 1774
Località: Cologno Monzese
tomas, se ti ho consigliato un libro che ho letto è perchè lo ritengo adatto ad un principiante. Che tu abbia tentato con altre strade senza successo è un'altra cosa, dal mio punto di vista una persona alle prime armi ha bisogno di un discorso, con un filo logico che si sviluppa nel tempo step by step. Io amo ancora, al tempo di youtube, il formato standard A4, soprattutto per le nozioni tecniche. Comunque se non c'erano questi presupposti in quel libro, non te l'avrei proposto.
Passiamo alla risposta alla tua prima domanda, è difficile realizzarlo ? Per me no, ma mi è utile? a me no, probabilmente a te si (quindi vedi sopra). Lo realizzo? io no, ma se tu hai difficoltà e ti blocchi ti aiuto nelle mie possibilità (tieni conto che io per professione non sviluppo sulle schede a microcontrollore, quindi il mio tasso di ignoranza è alto, e di esperienza è basso).
Passiamo alla seconda domanda. Ti faccio un riassunto traduzione poi ti inserisco un link della fonte :
A differenza di un motore in CC dove per variare la velocità tu vari la tensione, uno stepper si comporta in modo diverso. Il motore stepper è progettato per lavorare sulla posizione, quindi all'interno ci sono tanti avvolgimenti, che a seconda di alcune sequenze di accensione muovono il rotore. Che succede quando vari solo la tensione? stai variando la velocità con cui la corrente passa negli avvolgimenti, ma non la velocità del motore. Per variare la velocità devi variare la velocità con cui selezioni gli avvolgimenti per far muovere il rotore (foto 1). Capito questo sai anche che tu stai pilotando il motore tramite l'a4988, quindi in soldoni si traduce nella generazione di un'onda quadra con frequenza variabile, più è alta la frequenza, più il rotore girerà veloce. Possiamo quindi assumere che uno stepper non ha bisogno di accelerazione? La verità è che ne ha bisogno, basta vedere il grafico in fig. 2 e fare attenzione al parametro fs (frequenza di start), se fai partire il motore con una fs maggiore di 300 (in questo caso) il motore stalla e non parte, stesso discorso quando deve fermarsi, devi decelerarlo altrimenti inserisci un certo quantitativo di inerzia che ti porta ad una probabile rotazione non desiderata. Questo è quello che fa accelStepper (o tenta di fare), muovere il motore con accelerazione e decelerazione. Scusami in anticipo se sono stato contorto, o poco chiaro!
Ciao!

fonte : https://bit.ly/3hCJBQj


Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

_________________
Ù.


Top
 Profilo  
 
 Oggetto del messaggio: Re: ARDUINO STEPPER ENCODER ROTATIVO
MessaggioInviato: ven mar 04, 2022 23:53 
Non connesso
FINALMENTE USO IL TORNIO

Iscritto il: lun ago 31, 2009 21:10
Messaggi: 400
Località: imola
Umbez, grazie per la spiegazione di cosa fa la libreria accel stepper.
Per quello che ho capito io nel mio sketch non sono usate librerie, e probabilmente funziona bene perché lo sto usando a vuoto senza alcun carico.
Quindi penso che se il motore fosse collegato meccanicamente a qualcosa che ne facesse aumentare le inerzie, probabilmente riscontrerei dei problemi.

Se hai tempo e voglia di provare ad aggiungere un pezzetto di sketch per fare quello che voglio io sono tutto orecchie anche perché penso che se una persona che lo sa fare cerca di farlo imparare a chi non lo sa, chi non lo sa riesce ad imparare e a capire.
Scusa la frase contorta…..

Leggendo, cercando e provando di capire, penso di aver intuito che serve creare una cosa che chiamano :
Interrput.
Però non saprei proprio come fare ad infilarlo nello sketch con l’encoder e lo stepper.

_________________
La meccanica non è la moglie del meccanico !!!!!!!
http://www.querciatomas.altervista.org/


Top
 Profilo  
 
 Oggetto del messaggio: Re: ARDUINO STEPPER ENCODER ROTATIVO
MessaggioInviato: sab mar 05, 2022 11:18 
Non connesso
FINALMENTE USO IL TORNIO

Iscritto il: lun ago 31, 2009 21:10
Messaggi: 400
Località: imola
Questo potrebbe fare al caso mio ?
Come dovrei modificare?
Devo fare collegamenti diversi?

int encoderPin1 = 2;
int encoderPin2 = 3;

volatile int lastEncoded = 0;
volatile long encoderValue = 0;

long lastencoderValue = 0;

int lastMSB = 0;
int lastLSB = 0;

void setup() {
Serial.begin (9600);

pinMode(encoderPin1, INPUT_PULLUP);
pinMode(encoderPin2, INPUT_PULLUP);

attachInterrupt(0, updateEncoder, CHANGE);
attachInterrupt(1, updateEncoder, CHANGE);

}

void loop(){
Serial.println(encoderValue);
}

void updateEncoder(){
int MSB = digitalRead(encoderPin1); //MSB = most significant bit
int LSB = digitalRead(encoderPin2); //LSB = least significant bit

int encoded = (MSB << 1) |LSB; //converting the 2 pin value to single number
int sum = (lastEncoded << 2) | encoded; //adding it to the previous encoded value

if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011) encoderValue ++;
if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000) encoderValue --;

lastEncoded = encoded; //store this value for next time
}/code]

_________________
La meccanica non è la moglie del meccanico !!!!!!!
http://www.querciatomas.altervista.org/


Top
 Profilo  
 
 Oggetto del messaggio: Re: ARDUINO STEPPER ENCODER ROTATIVO
MessaggioInviato: dom mar 06, 2022 21:31 
Non connesso
TORNITORE E FRESATORE

Iscritto il: ven nov 21, 2008 14:34
Messaggi: 1343
Località: Roma
Ciao Tomas,
stavo vedendo il codice del tuo primo link.....a occhio dovresti memorizzarti in un array la posizione dello stepper (StepperPosition nel codice) e poi realizzarti delle funzioni che ti effettui la lettura dell'array in maniera da ripetere ogni posizione segnata.

_________________
-->I MIEI VIDEO<--


Top
 Profilo  
 
 Oggetto del messaggio: Re: ARDUINO STEPPER ENCODER ROTATIVO
MessaggioInviato: lun mar 07, 2022 09:52 
Non connesso
FINALMENTE USO IL TORNIO

Iscritto il: lun ago 31, 2009 21:10
Messaggi: 400
Località: imola
Grazie sbinf , purtroppo è difficile per me fare una cosa del genere partendo da zero.
Se avessi il programma completo per un motore dopo forse riuscirei a moltiiplicarlo per gli altri.
Non essendo la mia materia vado in difficoltà con le cose più semplici.
Quando seguo un video o altro, quello che per chi spiega può essere banale per me magari non lo è e quindi ci si incasina.
In più per quello che ho visto io la stessa cosa là si può fare in molti modi diversi e questo confonde ancora di più….
Sto cercando dappertutto un pezzo di codice che faccia quello che voglio io per poter avere almeno una base di partenza.

Fino ad ora ho solo trovato con servo e potenziometri e per quello che ci capisco io non ci azzecca niente.
Pertanto non mi resta che provare a cercare e se trovo qualcosa sperimentare sperando di non bruciare tutto.

_________________
La meccanica non è la moglie del meccanico !!!!!!!
http://www.querciatomas.altervista.org/


Top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 10 messaggi ] 

Tutti gli orari sono UTC +1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBB.it