logo xon
Tel: +39 011 901.66.10
Fax: +39 011 901.66.26
info@xonelectronics.it

english-flag  English language



Azienda
Prodotti
Servizi
Download
Supporto tecnico
     EZ-Red
           EZ-Red + motore stepper
     Ministep


Link utile:

Jooble |  Offerte di lavoro



Maggiori informazioni su:

EZ-Red pilota un motore passo-passo
Un esperimento nato per gioco illustra alcune caratteristiche di EZ-Red:

Informazioni commerciali:
commerciale@xonelectronics.it

Informazioni tecniche:
tecnico@xonelectronics.it

Webmaster:
web@xonelectronics.it

Ai sensi del provvedimento GU 126 del 3 giugno 2014, si comunica che questo sito utilizza esclusivamente cookie tecnici per i quali non è richiesta l'accettazione esplicita.


(C) XON Electronics
Vietata la duplicazione di testi e immagini da questo sito.

Foto

Per far girare un motore stepper occorrono potenza e forme d'onda precise... EZ-Red ha tutto quello che serve, perché non provare?

Così, per gioco, ho fatto alcuni collegamenti e ho scritto un breve ciclo PLC.

Attenzione però: si tratta un esperimento che non ha ALCUNA APPLICAZIONE PRATICA: i motori passo passo devono essere pilotati a corrente costante, ed EZ-Red non ha la circuiteria adatta.

Guarda il video dell'esperimento

Collegamenti

Un motore passo passo richiede normalmente che ogni bobina venga alimentata in modo normale e in modo "inverso". Dato che EZ-Red ha polarità fissa sulle uscite, ho scelto un motore unipolare che, per ogni avvolgimento, presenta 3 morsetti: usando quello centrale come comune, è possibile ottenere quanto richiesto (perdendo potenza, ma era solo un esperimento). Lo schema di collegamento è quindi il seguente:


La tensione di alimentazione e le resistenze vanno scelte in base al motore utilizzato; si può partire con 16 volt e 200 ohm / 2 watt, che sono valori conservativi.

Ciclo PLC

Il ciclo PLC è costruito intorno all'idea che la sequenza di tensioni da fornire al motore è del tipo: ...e la sequenza si ripete uguale. Dopo ogni nuova configurazione delle uscite occorre attendere un certo tempo: questo tempo determina la velocità di rotazione del motore. Il motore usato in questo caso ha 200 passi in un giro, per cui un tempo di 5 ms a passo (200 passi al secondo) fa compiere un giro al secondo. Espresso in linguaggio EZ-Red, un semplice task per far girare il motore sarebbe il seguente:
task2:
  ybyte=0b0001
  wait stpdelay
	; stpdelay è la variabile che contiene
	; il ritardo in ms

  ybyte=0b0100
  wait stpdelay

  ybyte=0b0010
  wait stpdelay

  ybyte=0b1000
  wait stpdelay
	

Per far girare il motore in senso contrario, basta eseguire al contrario la sequenza appena descritta. Se poi, dopo ogni passo, s'incrementa (o si decrementa) una variabile "posmot" che rappresenta la posizione del rotore, diventa possibile conoscere (e quindi controllare) completamente il motore. Il ciclo contiene quindi due task di rotazione (una oraria e una antioraria): avviando di volta in volta uno dei due task, e sorvegliando la posizione raggiunta, il motore è controllato in posizione. Intervenendo sulla variabile STPDELAY si varia anche la velocità. Il task principale si occupa di leggere la posizione del potenziometro e decidere se, e in quale verso, far girare il motore. La differenza tra la quota letta dal potenziometro e la posizione del motore è anche usata per decidere la velocità.

Il programma completo (e non completamente corretto) è questo:

define stpdelay dt1
define posmot dt5
stpdelay=5

task1:
  if posmot>260 then posmot=1
  if posmot>ain1 then
    if posmot-ain1 > 10 then stpdelay = 5 else stpdelay=20
    suspend 2
    wakeup 3
  end
  if posmot<ain1 then
    if ain1-posmot > 10 then stpdelay = 5 else stpdelay=20
    suspend 3
    wakeup 2
  end
  if posmot=ain1 then
    suspend 2
    suspend 3
    ybyte=0
  end

task2:
  ; outs: RRLL
  ybyte=0b0001
  posmot=posmot+1
  wait stpdelay

  ybyte=0b0100
  posmot=posmot+1
  wait stpdelay

  ybyte=0b0010
  posmot=posmot+1
  wait stpdelay

  ybyte=0b1000
  posmot=posmot+1
  wait stpdelay

task3:
  ; outs: RRLL
  ybyte=0b0001
  posmot=posmot-1
  wait stpdelay

  ybyte=0b1000
  posmot=posmot-1
  wait stpdelay

  ybyte=0b0010
  posmot=posmot-1
  wait stpdelay

  ybyte=0b0100
  posmot=posmot-1
  wait stpdelay

	

XON Electronics Srl - P.Iva I-02828930046 - PEC xonelectronics@pec.xonelectronics.it