>

Winding machine with Z80 - Elcosys

Electronic Control Systems
Go to content

Winding machine with Z80

AUTOMATION WINDING MACHINE WITH MICRO-PROCESSOR SPQ-Z80





1 General description

The implementation of an automation system for a winding machine is analyzed below. An SPQ-Z80 microprocessor, using the signal provided by an angular microencoder integral with the rotation axis of the winding motor (see figure 1), generates the control pulses for the stepper motor M2 which in turn controls the wire guide mounted on the nut.
The control program consists of a main module in Basic whose task is mainly to perform the calculation of the various numerical constants used by the subroutines in Assembler. In order to synchronize the translation of the nut screw operated by the stepper motor M2 with the rotation speed of the motor M1, the Assembler program generates a control frequency (F2) proportional and "linked" to that generated by the encoder (F1), controlling also the inversion of the direction of translation upon completion of each layer, and the stopping of the winding motor upon reaching the desired number of turns. The constants used by the Assembler program that must be calculated by the Basic program based on the data provided by the user and the physical parameters of the machine are the following:

K1, K2 = respectively denominator and numerator of the fraction F2 / F1 reduced to the minimum terms.

Is = number of pulses sent to the stepping motor necessary to complete the translation relative to each layer.

It = total number of pulses sent by the encoder corresponding to the number of rotations of the M1 motor to complete the winding.

In the following, the above parameters are analyzed from a physical point of view in order to establish the limits of the acceptable values ​​and the calculation formulas to be used with the Basic program.







1.0 Project data

  • Motor M1: speed = V1 [rpm]
  • M2 motor: speed = V2 [rpm]
  • Motor M2: n ° steps = Pp [steps / revolution]
  • Encoder E: resolution = Ig [imp./giro]
  • Screw V: pitch = Pv [mm / rev]
  • Copper wire: diameter = Df [mm]
  • Coil: length = Lb [mm]
  • Coil: total number of turns = Ns


2.0 Limits of operation

To limit the maximum alignment error of the lead screw-wire guide to the profile of the layer of the coil being wound, the minimum possible translation of the guide, deltax, corresponding to a single pitch of the M2 motor, must be less than the diameter of the smallest usable wire Dfmin . This condition determines the upper limit of the pitch of the screw Pv, (assuming that the resisting friction force in relation to the driving force of translation linked to the torque of the stepping motor is negligible).







  (1)

The lower limit of the pitch of the screw Pv is determined by the maximum translation speed of the lead screw Vx required, which in turn is linked to the speed of the winding motor M1 and to the diameter of the wire with the largest useful diameter Dfmax. On the other hand, Vx is limited by the maximum rotation speed of the stepper motor V2max; translating into formulas:

Vx = V1 Df; (travel speed impressed by M1) (2)

Vx = V2 Pv; (travel speed impressed by M2) (3)

equating (2) to (3) we obtain the condition:

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

using the maximum values for the wire diameter and for the motor speeds, the lower limit of the screw pitch is obtained:

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

The screw pitch must therefore be included between the two limits given by (1) and (5).

Example 1:

Given the following values:

V1 = 50 [rev / s]; V2max = 2.5 [rev / s]; Dfmin = 0.1 [mm];
Dfmax = 0.5 [mm] Pp = 200 [steps / revolution];

derive the range of acceptable values for Pv.

from (1) we obtain:

Pvmax <= 0.1 X 200 = 20 [mm]

and from (5) we get:

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

In this case, the pitch of the screw must therefore have a value between 10 and 20 mm.

3.0 Control algorithm

The condition of synchronism between the lead screw-wire guide and the coil being wound is achieved by means of the microprocessor control circuit, which must control the motor M2 with a frequency F2 proportional to the frequency F1 generated by the encoder E. The main program in Basic carries out the calculations of the operating parameters used by the assembler routine to generate the command pulses.

F1 = V1 Ig; (frequency generated by the encoder) (6)
F2 = V2 Pp; (frequency sent to the stepping motor) (7)

by imposing the condition of synchronism, that is that the translation speed x impressed by the winding motor is equal to that impressed on the guide by the step motor and that is by equating (2) with (3) we obtain:

V1 Df = V2 Pv   (8)

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

expressing V1 and V2 as a function of F1 and F2 by means of (6), (7) we obtain:

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

The (10) represents the system synchronism equation and must be calculated numerically by the Basic module of the control program, in order to provide the Assembler program with the necessary integer constants. In (10), the constants Pp, Ig, Pv are determined a priori and depend on the characteristics of the electromechanical components used, Df is introduced by the user while the frequency F1 is detected (interrupt) by the encoder.

Example 3:

Given the following numerical values:

Pp = 200 [steps / rev], Df = 0.25 [mm], Ig = 5 [imp./ revolution], Pv = 6 [mm]:

calculate the ratio F2 / F1.

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

since, as we have already observed, the assembler program requires integer constants, the ratio F2 / F1 must be expressed in fractional form to obtain the constants K2 and K1. In this case it is easy to get:

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

the two desired constants have therefore been obtained: K2 = 5; K1 = 3;

since the pairs of useful values K1 and K2 are limited in number (equal to the number of wire diameters Df used), it is convenient to calculate them all and store them in the form of a program table.

3.1 Reel length

The program must generate pulses with a frequency given by (10), inverting the direction of translation when reaching the edge of the coil.A further data entered by the user is therefore the length of the coil which determines the total number of Is pulses for each layer By equating the length of the coil Lb to the translation of the lead screw Pv due to the number of pulses Is sent to the stepping motor, we obtain:

           Is
Lb =  --------- Pv ; ( with Is / Pp = total number of M2 revolutions)
          Pp

therefore we obtain for Is:

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

The (12) provides the total number of pulses per layer that the assembler routine must send to the stepping motor M2, as a function of the length of the coil Lb, introduced by the user at the beginning. This formula must also be calculated numerically by the Basic program.

3.2 Total number of turns

Given the total number of turns Ns, the corresponding total number of It pulses sent by the encoder is given by:

It = Ns Ig (13)


3.3 Constants K1, K2

The constants K1 and K2, used by the Assembler program to calculate the proportion between the frequency F2 command pulses of the M2 motor and that of the encoder F1 output must be calculated numerically by making the ratio F2 / F1; reduced to a minimum the fraction, we define K2 equal to the numerator and K1 equal to the denominator.

Example 4:

                                  F2
Obtain the ratio ------ for the standard values ​​of the copper wire diameter.
                                  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.56mm Df13 = 0.71mm Df14 = 0.8mm Df15 = 1.0mm


rewriting (10), with Pp = 200 steps / revolution, Ig = 5 pulses / revolution, and Pv = 6 mm, we obtain:

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


Example 5:

with Pp = 200 [steps / rev], L = 40 [mm], Pv = 6 [mm / rev]
Ig = 5 [steps / revolution], Df = 0.3 [mm], F1 = 250 Hz

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



Indirizzo HEX
Peso cifra
K1
denominator of F2 / F1
FC00H

K2
numerator of F2 / F1
FC01H
IS
total number of pulses / input layer
FC02HX1


FC03HX10


FC04HX100


FC05HX1000


FC06HX10000
IT
total number of pulses / input coil
FC07HX1


FC08HX10


FC09HX100


FC0AHX1000


FC0BHX10000
ns
number of pulses / output layer
FC0CHX1


FC0DHX10


FCOEHX100


FC0FHX1000


FC10HX10000


FC11Hflag
ng
number of input impulses / revolution
FC12HX1


FC13HX10


FC14HX100


FC15HX1000


FC16HX10000


FC17Hflag
ni
number of interrupt pulses
FC18H
dm
motor direction
FC19H
© ELCOSYS LTD 2021 - All rights reserved
Back to content