Vai al contenuto
PLC Forum


S7 1200 stepper motor movimento tra due finecorsa con spostamento di 2mm ogni impulso su un ingresso


Alberto..

Messaggi consigliati

Ciao sto costruendo un avvolgitore di filamenti e ho bisogno che un motore passo passo si muova ogni impulso di 2 mm e quando incontra un finecorsa inverta il senso di rotazione , come devo fare?

se vi servono altre informazioni sul resto ditemelo 

Modificato: da Alberto..
Link al commento
Condividi su altri siti


Sto studiando automazione , le mie capacità di programmazione sui Plc sono medio basse  , conosco abbastanza bene i motori passo passo ma non gli o ho mai usati con i Plc, però ho visto qualche tutorial ma non trovo risposta alla mia domanda 

Link al commento
Condividi su altri siti

dina_supertramp

Ciao, sono Lorenzo.
Devo costruire una macchina che salda coperchi sui vasetti dello yogurt, cosa devo fare?
Se avete bisogno di info ditemelo.

Non mi pare un grande approccio iniziale, permettimi la critica, e prenditi la libertà di non accettarla.

Che tipo di hardware hai intenzione di usare? 
Che tipo di linguaggi di programmazione conosci?
E' lavoro o didattica?
Hai un budget?
Sai cos'è un PLC e come funziona?

 

Link al commento
Condividi su altri siti

2 ore fa, Alberto.. ha scritto:

ho bisogno che un motore passo passo si muova ogni impulso di 2 mm

 

in teoria la funzione è semplicissima.

 

Devi prima decidere quale motore usare e che rapporto avrai tra angolo del passo e spostamento lineare in mm.

Poi devi conoscere la freqeunza massima degli impulsi per decidere come rivelarli.

Poi ad ogni impulso riconosciuto il PLC dovrà generare tanti impulsi necessari a far compiere lo spostamento di 2mm

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

1 ora fa, dina_supertramp ha scritto:

Ciao, sono Lorenzo.
Devo costruire una macchina che salda coperchi sui vasetti dello yogurt, cosa devo fare?
Se avete bisogno di info ditemelo.

Non mi pare un grande approccio iniziale, permettimi la critica, e prenditi la libertà di non accettarla.

Che tipo di hardware hai intenzione di usare? 
Che tipo di linguaggi di programmazione conosci?
E' lavoro o didattica?
Hai un budget?
Sai cos'è un PLC e come funziona?

 

Ciao scusa è la prima volta che scrivo qui , ho una cpu 1214 dcdcdc che controlla il driver con 2 segnali step e dir , come ingressi ho 2 finecorsa e un sensore che dà un. Impulso ogni giro della bobina, il motore che devo muovere è quello che indirizzerà  poi il filamento sulla bobina per avere un avvolgimento il più omogeneo possibile , si muove tra i due finecorsa andando avanti e indietro e si sposta di 2mm ogni impulso sulla bobina, è un progetto personale che sto costruendo come passatempo , conosci abbastanza i Plc ma non sono molto bravo nella programmazione 

Link al commento
Condividi su altri siti

dina_supertramp
1 ora fa, Alberto.. ha scritto:

Ciao scusa è la prima volta che scrivo qui , ho una cpu 1214 dcdcdc che controlla il driver con 2 segnali step e dir , come ingressi ho 2 finecorsa e un sensore che dà un. Impulso ogni giro della bobina, il motore che devo muovere è quello che indirizzerà  poi il filamento sulla bobina per avere un avvolgimento il più omogeneo possibile , si muove tra i due finecorsa andando avanti e indietro e si sposta di 2mm ogni impulso sulla bobina, è un progetto personale che sto costruendo come passatempo , conosci abbastanza i Plc ma non sono molto bravo nella programmazione 

Ti direi di iniziare da qui, cosi hai un infarinatura sugli oggetti tecnologici dei PLC Siemens (molto comodi come nel tuo caso, per un approccio iniziale e didattico a funzioni "standard" nel mondo dell'automazione):

https://youtu.be/C7cG_L2EqiY

E' un video molto chiaro che ti spiega come configurare un oggetto tecnologico "Asse" al fine di comandare un motore stepper tramite driver a cui fornisci pulse & dir
Trovi moltri altri video su Youtube, come questo.

s71200_motion_control_function_manual_en-US_en-US.pdf - SIMATIC STEP 7 S7-1200 Mo... - ID: 109773400 - Industry Support Siemens

Qua invece trovi il manuale ufficiale di motion control per s7-1200, tra cui il controllo di stepper motor.

Credo che con questa accoppiata sarai autonomo, fatti un po' di scuola e facci sapere.

Inizia a comandare il motore avanti e indietro, senza controllare la posizione (come si suol dire: jog + & jog -)
Dopodichè inizia a comandare il motore avanti e indietro, controllando la posizione di modo che faccia i 2mm che ti servono

(come si suol dire: comando di posizionamento)
A questo punto poi possiamo ragionare la logica di automazione

 

Modificato: da dina_supertramp
Link al commento
Condividi su altri siti

ciao ho letto e guardato quello che mi avete mandato e ho capito molte cose, però il mio dubbio ora è come cambiare direzione al motore quando incontra uno dei finecorsa, io pensavo di usare 2 blocchi move relative uno con 2mm positivi e l altro negativi, e un blocco SR comandato dai finecorsa per selezionare quale dei blocchi usare se quello positivo o quello negativo, se avete idee migliori ditemelo, oppure se cè un modo di usare i finecorsa softwere sarebbe meglio (per difficoltà di montaggio dei finecorsa)

 

 

Modificato: da Alberto..
Link al commento
Condividi su altri siti

2 ore fa, Alberto.. ha scritto:

però il mio dubbio ora è come cambiare direzione al motore quando incontra uno dei finecorsa,

 

Quando impegni un fine corsa azzere la memoria che ti indica il senso dello spostamento e setti la memoria che indica il movimento nel senso inverso.

Il segnale che da il senso di marcia al drive dello stepper deve cambiare di stato in accordo con la memoria attiva.

2 ore fa, Alberto.. ha scritto:

oppure se cè un modo di usare i finecorsa softwere sarebbe meglio (per difficoltà di montaggio dei finecorsa)

 

Si è possibile, a patto di fare una taratura ad inizio delle operazioni di bobinatura.

 

Ti porti sull'inizio del rocchetto di avvolgimento ed azzeri il contatore che conta gli impulsi che mandi al drive dello stepper. Poi, con comando manuale "jog avanti" ti spsosti sino al termine del rocchetto e, tramite comando da pulsante, memorizzi la quota del contatore. Questa quota sarà il fine corsa di sx.

Dai il comando "ritorno a zero" ed al tuo drive il PLC manderà tanti impulsi sino ad azzerare il contatore, quindi il guidafilo sarà posizionato ad inizio avvolgimento.

Quando da il comando di marcia, il guidafilo si muoverà verso sx sino a quyando il contatore non avrà raggiunto il valore di quota memorizzato.

A questo punto il segnale di direzione cambia di stato ed il guidafilo inizia a muoversi in senso inverso sino a quando il contatore sarà arrivato a zero. Nuovo cambio di stato del segnale di direzione e si riparte di nuovo da dx a sx ed il contatore conta.

Ovviamente devi anche avere lo HSC configurato per avere un segnale che sceglie conteggio e deconteggio.

 

Se tieni conto, con apposito contatore, delle inversioni di senso di marcia, hai anche il conteggio degli strati.

Puoi anche memorizzare il numero degli strati totali da effettuare e decontare, così il conteggio zero ti in dica la fine dell'avvolgimento.

 

 

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

3 ore fa, Alberto.. ha scritto:

io pensavo di usare 2 blocchi move relative uno con 2mm positivi e l altro negativi

Non c'è bisogno di usare due blocchi MoveRelative diversi, basta che cambi la quota allo stesso blocco.
Non sono tanto convinto però che la strada migliore sia quella di far fare l'avanzamento di 2 mm ad ogni giro della bobina. Meglio sarebbe un movimento regolare, ad una velocità tale che si sposti di 2 mm ad ogni giro bobina.
Dipende anche dalla velocità. Quanti giri/minuto fa l'avvolgitore?
Solo se va piano puoi pensare di avviare un MoveRelative ad ogni giro bobina.


Per l'altra soluzione, in base alle prestazioni e alla precisione richiesta, potresti gestire lo spostamento semlicemente in velocità (con velocità del guidafilo proporzionale alla velocità di rotazione e alla distanza tra le spire), oppure fare qualcosa di più sofisticato, gestendo la rotazione come asse Master e lo spostamento come asse Sincrono, con la funzione GearIn.
Una volta che lo slave è agganciato al master, il master lo puoi muovere avanti, indietro, fermarlo, accelerare, rallentare, e lo slave segue ogni movimento. Con un limite: nel 1200 puoi agganciare lo slave solo al valore di set point del master, e non al valore reale.
Per l'inversione di marcia, dovresti dare un Execute a GearIn con i parametri per farlo muovere in direzione opposta.

 

Nel video del link di @dina_supertramp vedi come configurare un asse con uno stepper. Ricorda che, quasi sempre (o, almeno, in tutti quelli nei quali mi sono imbattuto io), nei drive degli stepper l'ingresso di abilitazione funziona al contrario: si deve tenere basso l'Enable per abilitare il drive. Occhio anche al tipo di segnali: spesso sono NPN 5 Volt.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...