Newbie here, tried to get a brushless gimbal motor (2805 140KV) to spin in open loop with the g431 esc-1, but it simply won’t budge. I hooked up the motor wires to a scope and confirmed there was simply nothing coming out. I took the example code and just modified it slightly to use the builtin potentiometer instead of the commands.
Also, the motor’s data sheet says there’s 14 poles which means the pole pair value should be 7 right?
What environment are you using? Is this on PlatformIO or ArduinoIDE?
That’s right!
That post is about the Teensy microcontroller, it doesn’t apply to B-G431-ESC1. We have some other forum posts about the B-G431-ESC1, including extremely long ones with many code examples:
I also just found out that there is a signal coming out of the phase wires (previously undetected due to oscilloscope misconfiguration). However, the motor still doesn’t spin and am still getting the error message MOT: Init not possible, driver not initialized.
By adding debug print statements in the library it seems that the driver is not calling the correcting initializiation code. Through the debug statements, it seems that BLDCDriver6PWM.cpp calls the generic _configure6PWM function found in generic_mcu.cpp instead of the hardware specific one which in the case of g431_esc-1 would be stm32_mcu.cpp. The generic driver exits immediately returning an error resulting in the driver being uninitialized.
I’m quite new to PlatformIO, but where does BLDCDriver6PWM.cpp know which hardware specific driver implementation to call? Seems like it’s simply not calling the intended one (stm32).
EDIT: Deleting the generic_mcu.cpp file made the driver call the correct hardware specific code, so no more error messages! Sadly however, the motor still doesn’t spin.