Re: Speed to Torque
We can relate torque and motor speed, for examples:
By [afonso]:
Te - TL = J*dw/dt + B*w + ...
where J is moment inertia of the rotor, and B is damping coefficient of the mechanical system.
By [Git]:
P = T.w
where 'w' in rad/s
In my opinion, these relations and with other equations (T=Ki, E=Kw) are useful in simulation (only???) to search for the proper value of P, I, or D. For example, in simulation, you can calculate the motor speed by integrating the 'net' torque, or calculate the power by T*w. When come to practical, there are a few problems that users face. If you purchase the dc motor from a local electronic store or you get the dc motor from other appliances, usually you would not have the datasheet of the motor. If this the case, then all those equations mean nothing, as we do not know the values of emf constant, torque constant, damping ratio, and moment inertia. Of course, we can carry out some experiments but it will take a lot of time. That's why, in practical, some users 'try-n-error' to fine-tune the PI or PID controller.
In my opinion (again), understanding of T=Ki and E=Kw are enough in practical (of course not all applications, ok?). Probably we discuss an example:
DC brushed motor
Voltage rating: 12V
Current rating: 2A
Rated speed or base speed: 3000RPM
Rated torque: 3Nm (too powerful, isn't it? Ha Ha ... just for example)
(*Forget about extended speed range control, which could be achieved by flux-weakening or advance phase commutation)
Operating condition: 0RPM to 3000RPM, Load Torque (TL) = 0Nm
No PI controller
When power is on, FULL voltage (VBUS) will be put across the motor terminals. As the back emf (E) is ZERO at RPM=0 and pretty low at low speed (E=Kw, changes with motor speed), the starting current is usually very high (e.g. 2~3 times rated current). Since VBUS - EMF is NOT= ZERO (in fact, ALMOST= VBUS at beginning), (large) current will be pushed through the motor winding. When there is current, there is electromagnetic torque (T=Ki). Then, motor will accelerate until its speed reaches 3000RPM. At rated speed, (VBUS - E) NOT= ZERO, and the voltage potential difference is required to generate an amount of current, which is just enough to produce a motor torque to overcome damping force, to flow through motor winding. At 3000RPM, [motor torque (Tm) - TL - damping torque (Td)] = 0, meaning NET Torque =0, so no acceleration, speed maintains constant. We can always increase the speed if we increase VBUS. But usually VBUS is fixed, e.g. in a 12V battery power application.
With Controller
At this point, we don't discuss about PI controller first. Sometimes, we need to control the current, e.g. to limit the current from damaging either the motor itself or the power electronic that drives the motor. As mentioned earlier, the starting current (inrush current) is very high. This starting current might damage the motor, but usually motor winding is capable of carrying this amount of high current for a short duration (say 10s) before the insulator of the winding fails. Current limit controller (or current controller), usually, is required to protect the power electronic drive, especially the power rating of the drive is lower than the inrush current. For example, an IGBT, 10us of overcurrent current might have caused the junction temperature of the IGBT to rise rapidly (due to hot-spot) and the IGBT fails eventually. Well, we discuss a bit about current controller. Probably we focus on hysteresis type of current controller. In this controller, when the motor current rises above a threshold, the controller will issue a command to turn-off the power electronic drive. On the other hand, when the motor current is lower than the reference current, the controller will turn on the power drive. Okay, let's discuss the motor operation now. When the power is turned on, motor current will rise rapidly due to low E. When the controller detects that motor current is above the current limit, it will switch off the voltage supply to motor. This process is repeated until the E=Kw is big enough to limit the current. If we observe the voltage waveform when motor accelerates from 0 - 3000RPM with an osiloscope, we will see that at beginning, the voltage waveform (across motor terminals) are chopped, when the E is low. However, after that, there is no chopping anymore because at higher speed, E is large enough to limit the current below the rated value or safety level.
Operating condition: 0RPM to 1500RPM, Load Torque (TL) = 0Nm
I think, controller (for dc motor speed control) could be either one of the following combinations:
1) PI speed controller -> PWM generator + current limit -> power electronic drive
2) PI speed controller -> hysteresis current controller -> power electronic drive
May be there are other combinations or methods of control, but I would focus on those mentioned above in this discussion.
In topology [1], the output of the PI controller is translated into duty cycle for the PWM generator. For example, when the speed error is maximum, the duty cycle is 100%. In topology [2], the output of the PI controller is translated to be the reference current for hysteresis current controller. For example, if the motor current is above the the reference current, the hysterisis controller will cut of the supply to the motor, and vice versa. If you're interested, you can study the model given in one of my posts ( ) to learn how to set the value of P and I of the speed controller. Well let's talk about the motor operation now.
Topology [1]
In this section, we assume that the power rating of the power electronic drive is very high until we do not need to protect the switches. When the power is on, the speed error is MAX (wm = 0, wref = 1500RPM, werr = 1500RPM). As the result, the PI controller will issue a 100% duty cycle signal to PWM generator. The duty cycle issued by PI controller will reduce (how fast it reduces depends on the setting of PI controller) when the motor speed approaches wref. The objective of the PI controller is to 'amplify' the speed error in such away that it responses faster (better dynamic) to achieve the required speed. Without the PI controller, the motor might take longer time to achieve 1500RPM. As TL = ZERO and 1500RPM is not rated speed, FULL voltage (VBUS) is not required to maintain the speed at 1500RPM. That's why, at 1500RPM, the switches chop in such a way that the effective voltage across the motor winding is only 1/2 of VBUS (of course it will not be that linear, ha ha). This value is slightly larger than E because this potential difference is required to produce a current that is just enough to overcome the damping torque.
Topology [2]
Power rating of power switches is also assumed to be infinite in this section. So, protection scheme is ignored here. When the power is on, the werr is MAX. So, the PI controller will issue a reference current (depends on the setting of PI controller) that is larger than motor current. As a result, the hysterisis controller turns on the switches. When wm approaches wref, werr becomes smaller, which results in a lower reference current, and hence the switches start to chop. When it reaches 1500RPM, werr is ZERO, so the hysterisis controller turn-off the switches. As no power to the motor to overcome the damping torque, the speed will drop. When it drops slightly (depends on how fast is the sampling rate), werr is NOT= ZERO again, and a higher reference current is issued, which results in switching on the switches. This process is repeated to keep the motor running at 1500RPM. Similar to Topology [1], FULL VBUS is not required and it's achieved through the hysterisis controller, i.e. turn-on and turn-off the switches.
Operating condition: Assume motor runs at 1500RPM and TL=0Nm. Then, a load torque of 1Nm is applied. After that, motor speed must be maitained at 1500RPM
Topology [1]
Say at 1500RPM and TL=0Nm, the duty cycle is 50%. When a load torque (say 1Nm) is applied, the motor speed will drop. This will increase the potential difference (VBUS - E), which will result in higher current to be pumped into the motor. As a result, the motor accelerates and tries to achieve 1500RPM. Also, when the speed drop due to the applied load torque, the PI controller will detect an (large) error between wm and wref (1500RPM). So, the controller will 'amplify' the error as if the error is very large. This error would be translated into the required duty cycle (which is larger than 50% for sure) to PWM generator. As a result, the effective VBUS is higher and more current will flow through the winding. This process is repeated until a value of duty cycle (should be larger than 50) is achieved where the motor is able to run at 1500RPM and to overcome the load torque and damping torque.
Topology [2]
More or less similar to the description given in Topology [1]. The difference is how the PI controller translates the speed error, i.e. it's translated as reference current in case [2].
Well, in my opinion (it's my opinion only, ok? It might be wrong), it's not important to find out the relationship between torque or speed to control a motor (in practical). We can get the speed from position encoder. We do not need to perform integration of torque in real time. Regarding the setting of P and I values, I must admit that I'm still not 100% clear. But after I played around with the Matlab/Simulink model ( ), I can 'feel' it, but it's just difficult to explain here, I hope you understand. It looks to me that it's quite flexible. Probably we need to get the lower and upper boundaries of operation correct, and it will operate well after that. The model would probably not answer you directly, but I think it will help you. I know it's possible to set Ki=1 or =1billion (as mentioned in your post ), but if Ki=1billion, PI controller might not have any useful function anymore. That's only my comment. Pls correct if I'm wrong.