Bobinatrice con Z80 - picoelettronica

Electronic Control Systems
by picoelettronica




Logout
Vai ai contenuti

Bobinatrice con Z80

AUTOMAZIONE BOBINATRICE CON MICROELABORATORE SPQ-Z80





1 Descrizione generale

Viene analizzata nel seguito l’implementazione di un sistema di automazione per una bobinatrice. Un microelaboratore SPQ-Z80 utilizzando il segnale fornito da un microencoder angolare solidale con l’asse di rotazione del motore di avvolgimento  (vedi figura 1 ) genera gli impulsi di controllo per il motore a passo M2 che a sua volta controlla la guida del filo montata sulla madrevite.
Il programma di controllo è costituito da un modulo principale in Basic il cui compito è principalmente quello di effettuare il calcolo delle varie costanti numeriche utilizzate dai sottoprogrammi in Assembler. Al fine di sincronizzare la traslazione della madrevite azionata dal motore a passo M2 con la velocità di rotazione del motore M1, il programma Assembler genera una  frequenza di controllo (F2)  proporzionale ed “agganciata” a quella generata dall’encoder (F1), controllando anche l’inversione della direzione di traslazione al completamento di ogni strato, e l’arresto del motore di avvolgimento al raggiungimento del numero di spire desiderato. Le costanti utilizzate dal programma Assembler che dovranno essere calcolate dal programma Basic in base ai dati forniti dall’utente ed ai parametri fisici della macchina sono le seguenti :

K1, K2 = rispettivamente denominatore e numeratore della frazione F2/F1 ridotta ai minimi termini .

Is = numero di impulsi inviati al motore a passo necessari per completare la traslazione relativa ad ogni strato .

It = numero totale di impulsi inviati dall’encoder corrispondenti al numero di rotazioni del motore M1 per completare l’avvolgimento.

Nel seguito vengono analizzati da un punto di vista fisico i parametri di cui sopra allo scopo di stabilirne i limiti dei valori accettabili e le formule di calcolo da impiegare con il programma Basic.







1.0 Dati di progetto

  • Motore M1:    velocità   = V1 [giri/s]
  • Motore M2 :   velocità   = V2 [giri/s]   
  • Motore M2:    n° passi  = Pp [passi/giro]
  • Encoder E:      risoluzione    =   Ig [imp./giro]
  • Vite V:             passo   =   Pv [mm/giro]
  • Filo rame:       diametro     =   Df [mm]
  • Bobina:           lunghezza = Lb [mm]
  • Bobina:           numero spire totali = Ns


2.0 Limiti di funzionamento

Per limitare l'errore massimo di allineamento della madrevite-guidafilo al profilo dello strato della bobina in avvolgimento    occorre  che  la minima  traslazione  possibile della guida,  deltax, corrispondente ad un singolo passo del motore M2,  sia inferiore al diametro del filo più piccolo utilizzabile Dfmin. Questa condizione determina il limite superiore del passo della vite Pv, (ipotizzando trascurabile la forza resistente di attrito nei confronti della forza motrice di traslazione legata alla  coppia del motore a passo ).







  (1)

Il limite inferiore  del passo della vite Pv è determinato dalla massima velocità di traslazione della madrevite Vx richiesta , che è a sua volta legata alla velocità del motore di avvolgimento M1 e al  diametro del filo del maggior diametro utile Dfmax. D'altra parte la Vx è limitata dalla massima velocità di rotazione del motore passo-passo V2max;  traducendo in formule :

Vx = V1 Df ; (velocità di traslazione impressa da M1) (2)

Vx = V2 Pv ; (velocità di traslazione impressa da M2) (3)

eguagliando la (2) alla (3) si ottiene la condizione :

          V1 Df
Pv =  -------------   (4)  
            V2

utilizzando i valori massimi per il diametro del filo e per le velocità dei motori si ottiene il limite inferiore del passo della vite:

                    V1max Dfmax
Pvmin  >=  ------------------------    (5)
                         V2max

Il passo della vite deve quindi essere compreso tra i due limiti dati dalle (1) e (5).

Esempio 1 :

Dati i valori seguenti :

V1 = 50 [giri/s]; V2max = 2,5 [giri/s]; Dfmin = 0,1 [mm];
Dfmax = 0,5 [mm] Pp = 200 [passi/giro];

ricavare il campo di valori accettabili per Pv.

dalla (1) si ottiene :

Pvmax <= 0,1 X 200 = 20 [mm]

e dalla (5) si ricava :

                  50 X 0,5E-3
Pvmin >= --------------------  =  10 [mm]
                        2,5

In questo caso il passo della vite deve quindi avere un valore compreso tra 10 e 20 mm.


3.0 Algoritmo di controllo

La condizione di sincronismo tra la madrevite-guidafilo e la bobina in avvolgimento si realizza mediante Il circuito di controllo a microprocessore,che deve comandare il motore M2 con una frequenza F2 proporzionale alla frequenza F1 generata dall'encoder E. Il programma principale in Basic effettua i calcoli dei parametri di funzionamento utilizzati dalla routine in assembler per la generazione degli impulsi di comando.

F1 = V1 Ig ; (frequenza generata dall’encoder)     (6)
F2 = V2 Pp ; (frequenza inviata al motore a passo)   (7)

imponendo la condizione di sincronismo , cioè che la  velocità di traslazione  x impressa dal motore di avvolgimento sia uguale a quella impressa alla guida dal motore a passo e cioè uguagliando la (2) con la (3) si ottiene :

V1 Df = V2 Pv   (8)

          V1 Df
V2 = -------------    (9)
            Pv

esprimendo V1 ed V2 in funzione di F1 ed F2  mediante le (6), (7) si ricava :

         F2         Pp Df        
         ------  =   -------------     (10)
         F1         Ig Pv             

La (10) rappresenta l'equazione di sincronismo del sistema e deve essere calcolata numericamente dal modulo in Basic del programma di controllo, in modo da fornire al programma Assembler  le necessarie costanti intere.  Nella (10), le costanti Pp, Ig, Pv sono determinate a priori e dipendono dalle caratteristiche dei componenti elettromeccanici utilizzati, Df  è  introdotto dall'utente mentre la frequenza F1 è rilevata (interrupt) dall'encoder.
Esempio 3 :

Dati i seguenti valori numerici :

Pp = 200 [passi/giro], Df = 0,25 [mm], Ig = 5 [imp./giro], Pv = 6 [mm] :

calcolare il rapporto F2/F1 .

F2      200 X 0,25 E-3
----- = ------------------------ = 1,6 (periodico 6) ;
F1         5 X 6E -3

poichè come si è già osservato il programma assembler necessita di costanti intere, il rapporto F2/F1 deve essere espresso in forma frazionaria per ottenere le costanti K2 e K1. In questo caso è semplice ottenere :

                                 5
1,6(periodico 6) = ------
                                 3

si sono ottenute quindi le due costanti desiderate: K2 = 5 ; K1 = 3 ;

poichè le coppie di valori utili K1 e K2 sono in numero limitato (uguale al numero di diametri Df di filo utilizzati), è conveniente calcolarle tutte e memorizzarle in forma di tabella a programma.


3.1 Lunghezza bobina

Il programma deve generare degli impulsi di frequenza data dalla (10) , invertendo la direzione di traslazione al raggiungimento del bordo della bobina.Un  ulteriore dato introdotto dall’utente  è pertanto la lunghezza della bobina che determina il numero totale di impulsi Is per ogni strato dell’avvolgimento.Uguagliando la lunghezza della Bobina Lb alla traslazione della madrevite di passo Pv dovuta al numero di impulsi Is inviati al motore a passo si ottiene :

           Is
Lb =  --------- Pv ; ( con Is/Pp = numero di giri totali di M2)
          Pp

si ricava quindi per Is :

            Pp  
Is =    --------  Lb     (12)
           Pv

La  (12) fornisce il numero totale di impulsi per strato che la routine in assembler deve inviare al motore a passo M2, in funzione della lunghezza della bobina Lb, introdotta dall’utente all’inizio. Anche questa formula deve essere calcolata numericamente dal programma in Basic.


3.2  Numero totale di spire

Dato il numero totale di spire Ns ,  il corrispondente numero totale di impulsi It inviati dall’encoder è dato da :

It = Ns Ig (13)


3.3 Costanti K1, K2

Le costanti K1  e K2, utilizzate dal programma Assembler per calcolare la proporzione tra la frequenza  F2 impulsi di comando del motore M2 e quella di uscita dell’Encoder F1 devono essere calcolati numericamente effettuando il rapporto F2 / F1 ; ridotta ai minimi termini la frazione, si definisce K2 uguale al numeratore e K1 uguale al denominatore.

Esempio 4:

                                   F2
Ricavare il rapporto ------ per  i valori standard del diametro di filo di rame.
                                   F1


Df1 = 0,05 mm Df1 = 0,08 mm; Df2 = 0,1 mm Df3 = 0,12 mm
Df4 = 0,15 mm Df5 = 0,18 mm; Df6 = 0,2 mm Df7 = 0,224 mm
Df8 = 0,25 mm Df9 = 0,315 mm Df10 = 0,4 mm Df11= 0,5 mm
Df12= 0,56 mm Df13 = 0,71 mm Df14 = 0,8 mm Df15= 1,0 mm


riscrivendo la (10) , con Pp=200 passi/giro, Ig=5 impulsi/giro, e Pv = 6 mm , si ottiene :

F2       Pp Df
----- = -----------
F1        Ig Pv


F2a    200 X 0,05E-3              1
------ = -------------------------  =    -------- ;   K2 = 1 ; K1 = 3 ;
F1a         5X6E-3                     3


F2b                                         8
------ = 6666,7 X 0,08E-3 = -------;     K2 = 8 ; K1 = 15 ;
F1b                                        15


F2c                                        2
------ = 6666,7 X 0,1E-3 =  ------- ;   K2 = 2 ; K1 = 3 ;
F1c                                        3        


F2d                                        4
------ = 6666,7 X 0,12E-3 = ------ ;   K2 = 4 ; K1 = 5 ;
F1d                                        5


F2e
------ = 6666,7 X 0,15E-3 = 1 ;    K2 = 1 ; K1 = 1 ;
F1e


F2f                                         6
------ = 6666,7 X 0,18E-3 = ------ ;    K2= 6 ; K1 = 5 ;
F1f                                         5


F2g                                       4
------ = 6666,7 X 0,2E-3 =  ------- ;    K2 = 4 ; K1 = 3 ;
F1g                                       3


F2h                                          3
------ = 6666,7 X 0,224E-3 = ------ ;    K2 = 3 ; K1 = 2 ; (e=+0,45%)
F1h                                          2


F2i                                         5
------ = 6666,7 X 0,25E-3 = ------ ;    K2 = 5 ; K1 = 3 ;
F1i                                         3


F2l                                          21
------ = 6666,7 X 0,315E-3 = ----- ;    K2 = 21 ; K1 = 10 ;
F1l                                          10


F2m                                      8
------- = 6666,7 X 0,4E-3 = ------- ;    K2 = 8 ; K1 = 3 ;
F1m                                      3


F2n                                       10
------ = 6666,7 X 0,5E-3 =   ------- ;    K2 = 10 ; K1 = 3 ;
F1n                                        3


F2o                                       15
------ = 6666,7 X 0,56E-3 = ------- ;    K2 = 15 ; K1 = 4 ;
F1o                                        4


Esempio   5:

con Pp = 200 [ passi/giro ],    L = 40 [ mm ] ,    Pv = 6 [ mm/giro ]
Ig = 5 [ passi/giro] ,       Df = 0,3 [ mm ],    F1 = 250 Hz


            200 X 40E-3
Is =   -------------------------  =  1333,3 impulsi ;
               6E-3

A.1  Indirizzi costanti e variabili programma assembler versione 32 K

Indirizzo HEX
Peso cifra
K1denominatore di F2/F1
FC00H

K2numeratore di F2/F1FC01H
ISnumero totale impulsi/strato ingressoFC02HX1


FC03HX10


FC04HX100


FC05HX1000


FC06HX10000
ITnumero totale impulsi/bobina ingressoFC07HX1


FC08HX10


FC09HX100


FC0AHX1000


FC0BHX10000
nsnumero impulsi/strato uscitaFC0CHX1


FC0DHX10


FCOEHX100


FC0FHX1000


FC10HX10000


FC11Hflag
ngnumero impulsi/giro ingressoFC12HX1


FC13HX10


FC14HX100


FC15HX1000


FC16HX10000


FC17Hflag
ninumero impulsi di interruptFC18H
dmdirezione motoreFC19H
© ELCOSYS LTD 2021 - All rights reserved
Torna ai contenuti