I am trying to design a simple FOC-based pcb for an extremely small spherical balancing robot, in which I have to control two gimbal motors (https://store.tmotor.com/product/gb2208-gimbal-type.html).
until now I have decided to go with the stm32g431 for the microcontrollerr, and ma730 spi absolute encoder for feedback, and TMC6300’s as motor drivers.
I am going to use two 18500 Panasonic cells in series to power the robot (voltage range 6V-8.4V).
I have a few questions,
I want the best control possible and cost is not an issue, but space is,
so will current sensing help me to control the motors better?
I am planning to use low-side current sensing with external OPAMPS (LMV321 data sheet, product information and support | TI.com) one for each tmc6300.
Also, I want to have the maximum torque possible at the lowest speed in my application, as the two wheels are very close in my design.
Is it any better to have dedicated microcontrollers (G431) for each motor(both of them running independent FOC loops), and both of them controlled by a separate microcontroller via some kind of communication like CAN,SPI? I have seen the storm boards where one microcontroller can control 3 motors simultaneously but I think that affects performance. I tried mapping all the pinouts in one G431 on the stm32CubeMX and got all the pins required for controlling the two motors on a single stm32g431cbu6.
The TMC 6300 is rated till 11v, and the 2s configuration range is only (6V-8.4V), I tested the motors with tmc6300 and the current draw for the motor only reaches 0.80 Amps max @11V(stalling condition), and the current draw and torque reduces when I decrease the voltage, should I design a boost-conveter within the PCB to get 11V supply for the motor drivers or directly supply the driver with the variable battery voltage.