My project is a CNC router, put two motors on the ends of a 10’ board and hang a router between them. https://www.maslowcnc.com/ the current design uses 12v 2a DC motors into a ~300:1 gearbox with a 10mm radius chain sprocket on it and can produce up to ~66 pounds of force (at very low speeds, 20mm/s max, but in practice, unreliable above ~10mm/s)
I hadn’t thought of the problem of open loop letting the magnet align with the field and then produce a small amount of force, that’s a valid issue that means I really do need to get an encoder
And it may be that these motors don’t produce enough torque for this machine (I had assumed that a 250w motor would have enough power compared to the small ones
But shouldn’t stall speed be the same for open vs closed loop? If you are putting the same power into the windings and rotating the field, in open loop you will have the same force on the rotor once the magnetic angle gets to 90 degrees as it would have with a perfectly sensored closed loop. There will be ‘springiness’ between 90 degrees and -90 degrees magnetic, but it won’t stall past this unless it would stall a fully sensored motor, right?
I think one misunderstanding here is the difference between commutation and FOC. My understanding of the term is that commutation mode is when you are using the 6-step switching mode, applying a constant voltage for the entire step, jumping between 6 different magnetic field angles. FOC mode is when you are applying power to all three phases simultaneously, continuously varying the magnetic field angle.
In FOC mode, depending on your waveform you can get very close to the same power as constant on, or you can be down as far as 70% of max power (sin wave, space modulation, space modulation with 1st harmonic injection, I haven’t looked to see what simpleFOC uses, I assume it’s on the more sophisticated side or it’s an easy win to add it
)
Both of these can be used in open, back EMF, hall sensor or full position sensor mode. (with hall sensors, you don’t have the full angle info, you just get it a few times per rotation, so you have to operation in open loop mode to estimate your action positions between sensor readings)
Are you saying that simpleFOC in FOC mode doesn’t use FOC for open loop operation?
Another open loop question: By default you don’t know the starting position in open loop mode, but I’ve read about ‘high frequency injection’ where you send high frequency, short duration, pulses through each pair of windings and measure the back EMF generated on the 3rd winding and can then map out the rotors position (magnetic position anyway) so that you can start up with the fields oriented correctly and avoid the rotor going backwards momentarily. Does simpleFOC implement this?