Profi2M_Expert CNC Controller Motor Tuning
(with fine tuning)

Modified on: 2008. szeptember 23. kedd

The usage of the following publishged information is no precondition of the operation of Profi2ME Controller. The Controller has an easy Setup (with preadjusted parameters and Jumpers need to be adjusted to the motor current), but if the knowlidge of the processes is important and the most availbale performance is aimed, it is worth getting acquainted with the system, trying and testing each possiblity.

Theory and limits:
Profi2ME CNC Stepping Motor Controller has a current regulation based upon Chopper principle, which uses a PWM generator running at 20 kHz. The current limiting electronic tunes the duty cycle of PWM (there are 2 independent Chopper circuits for each motor). The kipping point of the Chopper circuits is determined by the assistant DSP through a reference voltage generator, as the function of the current, the phase position and of the time. At the end of the process the regulation is performed for (a constant) motor performance. In this way as long as the Controller is able to get the necessary voltage from the power supplyp voltag the performance of the motor and its torque is constant.
The torque provided by the motor is proportional to the consumed electric performance, therefore constant and stable power consumption must be aimed. If the consumed power decreases, then the torque of the motor willdecrease too, if the power consumption increases, then the motor will overheat as the time goes (it can burn down).

The reason for the torque fall is the inductivity of coils of the motor. Thze additioonal electric resistance made by the inductivity (which reduces the current cunsumption and the power consumption too) depends on the frequency and so on the speed. The greater speed (stepping number) a stepping motor is driven at,mmal), the higher voltage it will need (to produce the same torque). Therefore the voltage switched onto the motor must be continually increased if constant torque is aimed.

This increasement is done gradually and in a stabilised way by the controller. It is able to provide stabilisation until the voltage demanded by the motor agrees with voltage switched onto the motor. If the speed is further increased again, then the controller is no longer able to hold the motor power on a stabilised level, and the torque begins to fall. This point is the kipping point of the controller.
Under the kipping point (at slower mspped values) the Controller operates in Chopper mode (with stabilised torque values), above that it works in DC mode (with continually decreasing torque values).


(the power supply voltage demand of the motor as the function of the speed)

The possible biggest Chopper range must be aimed, as the motor torque can be held on maximum level only in this ramge.


(torque curve)

Stepping motors can be used in the DC range too, but here thier torque will quickly fall at increasing speed.
The Chopper range can be extended only by continually increasing the voltage dwitched onto the motor (power supply voltage). However in case of a standing motor (at 0 speed) the Controller must be abée to regulate the current at the low resistance (a few Ohms) of the motor.
The fact that how wide of a rtange a contgroller is capable to control is featured by the so-called tuning factor. The tuning factor shows how much voltage a controller is able to control for a given motor. If a voltage greater than this value is switched onto the motor, then it will not be able to reegulate down this, and the motor will overheat. Profi2ME Controller operates with a tuning factor of about maximum 25-fold.

Determining the power supply voltage of the motor:

Calculation of the voltage:
The tuning factor is a multiplication factor depending on the inductivity of the motor. The bigger is the inductivity of the motor, the lower is its tunung factor.
The Controller switches on and off the coils of the motor with a high frequency, so that the current could be held on its nominal level. These switch-ons and switch-offs generate very high inductive voltage pulses. The FETs of the power stage are protected by their built-in supressor diodes (they lead away these inductive voltages). This produces large quantity of heat. The bigger is the inductivity of the motor, the higher is the heat production because of the inductive voltage pulses (and warming-up)! This warming-up heat the heatsink of the Controller, therefore the lower is the inductivity of a motor, the higher of the tuning ratio (tuning) it will endure. The tuning factor is the quotient of the power supply voltage of the motor and the base voltage of the motor (T=Upower supply / Umotor ). The use of motors with low inductivities must be aimed, or the situation can be improved ( e. g. in case of 8-wire motors) if paralell connection of the coils is possible (the resultant inductivity will be lower).

As there is no data available about the inductivity of a motor in many cases and there is no possibility to measure it, the internal inductivity of the motor can be concluded from the Ohmic resistance of the motor, (it is not a perfect method, but it can be used if there is no other available). As a rule of thumb it can be clonculed that the higher is the Ohmic resistance of a coil, the higher can be its inductivity (high Ohmic resistance = thin wire and many windings -> higher inductivity).

The following table shows the practical function between the base voltage of a motor and its maximum suggested power supply voltage:

Base voltage of the motor:
(voltage indicated on it)
recommended motor power supply voltage:
(max. tuning voltage)
1V 20V
2V 40V
3V 45V
4V 45V
5V 45V
6V 45V
8V 45V
9V 45V
10V 45V
11V 50V
12V 50V
etc. ...

Attention! 50V must not be exceeded! Take care of the possible voltage overrun of the unloaded power supplies.

An example:


The base voltage of the motor is 4V, and its nominal current is 5A.

As the base voltage of the motor is 4V, the applicable tuning voltage is maximum ~45V. Therefore a power supply with 45 V would be the most suitable. Here a transformer with 32V can be applied (with rectification and strong filtering, - at least 1000uF/A) as its unloaded voltage can be as high as 45V.

Of course the maximum allowed 50 V must be exceeded.

The nominal current of the motor is 5A. Setup 1.4× motor RMS (7A), in the case of P2ME, this must be adjusted on the jumper line (Current, see in the description of description) which is connected to (on the card A, B, C or D). It is not sensitive to the adjustment, the nearest value should be selected (see the current-table).


(Current Jumper-line)

Designing the current load:
When the current load of the power supply is designed, the nominal current demands of the motors and the fact that our system is a micro-stepping one must be taken into account.
The safest design would be if the double of the nominal current of each motor were taken, (because of the double excitation system, each step is done by the excitation of 2 coils) and these values were summed up. This would result in very high current values (e.g. 3 pieces motors with 2As will result in 3×2×2=12A, and with say 30V would need a transformer of 360W). This is unnecessary!
In the practice perfect synchrone never occurs, (or if it occurs it stays up for a very short time), as well as because of the PWM regulation the duty cycle of the currents is continually changing (it is hardly ever 100%). Therefore it is safe to design with the half of the above-mentioned current value (it is 6A in the example). In the practice this value has the necessary reserve.

For the very short time for that the total synchrone would stay up, a capacitor with a higher value can provide the needed current without any problems (it must be at least 1000uF/A, but capacitors with higher value can also be used)!

Information on connection and adjustment of the motors can be found at in the description of the Controller.

Holding path current:

The DSP assistant processor continually examines the Step signals, and will changes the adjustments and reference voltage of the main processor depending on the values of the signals. By its use the motor drive can be optimalised to variable moving states. In holding position it will automatically reduce the motor excitation after a so-called dynamic dumping time, (holding path state), supporting by that the cooling of the unit.

This holding path excitation cen be selected in the HOLD Jumper field in 2 grades. In open position the current is 3.3A, in closed position it is 4.1A.
To get better cooling, the use of the smaller current (3.3A) value is preferred, but if the motor does not hold its position in a stable way (in holding state), then the higher value must be choosen.

Micro-stepping:

The micro-stepping technique gets through the excitation gently from one coil into the other (in sinusoid form), therefore most of motor resonances disappear. The stepping between two coils are performed by the DSP by exciting the coils with different excitation ratio. The ratios applied are from tables of trigonometrical functions, so their value is constant.


((excitations of 1/4 stepping by %s))

The excitation table is designed for an "ideal" stepping motor. In the practice the coils, poles, magnets of the motors are not perfectly identical, therefore they react not always according to previously expected way during excitation. This may result in deviations (errors) between the angles theoretically intended and realised in the practice.


(Marking, Jumpers, Connections)

This means that not each of the motors can be used with the finest micro-step. The motors with poorer quality will set in with bigger and bigger angle-errors. This error will be 0 for a whole revolution, but the internal steps may not be uniform.
In the practice micro steps bigger than 1/4 may be substantially distorted, therefore it is useful to test this problem previously in case of CNC machines with a small gear ratio (it is strongly motor-dependent).
A Micro stepping system is a theoretical possibility, which can be used either with success or only with bigger errors depending on the motor and on the power supply voltage. The advantage its application is first of all the smoother (resonance-free) operation and the more dynamic acceleration. It does not replaces the suitable gear ratio of CNC machines.

Software:

The use of Mach CNC operation softwares is strongly recommended. These programmes have the smoothest control at present, whose quality determines basically the speed values that can be achieved by our system.

In case of the use of Mach2 és Mach3 softwares it is recommended to switch on "Enhanced Pulsing" option.


(Switching on Enhanced Pulsing option in Mach3 softwares)

This option further improves the smoothness of the stepping pulses, but it needs at least a PC with 1Ghz CPU.

The Controller is not sensitive for the pulse timings of the Mach softwares.


(Pulse data of Mach3)

For the sake of safety it is recommended to adjust 2 for both pulse data.
Activation of Sherline mode is not necessary.
In case of very long (>5m) LPT cable it is not recommended to switch on the Sherline mode (because of the possible signal dumping).

Speed tuning of CNC machines:

In case of a new machine or a rebuit one, both th Controller (Profi2) and the CNC programme (Mach3) must be tuned.
After assigning the communication ports (bits) od Mach3 (see in the description of Profi2B), the measuring unit (mm) and the calculazed resolutions must always be adjusted first (any speed adjustment can only be done when these vaéues are known). Do notm forget to have these data stored separately for each of the three axes (see the description of Mach3).

After that the maximum speed of each axis must be searched for. The search is done by proceeding from the lower values to the higher ones, with relatively low acceleration. Torque of the stepping motor" = the resultant torque of the motor and the Controller,
- "Chopper range" = is the range that the motor and the Controller are able to hold at a constant torque,
- "DC range" = here the motor operates as a synchronous motor with a more and more decreasing torque,
- "Maximum speed" = the intersection of the loading and driving moment/torque, this is the highest machine speed available,
- "Kipping point" = its place is determined by the motor power supply voltage. It can be shifted (raised) proportional to the Tuning Factor along the axis of the speed,
- "Maximum starting speed" - without acceleration (in a pulse-like way) above thbis value the motor does not operate.

In the figure it can be seen that the use of acceleration is extremely important, as the curve folds back and the motor can take up the revolution without acceleration immediately only in a narrow ramge of speed. By applying suitable acceleration the whole curve can be used.
Do not forget that the jerky operation (see at KCam4), means sudden starts and stops, i.e. starts without acceleration. Therefore stepping motors with KCam4 can only be used at 0 maximum starting speed. The same is the situation if the acceleration in Mach3 is adjusted to the maximum (Accel).


(Motor tuning screen of Mach3)

Recommended pulse data: Step Pulse=2, Dir Pulse=2.

Those who use the control for foam cutters can apply slow acceleration ( because of the technology), but even they also have to apply a minimum acceleration, if they want to use the motors in the whole range.

The exact timings of the Step pulses provided by the PC are responsible for the smooth operation of the motor. In case of Mach2 and Mach3 this is performed by the CPU with help of the mother board timers, which means, (unlike software timings such as e.g. KCam4) a high level of stability. As the Step signal is generated by the CPU, its load may influence the uniformity of the signal. If it is possible, do not run external programmes with high CPU load during CNC movements. However, the uniformity of the Step signal can be further increased by switching on the "Enhanced Pulsening", which means a little plus CPU load (it is worth doing so). To achieve suitable tuning the minimum CPU speed demanded by the manufacturer must be provided (as Mach3 itself means a high load for the CPU). Many other programmes are operated in the background by the Windows OS, therefore it is worth taking into account this fact too, (ideas for optimalisation can be found at http://www.machsupport.com/artsoft/support/support.htm).

From the moment curve it can be read that normally the maximum available speed always falls into the DC range. Our motor is properly operated when its coming to a halt because of the loading moment is not long before the blocking of the motor operated without any load (if it is above 75%, then it is very good).

It is also important to know that (though the torque falls) there is no step-loss in the DC range. Should the stepping motor fall out of synchrone it would immediately block because its folding-back type moment curve. This phenomenon is spectacular and immediately can be observed. During tuning this point should be searched for (blocking). The the particular axis of the Mach3 must be adjusted slightly under this point (where the motor still rotates in a stable way).

It is important to check the whole moving range at this speed after the adjustment (for fears that the mechanics should sieze somewhere and should block there).
If each axis has been measured and adjusted in this way, then all the axes must be checked again but this time the movements should be performed at the same time on all axes. This is necessary to get information on the voltage drop of the unstabilized motor power supply voltage (in this condition the motors run at a little lower voltage because of the higher load)! If it is necessary, reduce the speed values.
This adjusted maximum speed is the travelling speed of the particular axis, it is not suitable for finishing (except for laser and plasma). At that speed finishing is no longer performed generally (it is too fast), therefore it is excellent for fast moving (positioning).

In case of Mach softwares the manual fast moving can be performed by SHIFT + arrow keys, or SHIFT + Page Up/Down keys.