PDA

View Full Version : How Strict is the Max Vsupply Calculation for Steppers?



mattnedgus
28-06-2019, 11:28 PM
4 years into running a DIY CNC Router and I'm still a noob!

So Part 1 to this is that:

I've been running my motors:

I = 4.2A
L = 3.2mH
V = 2.73V

on a 68V supply. The Max Vsupply = 32*(sqrt(L)) equation gives 57V. Geckos guide advises an upper safe voltage of between 4 and 20 times motor voltage, giving 55V.

My question is: Am I risking the motors running on 68V?

The reason I ask (as well as not wanting to burn my current motors!) is that I'm trying to compare the performance of three quite different motors and the calculated max corner speed varies directly with Vsupply. I was using this speed as an indicator of potential motor speed.


Part 2 to this is that:

I've just discovered I've been running my stepper drives under-powered at 3.1A RMS instead of as near to 4.2A RMS as possible (comment from Leadshine (https://www.cnczone.com/forums/leadshine/281376-posts.html) confirmed)

I think this explains why I haven't been able to rapid at speeds I'd hoped (and that had initially pushed me to consider NEMA 34's in another post) but it also means the motors haven't been getting as warm as they should. I've measured temperatures in the high 50's (degC) but I'm concerned that if I increase the current I'll be causing the motors to overheat with such a high voltage.

routercnc
29-06-2019, 10:52 AM
Ive been running the same spec of motors at 68V for years without issues.

The main thing to watch is that the drivers can cope with this with a margin of safety. Typically you would want 80V drivers to allow for any back EMF from the motors. This is less of an issue with linear power supplies where this is soaked up in the capacitor banks, and applies more to switched mode power supplies ( typically those rectangular metal boxes with terminals on the front are SMPS).

On the current question - I am pretty sure the current just gives holding power at 0 rpm. Higher it is the hotter the motor so I wouldn’t increase it unnecessarily. On many drivers there is a switch to drop to half current at idle to help reduce motor heating.

Motor temps guide seems to be up to 80 deg is OK but cooler is also good. At some point (150?) the magnets can be demagnetised permanently.

Once up and running the voltage is key to performance and to my knowledge wouldn’t help increasing the current setting. Pretty sure it is capped by the driver anyway. Search for the Gecko guide to how steppers work as it is a very good read and includes graphs to illustrate the points made.

mattnedgus
29-06-2019, 03:00 PM
Thankyou, I think you may have mentioned that Gecko Guide before - that's where both of the methods for calculating the max voltage comes from.

My issue is that the voltage I'm using is 20% higher than the max recommended by those methods. In terms of designing Im wondering if I can go over those maximums for better performance and if so how much?

For example, in the 3 motors I was looking at (below), one has a really low inductance of 1.18mH and a recommended maximum voltage of between 32 and 35V. A supply of 68V seems way too high?

(I can't find speed-torque curves for Motor A and B (D57CM31 and D57CM31-4A) so I've emailed Leadshine for them to see how they might fair compared to each other.)


3.1NM NEMA 23 A
I = 4A
L = 2.8mH
V = 2.5V
Max Vsupply = 54V
Upper Vsafe = 50V
Corner Speed = 321RPM (based on 48Vsupply)

3.1NM NEMA 23 B
I = 6A
L = 1.18mH
V = 1.6V
Max Vsupply = 35V
Upper Vsafe = 32V
Corner Speed = 381RPM (based on 36Vsupply)

4.5NM NEMA 34
I = 5.5A
L = 4mH
V = 2.53V
Max Vsupply = 64V
Upper safe V = 51V
Corner Speed = 232RPM (based on 68Vsupply)

routercnc
30-06-2019, 03:38 PM
I can only comment on the stepper in the first post as that is the same specification I have. No issues at 68V on that motor.

I can see what you are trying to do now you have laid them out but can’t really advise on the others. Best guess would be use the same percentage increase in voltage on the first motor as a guide to the percentage over voltage values to try for the other motors and compare corner speeds in the calculations.

But if you do it for real then get a second opinion before you burn up a motor ! You need help from the electrically minded on here . . .

m_c
01-07-2019, 10:33 AM
I've not got much time, but in a nutshell regards motors, current = torque, and voltage = speed.

However in the case of stepper motors, current <> torque, as they run at full current (unless you use a driver with automatic current reduction), to hold them on position, but voltage limits how much current the driver can 'push' through the motor coils.
What this means in basic terms, is at standstill, the motors rated voltage is need to push the rated current through the motor coils (I.e. a 5V motor, needs 5V to push the rated current through the active coil). As speed increases, back-emf increases (think of it as the motor itself acting as a generator to 'push back/restrict' the current the driver is trying to push through), which means you need an increased voltage to maintain the current flow through the motor coils.

This then means that too high a supply voltage only comes into consideration at high speeds. At standstill, with say a 5V 1A motor, the motor is having to dissipate 5W, however if you then spin the motor fast enough to utilise a 68V supply while still forcing the full 1A through the motor, the motor is now dissipating 68W (not all will be converted to heat, as the motor is doing some useful work). And a large amount of that heat created is in the motors rotor, which has relatively poor cooling. Now get the rotor too hot, and it'll demagnetize.

mattnedgus
02-07-2019, 08:43 AM
Thank you both,

So I guess what you're saying is that we can exceed the max/upper voltage calculated by Geckos equations, so long as we don't increase the temperature sufficiently to cause demagnetisation or a fire.

My other take-away is that there must be a margin in Geckos equations, so rather than being an absolute max/upper voltage it's perhaps just an indicator, otherwise there'd be a lot more issues with 68V on these motors.

I'm away for the next couple of weeks but I'll increase the current to the motors when I'm back (to what it should be) and see how that increases the temperature over the runs I do and take it from there.

john swift
02-07-2019, 10:27 AM
while the simplified rule of thumb from Geckodrive does not tell the whole story it gives you a starting point

Different motor manufactures give the maximum temperature as either 70 or 80 C

The basic stepper motor data sheets don't specify the iron losses so you can't be sure of how much heat will be due to eddy current losses

The need for the use of a power supply thats several times the motor voltage is all due to need to force the current to build up to the required current in the time available between steps

Since the voltage and current is not in phase
the dissipation is less than the motor current x supply voltage

John

Neale
05-07-2019, 09:32 PM
The motor specifications themselves aren't very useful when it comes to questions like this. Inductance, maximum torque - yes, look at the spec. But forget the nominal voltage ratings (within reason - but a typical 68V supply is about right for NEMA23). Similarly, the Gecko "rules" are very rough starting points and are not hard-and-fast rules. Don't forget that the stepper driver sits between the power supply and the motor. The driver will limit current and as long as you don't exceed the driver voltage ratings, the more volts the better the motor torque at speed (as mentioned in previous post). Best advice is generally to start with the driver current setting set to the nominal motor current as per spec sheet, then check the motor temperature after it has been running for a little while. If it's a bit too hot to hold for any length of time, drop the current setting by one step. If it's much cooler than that, increase the motor current setting. That equates to a motor surface temperature of about 60degC at which point the internal motor temp shouldn't be too high. A crude but effective way to set motor current! My own motors have been set and run on that basis for a few years now with absolutely no problems.

mattnedgus
23-07-2019, 11:05 PM
Different motor manufactures give the maximum temperature as either 70 or 80 C


Best advice is generally to start with the driver current setting set to the nominal motor current as per spec sheet, then check the motor temperature after it has been running for a little while. If it's a bit too hot to hold for any length of time, drop the current setting by one step. If it's much cooler than that, increase the motor current setting. That equates to a motor surface temperature of about 60degC at which point the internal motor temp shouldn't be too high.

Thanks for your replies. Ive just gotten around to cutting today after being away.

It turns out I have been running the motors 2 settings below the desired current setting for the last (nearly) 4 years!

I’ve corrected the setting today and I’m getting 70-75degC surface temp on one Y motor and 90-95degC on the other, after 30 minutes running in 27-29degC ambient. I’ll measure the voltage from the two psu’s tomorrow to see if that’s causing the difference, otherwise I suspect something is wrong with one of the motors. The X motor was also about 70-75degC and Z was so low I didn’t bother measuring much. I’ll have to drop the current a level (at least!), as Neale suggests, to be comfortable with the motor that is running extra hot for now, until I can swap it or figure out it’s cause.

Any ideas what else might cause one motor to run so much hotter than another using the same drives and psu voltages? The motors are labelled the same, from the same source.

Muzzer
24-07-2019, 04:26 PM
The max motor temperature is generally limited by the varnish on the winding wires, along with the other insulating tapes and sleeving used in their construction. These are generally either Class B (130C max) or Class F (155C). That's for the hottest spot within the whole motor. You'd be doing well to get them that hot and the corresponding external case temp of the motor would likely be over 100C, even for the lower Class B rating. The magnets in the rotor shouldn't be self heating and their demagnetisation ("Curie") temperature is going to be over 300C.

In terms of the max voltage, the limitations will be partly the motor insulation (as above) which isn't going to suddenly break down if you increase the supply by a few tens of volts; the max voltage rating of the power semiconductors (FETs in this case); the max voltage rating of the controller IC; and the max voltage rating of the passive components, most notably the electrolytic caps on the supply rails. You'd need to look at the internal design of the controller (driver) to know what the weakest links are - best to simply respect the limits suggested by the manufacturer though. However, sudden deceleration of the load by the motor can cause a regenerative transient surge back into the supply, so it's sensible to leave a decent safety margin on the steady state supply voltage.

Apart from overheating the copper windings, exceeding the current rating of the motor could lead to saturation of the magnetic steel laminations. This would cause a rapid and uncontrollable rise in current which could stress or blow the driver. This is less likely than overheating but can be done.

Neale
24-07-2019, 04:51 PM
One possible reason for different temperatures for the two motors on your Y axis is whether or not you have "half current when stationary" selected on both. A lot of stepper drivers have this option available - it cuts motor current to half normal value if the motor is just holding position and not moving. I'm only guessing here - I would expect the DIP switches on both Y drivers to be set identically.

routercnc
25-07-2019, 10:36 AM
My thoughts would be to unplug both Y motors from the drivers (power off!) and do a simple check of the resistance through the pairs of windings in both motors. They should all be about the same, around a few ohms.

If you are de-rating one of the steppers on a dual stepper axis just go easy on the feeds to avoid stalling one out before the other (assuming they are just slaved in software)

mattnedgus
01-08-2019, 10:13 PM
I would expect the DIP switches on both Y drivers to be set identically.

Hi Neale, yeah all DIP switches are the same.



My thoughts would be to unplug both Y motors from the drivers (power off!) and do a simple check of the resistance through the pairs of windings in both motors. They should all be about the same, around a few ohms.

If you are de-rating one of the steppers on a dual stepper axis just go easy on the feeds to avoid stalling one out before the other (assuming they are just slaved in software)

I may check the resistances in the future but once the current setting was lowered again the difference in temperature wasn’t anywhere near as bad - maybe 5-7degreesC.

I’m not sure I understand what you mean by de-rating one of the steppers? Both are set the same to half step and a lower current (I think this might be what you mean by de-rating?) to manage the heating. I spoke to Gary at Zapp who set me straight on matching/setting to the the Peak current on the motor driver to the current rating of the motor but still remain confused, especially when I’ve read Leadshines advice is to match/set to the RMS column.

I’ve run the motors fine by setting the motor drivers Peak current value to match the specified motor current for a few years but I’d hoped to better understand why it’s done this way.

All I can figure is that I can either have higher voltages for more torque at faster speeds, but I have to set a lower current (match the motor current to the Peak value on the driver) to manage the heating OR I can set the drivers to match the RMS value to the motors rating and have a lower voltage, again to manage the heating - I ‘suppose’ then I’d get higher lower speed torque, but lower top speeds/top-end torque due to the lower (thus slower) voltage changes?

I could do with a good reference text! :hopelessness:

mattnedgus
01-08-2019, 10:56 PM
...the corresponding external case temp of the motor would likely be over 100C...

Hi Muzzer, thanks for your explanation! Sorry I'd not seen your response when I just made my last reply.

It sounds like I was maybe OK with a 90+degC case temperature for a short time then (but it didn't half heat the garage up!).

Would I be right in thinking that:



When using higher voltages (within driver spec), the only real reason to set the motor drivers Peak current to match the motors rated current is to keep the temperature down? Higher voltages are preferred to achieve higher-speeds when direct driving because current flows in and out faster, letting the coil get to a higher current/field strength/torque per step.



- e.g. I supply 68V and I set motors (rated at 4.2A RMS) to 4.3A Peak in the driver (equivalent to 3.1A RMS in the driver on the Leadshine DM856)

And so conversely:



If I wanted to set the motor drivers RMS current to match the motors rated current, I'd need to keep the voltage down below those values generated by Mariss Friemans max Voltage equation to manage the temperature? Greater current flowing in the coil would produce greater torque, but having to run at a lower voltage would mean lower top-speeds.



- e.g. I supply 50V and I set motors (rated at 4.2A RMS) to 4.0A RMS in the driver (equivalent to 5.6A Peak in the driver on the Leadshine DM856)

I've seen so many good but contradicting views on whether to use the Peak or RMS values but I don't understand the fundamental reasoning behind them and this is the best I can figure out at the moment.

Muzzer
02-08-2019, 08:55 AM
I really wouldn't know the answer to your questions without knowing more about the drivers you are using. However, the peak current is what the motor can tolerate without magnetic saturation, whereas the RMS current is what causes the electrical heating , which is almost entirely due to resistive losses in the copper windings.

To complicate matters, the "better"(?) drivers reduce the driving current after a short period, once the motor has hopefully reached its target. This allows high movement torque but reduced steady state heating. And if you go further ie closed loop steppers, the control scheme is more sophisticated so that the motor current is a more direct function of the applied torque ie no more than it actually needs to be.

Leadshine are a solid outfit, so in the event of conflicting information, I'd go with what they say, not least if you are using their drivers. I expect there are application notes by Leadshine explaining not just how to set up their drives but possibly even giving some insight into what the settings do and mean. I've used their closed loop steppers in the past and was quite impressed with the level of documentation provided.