6pwm driver EG2134. The rotor remains locked

Hello. Today is finally the time to play with simplefoc. I used the connection of 6 pvm and arduino nano. In the opeeloop mode without feedback. The engine is spinning, I am very happy about it. But at the command T0, when the engine stops, the stator still remains energized. And if you rotate the rotor with your hands, then resistance is felt. If I use esp32 and feedback, will I be able to fully release the rotor when the engine stops?

In voltage mode, you will always feel that resistance at T0. Switch to the current control mode by adding inline current sense. Once you have properly tuned the PID for current, the rotor will rotate without any resistance at T0.

Moid

Hi @nikolaewich1988,

In case you are not using current sensing:
This driver does not seem to have an enable pin… so you can’t really switch off the driver.
You can use motor.disable() to set all the phase voltages to 0. This should open the low side FETs for all the phases, which I think corresponds to freewheeling the motor.

I used the motor disable function it makes the motor a freewheel but when you use the command to enable the motor to run the BLDC, the motor doesn’t work as enable function sets PWM ( 0, 0, 0). So, I toggle the enable pin for enabling and disabling the motor and it works perefctly.

Thanks

Could you share an example of how it works in code. I haven’t found anywhere(((
Mit freundlichen Grüßen
Iurii

Hi,

There is no example, just enable and disable the Enable pin. Simple.:slight_smile:

Hello. For a long time I tried to find a solution. But it did not work out to achieve the desired result. With the command motor. disable(). the motor stops instantly, as the mosfets of the lower side open and the motor windings connect. If I used this on a scooter, I would instantly lose speed when I reset the throttle stick. But you can just roll by inertia

Hi,

For 6-PWM mode with enable pin, it will depend on the hardware what happens - some hardware drivers will open the low side FETs when disabled, and I guess some will put the half-bridges in High-Z mode. Some will have ā€œcoastā€ and ā€œbrakeā€ modes allowing you to choose.
So if using the disable() function to set the enable pin of the driver to off, it will depend on the driver you are using.

For 6-PWM mode with no enable pin, in the current library version the code will open the low side FETs when you call disable() - so this is not what you want. But the next version of the library will introduce support for coasting, e.g. being able to set the half-bridges to High-Z mode in 6-PWM.
Let me know if you want to help to test it out already before the release… then I can point you to the code on GitHub :slight_smile:

Hello. Of course I will be happy to test it! My stand is your stand😁
My driver does not have an enable contact

1 Like