1
\$\begingroup\$

I am looking to use a BLDC motor to control a reaction wheel. Since this will be used to provide balancing torques for my system, I really only care about the motor torque, not speed (assuming I stay within the max motor speed). Unfortunately, all of the controllers I can find online are speed-based. Since I do not want to make my own controller from scratch, I am wondering if I can simply integrate the desired torque profile to get a velocity profile, and command that velocity profile to the controller. The quality of this controller will depend on how smoothly I can change the velocity profile, the settling time of the speed controller, overshoot, etc.

Will these factors, among others I have not considered, significantly degrade the quality of the torque controller? The (much simpler) alternative I am considering is just using PID control on the PWM of a standard ESC.

For reference, I am looking at using something like TI's DRV10975 controller. I am avoiding general hobby ESCs because I cannot find specifications for converting signal-in to torque or speed output. Though I might be able to tune a controller that is stable, I would prefer to have a sound mathematical model to tune/debug.

\$\endgroup\$
3
  • \$\begingroup\$ But what is exactly your feedback signal? You can't go without one. If it is suitable, you perhaps can use it to feed a speed controller with a mild (gentle) PID (i.e. use desired speed to indirectly control torque). \$\endgroup\$ Mar 4 '20 at 7:36
  • 1
    \$\begingroup\$ Benjamin Vedder's "VESC" which is open source will allow you to do anything you want. You can find older versions and the latest version online. || Current project page || You can buy commercial ESC's which use the VESC software - so you have full control of what you can do with them. Here in the ads, plus many VES refs. || Old VESC V4 site which may be enough. \$\endgroup\$
    – Russell McMahon
    Mar 4 '20 at 8:57
  • \$\begingroup\$ " this will be used to provide balancing torques for my system" - What is your system? \$\endgroup\$ Mar 4 '20 at 15:36
1
\$\begingroup\$

Benjamin Vedder's "VESC" project which is open source will allow you to do anything you want. You can find older versions and the latest version online. VESC allows sensorless or sensor based operation, dynamic braking, FOC control, and much much more.

Current VESC 6 project page

Older 2016 VESC V4 site which may be enough.

You can buy commercial ESC's which use the VESC software - so you have full control of what you can do with them. Here in the ads, plus many VESC refs.

VESC V4 uses current sensors in 2 motor phases - which notionally is enough.
VESC V6 has current sensors in all 3 motor phases - which were found to be 'useful' in practice.

These are NOT recommendations - just examples.

Flipsky Mini FSESC4.20 50A ESC Based Upon VESC With Aluminum Anodized Heat Sink for Rc Car

Flipsky High Current FSESC 200A 60V ESC base on VESC6 for Electric Skateboard Rc Model

_________________________________

Disclaimer: I have no involvement with VESC. I am not (yet) even a user of VESC - but almost all paths tend to lead to it at present.

\$\endgroup\$
1
\$\begingroup\$

The DRV10975 already is a BLDC sensorless speed controller. You should avoid this product, if you want to control the torque. What you need is a current controller, PWM controlled bridge and then a feedback information about the current and speed. You have to limit the torque if the motor reaches max. speed. This is a classic cascaded loop:

schematic

simulate this circuit – Schematic created using CircuitLab

Speed setpoint is the max. speed. The block diagram is simplified due to the screen size, it has also some factor multiplications and what's important, the speed controller outputs the reference torque [Nm] that goes trough a limiter - this becomes your torque setpoint.

The encoder can be replaced by sensorless hardware and algorithm. More suitable IC is DRV8302 or similar, where you get the current and adding comparators, you can do the sensorless stuf.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.