Author Topic: Running a servo motor at 0-1/3 speed  (Read 1801 times)

0 Members and 1 Guest are viewing this topic.

Offline SimonTopic starter

  • Global Moderator
  • *****
  • Posts: 17881
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Running a servo motor at 0-1/3 speed
« on: June 28, 2024, 11:08:45 am »
I'm looking at running a servo motor up to 1000 rpm rather than 3000 rpm. I can see that this will make the motor much harder to control for the driver as the lower back EMF and reactance at the lower drive frequency will mean that much more current can flow and so fewer PWM steps will be available in the drive.

Is this advisable? OK, I know it is not, but how bad is it. How much trouble have I just gone looking for?

Thinking about the advice I read in some driver manuals to put an inductor in series with each phase to limit current peaks at low currents or just to bulk up a low inductance motor I thought why not do the same but overdo the inductors a bit.

Well it takes 1mH in series with each phase (21A) to get the motor running at 1000 rpm (83Hz) to have the same current flow that it would have at 3000 rpm (250 Hz), simulation attached - 5 pole motor, 6.8V/krpm.

Is it a good idea to even try this?. With a Single 330µH (16A) I could be making a DC/DC converter to lower the voltage from 48V to 24V making the controllers life much easier.
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3552
  • Country: nl
Re: Running a servo motor at 0-1/3 speed
« Reply #1 on: June 30, 2024, 04:56:41 pm »
Those industrial servo motors (not talking hobby / RC servo's here I guess) are designed to be controllable down to standstill. So the only thing you'd have to do is to simply limit the signal input to the motor controller to 1/3 of it's maximum. There is no need to mess with the power side of the whole system.

Another option is to use a mechanical transmission on the motor shaft. This lets you increase the available torque by (roughly) a factor of three, or it lets you select a cheaper / smaller motor to get the same torque on the output shaft.
 

Offline Ground_Loop

  • Frequent Contributor
  • **
  • Posts: 659
  • Country: us
Re: Running a servo motor at 0-1/3 speed
« Reply #2 on: July 01, 2024, 12:44:26 am »
If you are using typical industrial servos and drives, they are designed for positioning, so zero speed is fine. I had a project to drive a material reel at about 10 revolutions per hour. Used a 100:1 gear box, and very low speed command. It worked fine. 
There's no point getting old if you don't have stories.
 

Offline SimonTopic starter

  • Global Moderator
  • *****
  • Posts: 17881
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Running a servo motor at 0-1/3 speed
« Reply #3 on: July 01, 2024, 07:43:38 am »
Well I was just thinking of the overall working of the machine. We are not fitting a gear box as it turns out they are quite expensive. But of course all motors are made to work up to 3000 rpm as that is the standard speed all things gravitate to. My requirement is that the motor will be used from 0-1000 rpm (maybe as low as 800 rpm tops) with control over torque.

Messing about with the simulation I see that it takes much less than 1/3 the voltage (PWM duty) to achieve the same current. Or maybe my motor modelling is out. The motor spec gives the phase to phase inductance an resistance. I would assume that I halve those to model a single phase.
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3552
  • Country: nl
Re: Running a servo motor at 0-1/3 speed
« Reply #4 on: July 01, 2024, 09:33:52 am »
What sort of experience do you have with such motors?
The simplest: Applied voltage translates to motor speed, and the motor will only draw as much current as is needed to get enough torque to get to that speed. High startup currents are due to high torque for accelerating the motor inertia. I don't know what you are attempting to simulate, but it's probably simply not relevant.

You are making it much to difficult for yourself. The servo controller has everything in it to control the motor over it's complete operating range, and it really does not matter whether you are using the full 0 to 3000rpm range or only 0 to 1000 rpm.

If you are using a 0 to 10V input signal for the motor controller, you can add a voltage divider on that input so the servo input does not get above 3.33V, but that is all that is needed. If you are controlling the motor via modbus or another protocol it is also likely that you can program maximum rpm directly into the motor controller. So read it's manual. These things tend to have 100+ settings you can tweak.
« Last Edit: July 01, 2024, 09:40:04 am by Doctorandus_P »
 

Offline SimonTopic starter

  • Global Moderator
  • *****
  • Posts: 17881
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Running a servo motor at 0-1/3 speed
« Reply #5 on: July 02, 2024, 05:36:51 pm »
Not a lot to be honest. I have done one project so far where I wrote my own CAN Open master so that I could control 2 motors. Unfortunately the manual for the motors was not the clearest.
 

Offline H.O

  • Frequent Contributor
  • **
  • Posts: 835
  • Country: se
Re: Running a servo motor at 0-1/3 speed
« Reply #6 on: July 03, 2024, 05:33:30 am »
As have been said, you should have zero issues controling the motor velocity down to zero.
One thing to keep in mind though, power is speed x torque so if you're never running your 3000rpm rated motor faster than 1000rpm you're wasting 2/3 of its potential power or, put another way, you have a motor with way more power than you actually need.
 

Offline SimonTopic starter

  • Global Moderator
  • *****
  • Posts: 17881
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Running a servo motor at 0-1/3 speed
« Reply #7 on: July 03, 2024, 06:37:15 am »
I think the concern will be more about the current control as we need precise torque. Yes we are wasting the motor power. Apparently it is cheaper than buying a gearbox.
 

Online moffy

  • Super Contributor
  • ***
  • Posts: 1894
  • Country: au
Re: Running a servo motor at 0-1/3 speed
« Reply #8 on: July 03, 2024, 10:47:02 am »
If you go for a step down converter from 48V to 24V, what would be the maximum load it would have to supply across all your motors? Will that be more cost effective or convenient than using individual inductors?
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3552
  • Country: nl
Re: Running a servo motor at 0-1/3 speed
« Reply #9 on: July 03, 2024, 11:44:25 am »
Again: NO. There is no need at all to put a buck converter in front of the motor, as long as the motor controller is rated for the input voltage (with some decent extra margin). A buck converter is an inherent part of most motor controllers, as it is formed by the FET's of the H bridge (or triple half H) and the inductance of the motor windings themselves.

Motor braking is done by changing the commutation and running the motor as a dynamo, and this can (and will) feed energy back into the power supply. It's common for motor controllers to have a brake resistor and this is used to bleed off excessive voltage on the big smoothing capacitors of the power supply when the motor is braking.
 

Online moffy

  • Super Contributor
  • ***
  • Posts: 1894
  • Country: au
Re: Running a servo motor at 0-1/3 speed
« Reply #10 on: July 03, 2024, 12:08:31 pm »
Again: NO. There is no need at all to put a buck converter in front of the motor, as long as the motor controller is rated for the input voltage (with some decent extra margin). A buck converter is an inherent part of most motor controllers, as it is formed by the FET's of the H bridge (or triple half H) and the inductance of the motor windings themselves.

Motor braking is done by changing the commutation and running the motor as a dynamo, and this can (and will) feed energy back into the power supply. It's common for motor controllers to have a brake resistor and this is used to bleed off excessive voltage on the big smoothing capacitors of the power supply when the motor is braking.
Yeah, I am pretty aware of regenerative braking and brake resistors having worked on diesel electric locomotives for a number of years as well as designing testing and building the test beds for 500kW traction motors the question is really for the OP, sometimes it comes down to a matter of preference.
 

Offline SimonTopic starter

  • Global Moderator
  • *****
  • Posts: 17881
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Running a servo motor at 0-1/3 speed
« Reply #11 on: July 03, 2024, 07:44:19 pm »
Again: NO. There is no need at all to put a buck converter in front of the motor, as long as the motor controller is rated for the input voltage (with some decent extra margin). A buck converter is an inherent part of most motor controllers, as it is formed by the FET's of the H bridge (or triple half H) and the inductance of the motor windings themselves.

Motor braking is done by changing the commutation and running the motor as a dynamo, and this can (and will) feed energy back into the power supply. It's common for motor controllers to have a brake resistor and this is used to bleed off excessive voltage on the big smoothing capacitors of the power supply when the motor is braking.

You are missing how the whole control system works. I know that the driver has a 16 bit PWM, so the voltage can be controlled in steps of about 1.6 mV on our 53V supply. Torque will be proportional to the phase angle between the stator field and the rotor position. As there are 2^16 steps and the maximum angle is 90 degrees that is 16'384 steps. I guess that gives plenty of control.

Yes the motor driver and motor form a buck converter, but if I was having issues as I pointed out above I can gain more by using one smaller inductor on the supply input as a power converter than by putting 3 inductors each 3 times the value and having to handle more current on each phase.
 

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 6701
  • Country: ca
  • Non-expert
Re: Running a servo motor at 0-1/3 speed
« Reply #12 on: July 04, 2024, 12:25:31 am »
"If I was having issues" As mentioned if the motor and drive are spec'ed appropriately and from reputable companies, then there are no issues.

What is the model number of the drive and motor?

You could always dial down the voltage of the 48V supply a bit, assuming it has an adjustment, if you think that might extend its life.
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline SimonTopic starter

  • Global Moderator
  • *****
  • Posts: 17881
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Running a servo motor at 0-1/3 speed
« Reply #13 on: July 05, 2024, 06:46:49 pm »
Well we will hopefully test next week. Dialing down the voltage is not an option without adding more circuitry. we already have a 48V supply or will use a 48V battery
 

Offline IanB

  • Super Contributor
  • ***
  • Posts: 12015
  • Country: us
Re: Running a servo motor at 0-1/3 speed
« Reply #14 on: July 05, 2024, 06:56:04 pm »
Well we will hopefully test next week. Dialing down the voltage is not an option without adding more circuitry. we already have a 48V supply or will use a 48V battery

There seems to be a missing link here, as you are not answering the questions shared by all the previous posters.

A servo comes with two matched components: the physical motor, and the "drive", which is the control unit that runs the motor. These are normally designed and purchased as a pair which work together. You do not apply power to the motor, you apply power to the drive, and the drive makes the motor do what you ask it to do.

The drive will have a specification, such as its input power requirements, and its control input arrangements. Broadly speaking, you give the drive the required voltage, and you give the control input the required speed, and the drive does the rest.

Since you are talking about somehow modifying the drive/motor combination by adding things or changing things, this is causing confusion. Why can't you just trust the drive to do its job?
« Last Edit: July 06, 2024, 04:27:51 am by IanB »
 

Offline SimonTopic starter

  • Global Moderator
  • *****
  • Posts: 17881
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Running a servo motor at 0-1/3 speed
« Reply #15 on: July 06, 2024, 07:12:44 am »
Well we have a fixed 48V, can't change that. The motors are typically wound for 48V and 3000 rpm but will do as much as 4000 or 5000 rpm unloaded. Some sales people expressed concern at running the motor that slow but I think these people either do not know what they are on about or are thinking of motors with hall sensors rather than encoders. One "electronics engineer" from one supplier of driver said that they recommended a minimum of 1000rpm over the number of poles, until I pointed out that the motor has an encoder. His driver shares the encoder inputs with the high speed digital inputs while it has dedicated hall sensor inputs so I guess they tend to default to hall sensor motors.

As for a matched pair well no. They don't get made that stringent that they have to be carefully matched. Providing the controller can do the current and it is set up for that motor it will be fine. From what everyone here says the low speed problem is just not a thing and to be fair I have not had a problem running the motor at low speeds as part of a ramp up to full speed in other projects. This is a problem that has been blown out of proportion by non technical sales people.
 

Offline IanB

  • Super Contributor
  • ***
  • Posts: 12015
  • Country: us
Re: Running a servo motor at 0-1/3 speed
« Reply #16 on: July 06, 2024, 07:27:50 am »
Ah, right, well maybe "compatible" is a better word than "matched".

I do feel that buying motor and drive as a pair from a vendor that will provide a warranty that the combination of motor and drive will do what you want is a safer option than buying motor and drive separately. But maybe the world is not that ideal.
 

Offline SimonTopic starter

  • Global Moderator
  • *****
  • Posts: 17881
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Running a servo motor at 0-1/3 speed
« Reply #17 on: July 06, 2024, 07:43:17 am »
No the world is not ideal and the salesman of the motor with his drive said he was not sure about low speed operation but also declares himself as more mechanical (that's what they all say when they have no idea because people think that mechanics is simpler than it is).

We have 3 components to replace, a motor, a drive and a gearbox. We need to put the overall package together. The company making the cheaper drive and with a better reputation don't do a motor of the power we need to avoid using a gear box and it seems that motors are cheaper than gear boxes to the point that we can afford 3x the power of motor.

As for compatibility that is the wonder of modern drives that use CAN open or their own system. You tell the drive the speed constant / Kv, the torque constant and the number of poles and away you go. At that point all motors are the same, providing the feedback is there and suitable. At low speed a pulse every cycle may well be a challenge as that is one bit of feedback in one whole cycle of generating a sine wave with PWM that is the right voltage and at the right phase angle. Put a 2500 step encoder that will produce 10'000 edges per revolution and this make the drives job a breeze.
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3552
  • Country: nl
Re: Running a servo motor at 0-1/3 speed
« Reply #18 on: July 06, 2024, 03:51:27 pm »
Do I understand this correctly?

You have a motor that is too big, and with the high power supply voltage you do not have enough resolution to control the motor at a low speed or low torque, and therefore you want to lower the power supply voltage to get more resolution.
 

Online Postal2

  • Regular Contributor
  • *
  • Posts: 189
  • Country: ru
Re: Running a servo motor at 0-1/3 speed
« Reply #19 on: July 06, 2024, 05:10:50 pm »
.....the low speed problem is just not a thing ....
Yes.
 

Offline SimonTopic starter

  • Global Moderator
  • *****
  • Posts: 17881
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Running a servo motor at 0-1/3 speed
« Reply #20 on: July 07, 2024, 04:11:24 pm »
Do I understand this correctly?

You have a motor that is too big, and with the high power supply voltage you do not have enough resolution to control the motor at a low speed or low torque, and therefore you want to lower the power supply voltage to get more resolution.

There is no problem as of yet as no testing has been done yet.
 

Offline Infraviolet

  • Super Contributor
  • ***
  • Posts: 1086
  • Country: gb
Re: Running a servo motor at 0-1/3 speed
« Reply #21 on: July 07, 2024, 11:25:45 pm »
" Torque will be proportional to the phase angle between the stator field and the rotor position "
If the underlying technology is a 3 phase brushless motor of some form, you'll find that torque can also be varied by changing the amount of current flowing, as well as adjusting the relative angles between the rotor's position and the angle of the field the current in the stator is making.

You've described this thing as a servo, which implies it comes integrated with the motor, feedback sensor (encoder of some sort) and control logic all together. In that case its own datasheet should tell you everything about the commands to run it, how much torque it can supply... If the controller it comes with is reasonably capable I'd be very surprised if it couldn't run right down to a very low speed indeed, like something so slow you start to really see cogging-like jumps as it turns. The exception would be if there is reliance on sensorles measurement (measuring induced voltages in the undriven coil of the motor so as to work out which location it is rushing past as a consequence of the current in the other two), but that would be a very strange choice for a servo, the whole idea of a servo afterall is being able to command it to go to particular positions.

I've you've just bought the motor and feedback sensor, and it doesn't come with integrated control logic, you'd either look for an appropriate controller device, or design your own. I've been designing, for a much smaller 3 phase BLDC style motor, recently such a controller board and the overall principle for operation in a servo-like mode is quite simple.

Each phase of the motor is given a PWM signal between 0% and 100% (0 to 256 in my case), you use a microcontroller running logic of the form:

Apwm = beta*1.14*(sin((float)angle*PI/180.0)*127.5+25.5*sin((float)3*angle*PI/180.0))+127.5;
Bpwm = beta*1.14*(sin((float)(angle+120)*PI/180.0)*127.5+25.5*sin((float)3*(angle+120)*PI/180.0))+127.5;
Cpwm = beta*1.14*(sin((float)(angle+240)*PI/180.0)*127.5+25.5*sin((float)3*(angle+240)*PI/180.0))+127.5; 

The added extra term (+25.5...)gives you SVM (space vector modulation) which lets you get the absolute maximum from a given supply voltage, but this can be neglected and just the first term used if you never need to put power in to the motor near to the maximum your driver can supply.

You vary "beta" to change the (approximate, beta isn't linear with it, but it is monotonic, you can calibrate for it in a finished system, or use current measurement of total current drawn for further feedback) level of torque. Beta is always in the 0 to 1 range. If beta is particularly low then even the phase getting the maximum current at a given time gets only a very quick burst of power to it (during which that leg of the motor is connected to the supply voltage, and the current flowing rises with a slope proportional to supply-voltage/motor_inductance), then the half-brdge which powers that phase conducts between the motor's leg and ground instead and the current recirculates, buck-converter principles.

Then the angle (here in degrees, 0 to 360, and it is an electrical angle, not shaft angle, so you have multiple electric rotations per shaft angle deending on your motor's pole pair count) you set as you move, you control the speed by having your software increment of decrement this angle as fast as you want.

With that working you can then use feedback to know where the rotor is, vary that beta value, if you need to, to reduce the current when not much is needed for the torque demanded by a load (when the rotor angle is lagging the stator field by a "fair bit" (amount to be determined by testing and encoder precision) less than 90 degrees) and increase it whenever torque demand rises (rotor angle lags stator by a "fair bit" more than 90 elec degrees), and even compensate for skipped "steps" if they occur.

This principle can work at any speed you like, and any level of torque, up to the maximum torque the motor can give at the highest level of current it is rated not to overheat at*. Yours sounds like a big industrial 3 phase motor? So you'd need much fancier half-bridge circuits than I used, but the "beta" and "angle" PWM method would still work.

*ofcourse, using a high power motor won't help your "we want a high powered motor at slow speed rather than a low powered one with a gearbox" situation if this maximum current, independent of maximum power, can't give you enough shaft torque. A motor at maximum power is going to be both drawing the maximum current, but also using power to overcome back-emf voltage caused by running at high speed, at lower speeds you cannot draw maximum power without drawing more than maximum current, which via I^2 R heating would damage the motor, given "enough" (seconds, minutes, hours... depends on the motor, how hot the surrounding environment is, how much you over-current by...) time even though the motor was well below maximum power. If the higher power motor's maximum current rating, multiplied by its torque per current value (for cheap motors that is 8.3/kV with the kV rating in rpm/V and the torque-per-amp in Nm/A ), won't give you enough torque, you'll need a gearbox nonetheless.
« Last Edit: July 07, 2024, 11:34:14 pm by Infraviolet »
 

Offline SimonTopic starter

  • Global Moderator
  • *****
  • Posts: 17881
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Running a servo motor at 0-1/3 speed
« Reply #22 on: July 10, 2024, 08:36:05 am »
Thank you for the detailed reply. I believe I understand how the drive operates in principle. I am talking about 21 and 29A motors here or 750/1000W at 48V. Motors are primarily current/torque machines. If you look at Maxon motors you find that the voltage is a bit of a information only thing. We have run their motors at higher voltages to get the speed up based on their own recommendations. A lower power motor with gearbox from the same supplier is looking like it will cost more than the 750W motor on it's own running at up to 1000 rpm rather than 3000 rpm.

I would expect that the controller is first generating a PWM that creates enough "voltage" to put the desired current through the stator to produce the torque required. This would basically be a holding torque. Then you move the stator field along ahead of the rotor. I don't know how good my little LT spice model is but just advancing the driving angle on the rotor position (the back emf voltage) the current stays about the same as the back EMF makes up the voltage difference caused by the phase angle difference. I guess there is an amount of current to be added to account for the motor friction.

The concerns that seem to have come from the "mechanically minded" reps seems to be on the basis of using hall sensors rather than an encoder that in our case gives 2000 edges per electrical cycle rather than just 6. I can see how any motor driver trying to produce a sinusoidal drive will struggle at low speed without good feedback on the current position. Sensor less drive is definitely not an option, our application is traction so we could be spending time at quite low speeds.
 

Offline IanB

  • Super Contributor
  • ***
  • Posts: 12015
  • Country: us
Re: Running a servo motor at 0-1/3 speed
« Reply #23 on: July 10, 2024, 03:16:49 pm »
I would have imagined that for a "servo" application requiring precise position control, then the encoder would be essential.

For precise speed control, I still imagine the encoder would provide better results than the Hall sensor. Is the encoder more expensive or unavailable or something?
 

Offline SimonTopic starter

  • Global Moderator
  • *****
  • Posts: 17881
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: Running a servo motor at 0-1/3 speed
« Reply #24 on: July 10, 2024, 03:47:32 pm »
No we have a motor with an encoder and hall sensors. I don't know what the "mechanically minded" sales people are fannying about at. Now I have the electronics engineer of one of them telling me that even with the encoder it needs hall sensors  :palm: So I just spent £50 in RS485 dev boards so that I can connect our motors differential hall sensors to the single ended inputs of the motor driver, and I'll tell him we wasted that much when he comes in to show me it running and we discover that hall sensors are not needed.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf