Sensorless seems to be generally assumed to be a cheapie approach or a crummy approach, but after my explorations it appears to have many considerable advantages. In terms of cost of course, but also energy efficiency and thus maximal power output, system reliability, and general purpose utility for a range of different motors appears to be on the table.
Fundamentally, I have found that the error introduced by the sensor and reading it is an issue, for instance. Depending on the type of sensor there is code propagation error, measurement error including from stray magnetic fields and the mounting of the sensor. You have to adapt each sensor to each motor which complicates things.
There are approaches like IPD that can work at zero RPM to sensorlessly detect rotor position. Not absolutely, but at least within one “step” i.e. for 7 pole pair motor 1/7 of a rotation. I think with careful design it might even be practical to get a decent servo motor working with a fully sensorless design…
I posted previously that I got considerably higher energy efficiency when I eliminated the sources of error in the sensor etc. We are trying to regulate the angle to the optimal but I think in a lot of cases it’s not optimal, thus efficiency suffers. With sensorless, the sensor is the motor basically so you the sources of mechanical error and stuff are much reduced.
In my case, the water resistance of the assembly matters. A sensor is susceptible to water… I can paint it with encapsulant but that’s more complications. It’s a bit silly to use a sensor on fan, it’s clearly some overkill.
It also seems to me to be one of the best ways to make things plug and play which is always nice…
It seems to be that the so called Luenberger observers are the most common and standard approach, combined with IPD or open loop for startup of the rotor. Luenenberger observers appear to be a kind of state observer
I think the future for my fan is to use a Lepton 3.0 or similar (one step beyond the current lepton 2.0, solving the noise issue and using a G431 MCU, primarily, with a few modifications to break out more pins etc so it’s general purpose and thus can be adopted more broadly by the community as a flagship board for SimpleFOC). Ideally with sensorless drive. If it’s up to me, I would probably use what I dub tuned open loop with stall detection, which is not really that good and probably useless to anyone else, but I would like to make my experiments applicable more broadly.
Anyone else interested? I think the first stage is to hunt up some good documents and learn the fundamentals.