Hello guys. I want to use several motors in my project (6 pieces). I haven’t selected a controller for this yet. But the problem I see now is that when you turn on each motor is calibrated in turn. In my case, this is a problem. Is it possible to calibrate all motors at the same time? Or maybe there is another way? The motors are interconnected to move the platform in six directions.
It would be fairly easy to do that if you are using magnetic encoders. If you calibrate each motor one at a time (disconnected from the platform), you can find the electrical offset of each one. Then on startup, you can pass that value in to
motor.initFOC(elec_offset), giving each motor their respective electrical offset, and not need to do the calibration sequence.
Of course the only limitation to this is when your starting point has an uncertainty greater than one revolution of the motor. In that case you will need external sensors to figure out the exact starting angle.
see this post about it: Skip calibration - #2 by Antun_Skuric
I don’t think so unless you have them on the same MCU, which I strongly advise against (I also have doubts you will have acceptable performance running 6x simpleFoc on the same MCU). If every motor has its own MCU, they will calibrate motors simultaneously (unless you initialize them sequentially in your code for whatever reason).
And 6 motors moving in 6 directions sounds like a job for an absolute encoder. As Brrrice mentioned, you should go that path and avoid calibration.