Torque control of a BLDC motor acting as a generator. Bldc двигатель управление

Видео о бесколлекторных моторах. BLDC, PMSM, векторное управление

Бесколлекторные BLDC моторы “на пальцах”

В видео рассмотрена работа синхронной машины, бесколлекторного двигателя потоянного тока BLDC, синхронной машины с постоянными магнитами (PMSM), затронуты вопросы векторного управления трехфазными электромоторами

BLDC контроллер своими руками на микроконтроллере STM32

В видео рассмотренаСхема управления бесколлекторными моторами BLDC, PMSM на микроконтроллере STM32

Контроллер для бездатчиковых BLDC моторов на микроконтроллере STM32

В видео рассмотрен пример управления бездатчиковыми BLDC моторами для микроконтроллере STM32.

STM32 – BLDC Motor Control

Пример регулятора для бесколлекторного двигателя с датчиками Холла (Sensored BLDC)

STM32 – PMSM Control

Пример регулятора для PMSM с датчиками Холла.

Регулятор скорости для бесколлекторного двигателя от HDD

Регулятор скорости для мелких бездатчиковых бесколлекторных двигателей (Sensorless BLDC). Идеальный привод для двигателей от HDD.

Моментное управление двигателем BLDC, действующим как генератор

I'm trying to build a dyno for electric motors. The dyno consists of two motors: a motor under test (MUT) and a load motor. The two motors are connected together through a shaft. On the shaft there's a torque sensor mounted.

For a load motor, I'm using a Revolt 160 Pro (12kW) with a SEVCON GEN4 controller. The idea is to run the motor from a battery or a power supply (connected to the SEVCON controller). When the load motor is acting as a generator, the three phase terminals of the load motor are gonna be switched to a circuit with a dump load to dissipate all the generated power.

My question is: let's say that I have an 8Nm clockwise input on the MUT and a 4Nm clockwise input on the load motor (since I want to load the MUT with 4Nm). The net result on the shaft it's going to be 4 Nm (clockwise referred to the MUT). Therefore, the load motor is going to act as a generator. When it's acting as a generator, the SEVCON controller and power supply are no longer part of circuit, the load motor is just connected to a circuit with a dump load. How can I control the load motor (now acting as a generator) so now it loads the MUT with exactly 4Nm? Do I need to have a variable and controllable dump load to achieve this application?

EDIT: This is a rough schematic of the circuit of the dynamometer on the load side. There's two circuits, one used for the motor when it acts as a generator and another one used when the motor acts as a motor (and therefore it's controlled by a SEVCON controller). My question was how to control the motor when it acts as a generator, i.e. how to control the generator's load on the shaft.

generator brushless-dc-motor motor-controller209

motor - Управление моментом/током для двигателей BLDC

You did not exactly specify the application you are working on, however, the fact that you have limited angular displacement range, and not continuous rotations, does not necessarily mean that you need torque control. If you are interested in positions instead of velocity, you will need position control, and you do not necessarily need also torque control. (e.g. if you want to do gravity compensation though a torque feed forward method, you will need a torque controller, but you would not need something like that for hobby applications)

If your application is simple and does not require high speed precise trajectories, because of simplicity, I would recommend trying position control without a torque control. For this, you could use the velocity controllers well known for BLDCs (as the ones you mentioned, might also come with overload protection) and add an external position loop around it. Your COTS velocity controller will get an input from the outer position controller, implemented on a microcontroller (or similar device, depending on what you use).

The position controller will have to get position feedback of some kind.There are more ways to get angular position feedback, depending on budget and application. Encoders are commonly used, but if high precision is not needed, you might be able to get away with using a potentiometer.

The control rule can be a simple proportional controller at first (PID later), generating the input for the velocity controller. If the difference between the desired position and the actual position (measured by the angular displacement sensor of your choice) is large the velocity controller will get a large input (the said difference multiplied by a constant, which you have to play around with). If there is no difference between the actual and the desired angle then zero velocity is required. Your position controller will generate an output, compatible with your velocity controller (e.g. PWM signals to the velocity controller), that tells the velocity controller how fast and in which direction should the motor move to reach the desired position. Depending on your application this simple approach could be enough.

If you want to start from scratch, you can build your own position/velocity/torque controller, here is an example of how it can be implemented on Atmel micro controllers, here for Microchip. Both documentations recommend motor driver ICs, I think all IC can be considered light weight.

If this is a hobby like project, you might be interested in R/C servos e.g. Dynamixel which have all the functionality you require, position control, built in. The ones I linked are quire capable (incl. torque control, modifiable PID gains), but be aware of their stall torque limitations.