It wouldn’t need to be on the same timer as the Motor control timer. Most MCUs has a few timers and a pin we don’t use, so I don’t see that as a problem, but there may be extreme cases.
I agree with your observations. The extra regen circuit proposed puts a unnecessary layer of complexity in the equation. If the method you described earlier in the thread, taken from that research paper works, then it works and would need confirmation.
In the case of a light_EV or eMTB I think a brake resistor is a good idea and it could even look cool.
@Valentine plz don’t overthink it too much, it really is quite simple. Maybe not so simple to program, but the general idea is to boost the BEMF through the body diodes of the high side FETS to a safe charging voltage. If another method for breaking is needed, maybe because the regen method is not providing sufficient braking, then the brake_resistor could be useful in combination with mechanical braking. The regen braking should never be the only way of stopping, so it really is a choice for the driver, when circumstances permits it.
In the case of the hill, or a long decline, what we are aiming for is to generate some juice, so braking would maybe be there wrong word, since we still would want to move forward/downwards. The case where we wish to stop from cruising speed to standstill, possibly in front of a red_light, then the regen_braking being done is mainly the motor inertia.
In the case of a wind_turbine or water_turbine for that matter, our goal would be the same, to utilize the force exerted on the blades.
Regarding the other method for braking, using the motor and the brake_reistor. That does demand a way to cut power from the battery, so we do not burn battery energie through the resistor, when we wish to offload the motor. This can either be done in the BMS, if it can talk to the controller or with a MOSFET in front of the motor controller. IMO the ideal setup will have coms between motor control and battery, but as @runger said, not all batteries has a BMS. In my view it’s getting quite usecase specific.


