Author Topic: Minimum encoder resolution for FOC with BLDC  (Read 3889 times)

0 Members and 1 Guest are viewing this topic.

Offline InfravioletTopic starter

  • Super Contributor
  • ***
  • Posts: 1139
  • Country: gb
Minimum encoder resolution for FOC with BLDC
« on: March 08, 2024, 12:17:29 am »
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
 

Online thm_w

  • Super Contributor
  • ***
  • Posts: 6943
  • Country: ca
  • Non-expert
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 
The following users thanked this post: Someone

Online T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22258
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Minimum encoder resolution for FOC with BLDC
« Reply #2 on: March 08, 2024, 06:58:24 am »
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
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3750
  • Country: nl
Re: Minimum encoder resolution for FOC with BLDC
« Reply #3 on: March 08, 2024, 08:53:49 am »
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.
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8603
  • Country: fi
Re: Minimum encoder resolution for FOC with BLDC
« Reply #4 on: March 08, 2024, 04:59:30 pm »
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.
« Last Edit: March 08, 2024, 05:07:00 pm by Siwastaja »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf