Hi @Antun_Skuric ,
First off, I just want to say this work you’re doing is fantastic and really important. Really excited to find Simple FOC and your progress on this Power Shield is really exciting.
I’ve been reading through this thread though and I’m unclear if the PowerShield in it’s current version (0.2) is suitable for closed position control? We operate several BLDC motors in a farming robotics application using gear reduction of 20:1 or more so we operate at high speed but require precise position control for landing on targets and holding position. Could you clarify if given the limitations of the current board if it is still feasible to use in closed loop position control in our use case?
We were able to find a supplier for BTN8982 and are waiting for parts to arrive to build up a couple Power Shields for testing. I had a couple of questions if you have time to answer as well:
-
Implementing current sensing in SimpleFOC: The board calls for the INA240, after closer inspection on the photos I could see that it is the INA240A2 with a gain of 50v/v. I’m assuming we would instantiate with the
InlineCurrentSense
, but above you mentioned the board did not do bi-directional current sensing so will current sense still work with the FOC library in closed loop control? -
PWM Frequency: I noticed you mentioned PWM and the engineering note from Infineon which they recommended to run at ~1KHz. We operate at high speeds with 15:1 or greater gear reduction in position control mode. What are the effects of running at a lower PWM frequency?
-
The ODrive uses a 8 x 470uf caps in parallel on the DC bus side that appear to correspond to each output channel: 6 caps for two 3phase motors and 2 caps for the brake resistor. Is there a reason you chose one cap and/or any drawbacks to use more?
-
Back current: Do you know what the current behavior is for the board if it experiences back current from braking of holding position? We use a large battery 1kwh battery pack and use the regen features of ODrive but I’m fairly sure they just dump everything back to the battery and only redirect energy to the brake resistor if a certain limit is set.