Hi all - I am very new to electronics so I apologize for the lack of knowledge.
I am looking to do a small project using a scroll expander connected to a generator in order to create power. The mechanical energy would be sourced from a pressurized air stream flowing through the scroll expander. The air stream is somewhat irregular and would cause fluctuations in the rotational speed. In an effort to make things more complicated I wanted to see if it were possible to control the rotational speed of the expander/generator using the Odrive.
The two questions I am trying to answer are:
1.) How would you best manage the irregular rotational speed to produce cleaner power (BLDC with an inverter)?
2.) Would the ODrive be able to control the rotational of the generator?
I think the simplest way would be to use the ODrive in velocity mode and then just set a velocity setpoint. Then the motor + scroll expander should run at that speed independent of the air pressure: the braking/generating torque would be modulated to match to keep the speed constant.
The main complication would be tuning the velocity control loop gains, but hopefully some trial and error can land you on something reasonable.
Of course this would mainly work if you have a battery or supercapacitors attached to the DC bus that is buffering the power, and you would need to have an external controller that ramps down the velocity setpoint if it starts getting overcharged.
This is a fundamental misunderstanding. Generating clean DC power doesn’t depend much on the speed of the BLDC, and in fact trying to get the ODrive to run the target speed will make it worse, as it will introduce power ripples in the DC bus when you switch from generating to motoring.
You need DC bus current / voltage control, which we don’t currently have, but you should be able to get close by putting the odrive in torque mode and ramping up the torque target, or maybe in velocity control with a target velocity of 0rpm (not the desired speed).
It really depends on what they mean by “clean”. If you want constant power, then yes you need a special control mode which we don’t have.
If you just want good velocity control, and then let the battery buffer the power fluctuations, without excessive spikes or noise (this is “clean”), then you are good to go with just velocity control.
Apologies - the confusion is a result of my lack of fundamental understanding of generation and electronics in general.
I would assume that for now that generator is connected to a battery, lets say a typical car battery. The goal would be to charge the battery and control the rotational speed of the generator/expander combo. The issue I run into would be that the control of speed would need to happen around the clock and without any help from valves on the pressurized stream.
Again - probably not the place for it, but would a BLDC be best for the operation or would an induction motor or invertor be a better choice?
When the ODrive is controlling a motor as a generator, and it puts a braking torque on the shaft, it acts like a generator. The work/power is converted to electrical energy which is pushed as current onto the DC power terminals of the ODrive.
@Soul, you may want to read how battery charging works. An ODrive that has regen (=generator mode) enabled sort of assumes your DC bus is connected to a rechargeable battery. This bus is used to power up the electronics of the ODrive and potentially to drive a motor, but as @madcowswe has mentioned, if a braking torque is applied (regen/generator mode), the power direction is reversed - power is taken from the motor and pushed to the DC bus, raising its voltage. The battery counteracts this raising - current starts flowing into the battery, so it is now charging. If you keep doing this - something spins your motor and the ODrive applies braking torque - the battery will keep charging until it is 100% charged. When this happens, there would be no where for the energy to go. This is where you need some external logic (the external Teensy/Raspberry Pi/PC mentioned), which needs to act to prevent battery overcharge. This will e.g. disable the regen, or add an external load, likely a properly-sized resistor, to turn the excess energy into heat, as you’ve suggested.