This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

FOC PMSM with Hall feedback for position sensing

I see projects for FOC PMSM with sensorless and with QEP encoder.  Is it possible to use Halls rather than a QEP encoder and run the Halls through the QEP module?  I'm thinking of using the count time between pulses because the Hall pulses will come so slowly compared to QEP encoder pulses.  I also intend to run the motor at 40,000 RPM.  Does anyone have experience with this configuration (and speed)?  TIA.

  • In order to count QEP needs two inputs, A&B , and also they should be 90 phase shifted ... most likely you have three halls ... 120 degrees shifted and therefore I don't think you can run hall signals through QEP ... long time back implemented BLDC drive using halls upto 40KRPM ... however, got better result with the same drive when implemented sensorless algorithm ... I think at high soeed you will be better off using sensorless techniques.

  • Our application only runs in one direction so I won't be using QEP for direction.  Is that what the 90 degree phase shift is for?  I only want to use the QEP module for position and speed.

    Our application has some torque load variations.  I read someplace where significant changes in torque load can cause a sensorless to get lost.  I could just load my Halls at 90 degrees.  My only issue there is it won't be very accurate (of course, it isn't that accurate now at 120 degrees) so if the QEP is looking for high accuracy at the phase relationship, I guess I could run into trouble there. 

    Any ideas/comments?

    Thanks

  • Well QEP module has no clue from where the edges are coming from...as long as you provide two pulse trains with good edges the module will keep track of all the edges by counting rising or falling edges of those signals. So, yes if you signal condition your hall outputs then QEP module will count ... you may have to provide another hardware edge to act as an Index to reset the counter...otherwise you will need to take care of resetting in software. Once the edges are counted it will be upto your algorithm to manage and extract speed and position information ...there are implementations where by looking the time or pulse difference between two edge the speed is calculated ... you can find position by looking at the number of counts from Index event. As you can tell , there are various ways to manage this situation once you have QEP counts.

  • Thanks Arefeen.  I think that answers my question.  I'm sure I'll have more later but by then I'll be able to be more specific.