Closed LUCKandII closed 5 months ago
That chip does not really fit the application here and is a different application. The DRV used in the odrive and vesc is only a 3 phase gate driver and not a motor controller and the integrated current sensors are lowside only while the TMC needs a bidirectional sensor at the output so it can not be paired with the TMC. The TMC4671 is a motion controller and needs separate gate drivers and handles the current control, encoder & analog sensing and FOC commutation for torque mode. It is an ASIC for most of the realtime motor control algorithms while the STM handles the lower update rate usb communication, effects and sends a torque value and requests the encoder position to/from the TMC.
You can use the STM board with other motor drivers if they accept a PWM torque value and you have an encoder that can be read directly by the STM. Or implement support for a custom motor driver or use a vesc/odrive based driver via CAN.
Great project and thanks all your sharing!
I'm a little bit curious why you choose TMC4671 as the driver. DRV830x series are often used in odrive project, can those chips or other chips be used as an alternative?
Another question... Can I use another motor driver chip with pwm input and current sensor output? In that case, can openFFB main board run the FOC algorithm? If so, openFFB main board+ my own driver board(pwm input and current sensor output) + position sensor board(encoder) seems enough to run openFFB project... If not, which means openFFB main board doesn't run FOC algorithm, it seems that there is no need to choose STM32F407 because weaker chips may enough to run this project.
I don't know if my consideration is correct, so would like to know your answer : D