cancel
Showing results for 
Search instead for 
Did you mean: 

Encoder Alignment With Phase Swapping

JMari.7
Associate

Hello, I am working on trying to get a BLDC motor spinning and I have stumbled across some behaviour I don't fully understand. First, some details about the hardware and software I'm using:

  • Software
    • ST MCSDK v5.4.7
  • Hardware
    • Board:
      • Custom board with STM32L476
      • Motor driver DRV8332H
      • Resolver decoder AD2S1210
    • Motor:
      • BLDC 2 pole pairs Surface Mounted PMSM
      • 48V, 3A max current
      • Max speed 3750rpm (10:1 gearbox reduction at the output)
      • Rs = 2.6ohm, Ls = 1.5mH, B-Emf = 6.7Vrms/krpm
      • The motor includes a resolver with 2048ppr

I have been using this same hardware with another motor successfully (pretty much the same specs, Rs and Ls are different, it can take a bit more of current (4A), and the resolver on this first motor has 1024ppr. Other than that, pretty similar motors).

With the first motor, the encoder alignment specs were 4000ms, 1A, 180 degrees.

Now, with the new motor, if I use the same alignment settings the alignment seems to work (small shaft movement, I can see the current ramp in the scope, no faults). When I try to run the motor I get high current draw and a locked rotor. Here is the interesting part, if I do the alignment and then swap phases A and B, I can run the motor correctly. I can make it move in both directions, correct speed control and measurement, and everything seems to work.

If I try to run the alignment in this swapped configuration I don't get faults either, but if I run the motor I get wobble rotation (a lot of vibration).

Why would the alignment with some phase wiring make another phase wiring configuration work? I have been trying to play with the alignment angle as I can see this affects which phase outputs the ramps, polarity of the ramp, etc. I haven't been able to find a solution.

0 REPLIES 0