EFeru / hoverboard-firmware-hack-FOC

With Field Oriented Control (FOC)
GNU General Public License v3.0
1.11k stars 926 forks source link

Very little torque at low RPM, stalling motors. #97

Closed sugeknowles closed 4 years ago

sugeknowles commented 4 years ago

I am running the firmware as follows:

FOC Control, Voltage Mode VARIANT_USART

When I try and run the motors at low (ish) RPM there is virtually no torque and the wheels will stall when under no-load. Any speed request below 90 and the wheels simply don't move. Being BLDC motors, they should be capable of considerable torque even at very low RPM. Any guidance is greatly appreciated.

This is the drive command that I am sending serially (Speed = 90, Steer = 0) to the hoverboard.
HEX: ['0xcd', '0xab', '0x0', '0x0', '0x5a', '0x0', '0x97', '0xab'] Decimal Equivalent: [205, 171, 0, 0, 90, 0, 151, 171]

Any thoughts? Is this an issue with my hoverboard? The motors? Do I need to tune something?

EFeru commented 4 years ago

The behavior you see is normal. In Voltage mode, requesting 90, in a range of up 1000 means 9%, so really low meaning low torque.

My suggestion is: if you are interested in torque use Torque mode, if you are interested in keeping a constant speed no matter the torque then use Speed mode.

sugeknowles commented 4 years ago

Makes sense, I realized this is how voltage works after I posted the question. I was thinking when it said 'constant voltage' it meant that the motors were powered with a constant voltage regardless of speed, and that it was doing PWM modulation or something to affect speed with a constant voltage.. Sorry for the question that jumped the gun on the learning of how this works.

EFeru commented 4 years ago

No problem. We all had a learning curve :relaxed: And you are right a proper voltage control would mean to regulate the duty cycle. But in this case Voltage mode just means a constant duty cycle to the motors.