Minimum encoder resolution for FOC with BLDC - Page 1
Forum section: electronics / projects

author: Infraviolet
author_rank: Super Contributor
timestamp: March 08, 2024, 12:17:29 am
content: Is there a limit on how crude one's ability to track a brushless motor shaft angle can get before doing meaningful field oriented control is impossible?Obviously this would be in terms of encoder "counts" per electrical rotation, rather than per mechanical rotation, as in the latter case the encoder counts and electrical angle would potentially be out of sync unless you had an indexing pulse somewhere.I've seen descriptions for how just 3 hall sensors give enough position information to give timing hints from which block commutation can operate, telling the motor controller circuit which of 6 "hexadrant"s the rotor is in 9electrically, not mechanically) but for true FOC is a greater accuracy on position measurement needed, and by what sort of factor?Thanks

author: thm_w
author_rank: Super Contributor
timestamp: March 08, 2024, 12:27:51 am
content: Yes 3 halls is enough for normal six step commutation:https://www.magnelab.com/wp-content/uploads/2015/02/A-comparison-study-of-the-commutation-methods-for-the-three-phase-permanent-magnet-brushless-dc-motor.pdfhttps://www.ti.com/lit/an/sprabz4/sprabz4.pdfSensorless FOC is possible as well, with no encoder, so there is no true lower limit:https://www.infineon.com/dgdl/Infineon-TLE987x-Sensorless-Field-Oriented-Control-ApplicationNotes-v01_00-EN.pdf?fileId=5546d46270c4f93e0170f23529817afaBut you can read some recommendations here:https://support.maxongroup.com/hc/en-us/articles/360015546480-Which-encoder-resolution-should-be-chosenhttps://electronics.stackexchange.com/questions/597954/foc-with-50pp-stepper-kills-encoder-precision-by-factor-50Keep in mind number of poles of the motor used.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: March 08, 2024, 06:58:24 am
content: It's a signals problem, like any other.Suppose you have -- not even one pulse per cycle, maybe one per hundred cycles on a gear shaft. How reliably can you infer actual rotor position between pulses?If the speed and load is very consistent, little bandwidth may be required, and the position can be inferred very accurately even with so little information updating your loop.OTOH, if it's an aggressively varying load, like oh Idunno, the actuators on a CNC machine and cutting forces are pushing the load around every which way; or a multi-variate system, like cornering on an RC or EV affecting forward speed, or road shape going up and down arbitrarily; you might need more points per cycle. Or it's a fairly-direct-coupled servo and position needs to be very accurate, even if the torque loads aren't crazy. If any or all of these, you might need to ramp current and therefore torque to match the load very quickly (up to as quickly as the electronics allow, i.e. limited by winding electrical time constant), and as many points per cycle might be needed to resolve it.So, you're right to wonder; it's a continuum, and where along that line you're at, depends on the application.Tim

author: Doctorandus_P
author_rank: Super Contributor
timestamp: March 08, 2024, 08:53:49 am
content: With FOC you want to maintain a 90 degree phase difference between the magnetic fields of the rotor and the stator, and you will be working around the peak of a sine wave. I am guessing that a resolution of around 10 (electrical) degrees would be around the minimum where FOC still works properly.

author: Siwastaja
author_rank: Super Contributor
timestamp: March 08, 2024, 04:59:30 pm
content: Six steps, as in the usual hall-based configuration, i.e. 60 electrical degree resolution, is IMHO the bare minimum. You will see some torque ripple as the indicated angle ripples +/-30 electrical degree around the actual angle, and therefore the optimum 90deg phase shift actually ripples around 75 .. 105 deg. But better have the sensors aligned properly such that the error is really +/-30deg and not for example +40/-20.For many applications, this is acceptable. You'll get reduced torque ripple and maybe a bit better efficiency if you increase the resolution, but no point going orders of magnitude higher. Doubling it to 12 or maybe 16 steps would be a low hanging fruit after which you are seeing diminishing returns. At some point cogging torque and physical motor construction imperfections dominate over the torque ripple caused by angular sensing inaccuracy.Interpolation is also one possibility which I have successfully used. Especially if you have a lot of mechanical inertia then it's pretty safe to interpolate. Note though that if the physical speed changes fast the interpolation has real changes to guess wrong and make the situation worse than without interpolation. And while +/- 30 deg error is just inconvenience, a 60deg error, which happens if you interpolate wrong, totally ruins the performance.