BLDC Motor Current Control
#1
BLDC Motor Current Control
Good day to all, I'm having a hard time grasping the idea of how current/torque control is achieved in 3-phase BLDC motors which are driven using PWM signals. You see, I plan to implement dual loop control for each of my quadcopter's BLDC motor. An outer loop is for the voltage (speed) and the inner loop is for the current (torque).
Considering that a quadcopter's load is pretty much constant (i.e. its weight), how exactly is the delivered torque controlled. I have an idea on how this is all works for my application but I need external opinions for verification, so that's why I'm here.
First off, let's take out the off-the-shelf ESCs out of the picture. So I will be making my own motor driver, this is required for my application. The way I view torque control is simply limiting the maximum current draw of a particular motor. This is the first thing I want to verify: is torque control = current limiting.
As far as my experience tells me, BLDC motors are typically controlled by PWM pulses and that the larger the duty cycle, the faster my propellers spins. But how about the torque, is it constant as my load is relatively contant? PWM controls the motor by adjusting the average power that is delivered to it, right? So the way I view it for my application, is that the my external speed controller outputs some sort of a current required value to the internal current controller which then figures out what duty cycle is required based on this current value outputted by the speed controller and the feedback from the current sensor. Effectively, I should be controlling average power to provide a certain speed given a certain torque output, is that it?
The last thing I want to know/verify is in what way does the torque affect the flight of a certain air vehicle say a helicopter or a quadcopter?
I hope my questions are stated clearly enough. Inputs would be really appreciated. I'm new here, so please let me know if I crossed any of the lines that have been set here. Thanks.
Considering that a quadcopter's load is pretty much constant (i.e. its weight), how exactly is the delivered torque controlled. I have an idea on how this is all works for my application but I need external opinions for verification, so that's why I'm here.
First off, let's take out the off-the-shelf ESCs out of the picture. So I will be making my own motor driver, this is required for my application. The way I view torque control is simply limiting the maximum current draw of a particular motor. This is the first thing I want to verify: is torque control = current limiting.
As far as my experience tells me, BLDC motors are typically controlled by PWM pulses and that the larger the duty cycle, the faster my propellers spins. But how about the torque, is it constant as my load is relatively contant? PWM controls the motor by adjusting the average power that is delivered to it, right? So the way I view it for my application, is that the my external speed controller outputs some sort of a current required value to the internal current controller which then figures out what duty cycle is required based on this current value outputted by the speed controller and the feedback from the current sensor. Effectively, I should be controlling average power to provide a certain speed given a certain torque output, is that it?
The last thing I want to know/verify is in what way does the torque affect the flight of a certain air vehicle say a helicopter or a quadcopter?
I hope my questions are stated clearly enough. Inputs would be really appreciated. I'm new here, so please let me know if I crossed any of the lines that have been set here. Thanks.
#3
Tech Fanatic
iTrader: (13)
Good day to all, I'm having a hard time grasping the idea of how current/torque control is achieved in 3-phase BLDC motors which are driven using PWM signals. You see, I plan to implement dual loop control for each of my quadcopter's BLDC motor. An outer loop is for the voltage (speed) and the inner loop is for the current (torque).
Considering that a quadcopter's load is pretty much constant (i.e. its weight), how exactly is the delivered torque controlled. I have an idea on how this is all works for my application but I need external opinions for verification, so that's why I'm here.
First off, let's take out the off-the-shelf ESCs out of the picture. So I will be making my own motor driver, this is required for my application. The way I view torque control is simply limiting the maximum current draw of a particular motor. This is the first thing I want to verify: is torque control = current limiting.
As far as my experience tells me, BLDC motors are typically controlled by PWM pulses and that the larger the duty cycle, the faster my propellers spins. But how about the torque, is it constant as my load is relatively contant? PWM controls the motor by adjusting the average power that is delivered to it, right? So the way I view it for my application, is that the my external speed controller outputs some sort of a current required value to the internal current controller which then figures out what duty cycle is required based on this current value outputted by the speed controller and the feedback from the current sensor. Effectively, I should be controlling average power to provide a certain speed given a certain torque output, is that it?
Considering that a quadcopter's load is pretty much constant (i.e. its weight), how exactly is the delivered torque controlled. I have an idea on how this is all works for my application but I need external opinions for verification, so that's why I'm here.
First off, let's take out the off-the-shelf ESCs out of the picture. So I will be making my own motor driver, this is required for my application. The way I view torque control is simply limiting the maximum current draw of a particular motor. This is the first thing I want to verify: is torque control = current limiting.
As far as my experience tells me, BLDC motors are typically controlled by PWM pulses and that the larger the duty cycle, the faster my propellers spins. But how about the torque, is it constant as my load is relatively contant? PWM controls the motor by adjusting the average power that is delivered to it, right? So the way I view it for my application, is that the my external speed controller outputs some sort of a current required value to the internal current controller which then figures out what duty cycle is required based on this current value outputted by the speed controller and the feedback from the current sensor. Effectively, I should be controlling average power to provide a certain speed given a certain torque output, is that it?
The way I understand it, speed is handled by PFM, torque is handled by PWM. RPM and rotor position are sensed by Back EMF Networks. Maximum allowed current draw by the controller is handled by reading an external current shunt.
http://www.datasheetcatalog.org/data...on/mXrtxvt.pdf
That's the Datasheet for a Microlinear BLDC Motor controller for Delta or Wye-wound BLDC Motors. It'll give you an idea on how it all goes together.
The last thing I want to know/verify is in what way does the torque affect the flight of a certain air vehicle say a helicopter or a quadcopter?
I hope my questions are stated clearly enough. Inputs would be really appreciated. I'm new here, so please let me know if I crossed any of the lines that have been set here. Thanks.
I hope my questions are stated clearly enough. Inputs would be really appreciated. I'm new here, so please let me know if I crossed any of the lines that have been set here. Thanks.
#4
Tech Rookie
If the torque is constant then the current should be constant since torque is proportional to current.
I don't believe a current sensor is needed to regulate current when you know the Kv rating of your motor and the resistance of it. Since current is equal to voltage divided by resistance and the voltage across the motor is equal to the voltage supplied to the motor minus the voltage generated by the motor, you should be able regulate current by regulating the maximum voltage difference between the PWM and the motors BEMF which is proportional to its speed and Kv rating.
I don't believe a current sensor is needed to regulate current when you know the Kv rating of your motor and the resistance of it. Since current is equal to voltage divided by resistance and the voltage across the motor is equal to the voltage supplied to the motor minus the voltage generated by the motor, you should be able regulate current by regulating the maximum voltage difference between the PWM and the motors BEMF which is proportional to its speed and Kv rating.