Maker Pro
Maker Pro

Relation between pwm frequency and motor speed

electronicsLearner77

Jul 2, 2015
306
Joined
Jul 2, 2015
Messages
306
Please tell me the relationship between the motor speed and pwm frequency. To increase the speed can i simply increase the frequency? How much duty cycle should be set? Please help. It is for a BLDC motor.
 

Minder

Apr 24, 2015
3,478
Joined
Apr 24, 2015
Messages
3,478
There is a subtle difference between 3ph P.M. motor and a BLDC, a BLDC only has two of the three windings energized at any one time. AS opposed to the 3ph which has a 3phase signal to all three.
For details on PWM control of a BLDC motor there is the Picmicro DS51554B development board with schematics.
There should also be code for the application examples. Both sensored and sensorless.
M.
 

hevans1944

Hop - AC8NS
Jun 21, 2012
4,878
Joined
Jun 21, 2012
Messages
4,878
Please tell me the relationship between the motor speed and pwm frequency. ...
There is NO relationship, per se. You are confusing a method of power control with methods of motor speed control.

PWM, or Pulse-Width Modulation, is a means to control the delivery of an average current to a low-impedance load from a low source-impedance voltage source. If such a voltage source were applied in a steady continuous fashion, instead of with PWM, excessive current would flow in the load. This current would then somehow need to be limited to avoid overheating in the load or overloading of the voltage source.

PWM is one solution to the problem, but it requires a switch in series with the load to periodically open very quickly and close very quickly, without a significant voltage drop across the closed switch, or a significant current flow through the open switch. Such a switch theoretically dissipates zero power, whether open or closed, while being able to control large currents from a relatively high voltage source. Does this sound like your average wall-mounted light switch? Well, except for how fast it is turned on and off, that is exactly what it is.

The average current controlled by the switch is equal to the duty cycle of the PWM frequency multiplied by the load current that would flow if the switch remained closed all the time. So, if a motor winding has, say, one ohm of resistance and requires 10 amperes of current to reach full torque on its rotor, how could we provide power to this winding from a low-impedance 100 V source?

If the 100 V source were connected directly to the motor winding, then clearly 100 amperes of current would flow through the one ohm resistance of the winding, probably burning out the winding after just a few moments of duration. However, we can drop this down to an average current of 10 amperes, by rapidly switching a connection that applies the 100 V source to the winding for just 0.1 seconds, and then waits 0.9 seconds before repeating the connection. During that 0.1 seconds 100 A flows, but for 0.9 seconds 0 A flows. Therefore 100 A flows for 10% of the time, and the remaining 90% of the time zero current flows.

So the average current is 10 A, which is 10% of 100 A. The interval of 0.1 seconds, when an excessive current of 100 A flows, is short enough to prevent excessive heat build-up in the motor winding, while the interval of 0.9 seconds provides sufficient "cool down" time to dissipate the heat that builds up once each second.

... To increase the speed can i simply increase the frequency? How much duty cycle should be set? ...
Nowhere in the above description of PWM power control is frequency specifically mentioned as a parameter to be controlled. It is the duty cycle, the ratio of the ON time to the sum of ON time plus OFF time, that is important. You set the duty cycle to control the power delivered to the motor windings.

The PWM duty cycle can vary from zero (always off) to one hundred percent (always on) while the PWM frequency can be just about anything. However, if the frequency is too low (the period of the ON/OFF cycle is too long), then excessive heating or power supply overload will occur during the ON part of the cycle. Although the cooling time is extended at lower frequencies, it may not be long enough for sufficient cooling during the OFF part of the cycle. OTOH, if the frequency is too high, insufficient current may flow during the ON part of the cycle because of inductive reactance in the motor winding.

There are other considerations in picking an appropriate PWM frequency that are related to how the PWM duty cycle varies as a function of time. Some other forms of BLDC motors are the multi-pole stepper motor, multi-phase synchronous motor, and various forms of variable reluctance motors. With these motor types, a multi-phase sinusoidal current waveform is often desirable. It is created by sinusoidal modulation of the PWM duty cycle at a much lower frequency than the PWM frequency, usually with negative feedback from a current-sensing resistor or Hall-effect transducer in series with each motor winding.

It is the modulation frequency of the PWM duty cycle that determines how fast the motor runs. Note that the modulation cycle must be synchronous to the motor shaft revolutions, so some form of position sensing along with a fast-responding phase-lock loop is required to generate the PWM duty cycle modulation. You could implement this with an H-bridge driver and a bunch of external components, but there are integrated circuits available that handle all the details. Just add a microprocessor, some MOSFET or IGFET switches, and appropriate feedback sensors for current and shaft position.

... Please help. It is for a BLDC motor.
If you are serious about BLDC motor control, please prepare to step off into the deep end of the pool. There has been more than fifty years of research, development, and product refinement in this field. Don't try to re-invent the wheel here because most of the best wheels already exist and are very affordable. You might want to start by selecting a motor and then discovering what is available off-the-shelf to drive it. This Texas Instruments DRV8313 device may be a good place to begin.
 

Minder

Apr 24, 2015
3,478
Joined
Apr 24, 2015
Messages
3,478
Please help. It is for a BLDC motor.
The reason for the term BLDC relates to the fact that the commutation style of powering only two winding's replicates a DC motor turned inside out as opposed to the 3ph type which apart from commutation methods are virtually identical..
I have both the Mechatronics, Stepper and DC, as well as the BLDC development boards from Microchip which I found are very useful for development.
M.
 

electronicsLearner77

Jul 2, 2015
306
Joined
Jul 2, 2015
Messages
306
Thank you very much for all your support. I will clearly explain what i have done how i plan to implement and where i am struck up.

Present implementation:

1. Currently i have implemented the "2 Phases ON" strategy instead of the "3 Phases ON" strategy.
2. How the code executes
Step1: It reads the Hall states A, B,C.
Step2: Based on the Hall state switches the legs as per the commutation table
Step3: The commutation table initially tried with stator resultant vector is 90degress from the rotor position to get the maximum torque. I have attached the table. When i use the commutation table 1 i achieve around 2000rpm and when i use table 2 i achieve around 2600 rpm.
Step4: How do i switch the legs? I am using pwm but with full duty so it is either complete High or complete Low, as per the commutation table.

My requirement:
Still higher RPM around 4000 rpm as of now not thinking of torque.

Questions:

1. How to achieve higher rpm?
Can i create other commutation tables to get higher rpm?
2. Do I necessarily go to "3 phases ON" strategy to go to higher rpm?
3. Phase advance techniques i need to implement?

Request your support to solve this issue. Please help. If i am missing any information please let me know.
 

Attachments

  • commutation.zip
    7.2 KB · Views: 65

Minder

Apr 24, 2015
3,478
Joined
Apr 24, 2015
Messages
3,478
Couldn't open the XLS file.
The BLDC motor is controlled very similar to the DC brushed, IOW to increase rpm, the degree of energy is increased to the armature.
In the case of PWM you have a basic switching frequency, for a motor application the suggested minimum is 4.5Kh to 5Khz to avoid switching noise.
The amount of energy delivered to the winding is dependant on the width of the pulse, the timing of the actual pulses so that they occur at the optimum time is via the commutation method, in most cases via hall effect or the equivalent on an encoder track.
If the width of the pulse is increased, the rpm increases.
In the case of an open loop condition, the motor will decrease rpm when a load is applied, if there is some kind of feedback element, PID etc, then the width of the pulses is increased to raise the rpm.
The other form of commutation timing is via BEMF detection.
The amount of electrical revolutions per one mechanical revolution depends on the pole count of the motor.
The higher the pole count, the higher the ratio.
M.
 

Minder

Apr 24, 2015
3,478
Joined
Apr 24, 2015
Messages
3,478
And this is a pdf showing the relationship between the winding and the hall sensor, the motor is being back-fed (generating).
This is what you need to do when aligning an encoder with hall tracks to the relative stator winding.
It requires a D.B. 'scope.
M.
 

Attachments

  • commutation.pdf
    136.6 KB · Views: 68

electronicsLearner77

Jul 2, 2015
306
Joined
Jul 2, 2015
Messages
306
Sorry for the late reply.
I am attaching the back emf and hall sensor signal relation from the data sheet. Currently i could not take pictures from the scope, once i get the access i will try to attach. Based on the wave forms i have created the commutation table. The issue i think is, it operates in constant torque mode and the speed does not go beyond 2500. Could you please suggest me the region i have to operate to get maximum speed and which legs should be ON? Please help.
 

Attachments

  • comm2.pdf
    58 KB · Views: 85

electronicsLearner77

Jul 2, 2015
306
Joined
Jul 2, 2015
Messages
306
Now very much confused after seeing the following diagram here is the link
https://e2e.ti.com/blogs_/b/motordr...20/generate-your-own-commutation-table-part-2
and the diagram is
6428.milan-1.png


The commutation table i have taken based on back emf is

A+ B- Coff ---> 330 Degrees
Aoff B+ C- ----> 90 Degrees
A- Boff C+ -----> 210
A- B+ Coff -----> 150
Aoff B- C+ ----> 270
A+ Boff C- ---> 30

The table i have created does not follow the cycle at all. Please help. Very confused.
 

Attachments

  • upload_2017-12-8_13-5-3.png
    upload_2017-12-8_13-5-3.png
    22.2 KB · Views: 123
Top