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.

TMS320F28379D: eQEP initialization from known electrical angle of the motor.

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

I am working with the Design drive and a 28379D MCU. I have developed a resolver that works into the resolver input on the design drive, all is well, next the HW team developed a resolver to QEP card, plug the resolver in and plug the card into the QEP, all is well. Now they would like to get rid of the QEP calibration by reading the angle from the resolver and figuring out what to write into the QEP registers, I am not having any luck with this! How do I init the eQEP given that I know the electrical angle of the motor?

  • Do you still connect the resolver to C2000 for detecting the initial rotor position? If not, you have to run the alignment process to do the QEP calibration. 

  • I connect the resolver to a board that emulates the quadrature encoder, the output of that gets plugged into the eQEP1 connection on the design drive. Basically we are converting a resolver to the quadrature encoder but they do not want to spin the motor to calibrate the eQEP, so on startup while the motor is stationary they want me to read the electrical angle from the resolver over SPI and program the eQEP registers so that we can run the motor right away!

  • Hello Duane, You may run the motor using angle info from resolver until Z pulse is detected, which will also provide the offset to be used. In case if you have only resolver, it could serve as both angle and speed transducer. You can also use the resolver for angle, and use the emulated quadrature output for speed measurement, in which case no special register write are needed. 

  • Setup of the resolver to QEP chip is done at startup over SPI, I then read the electrical angle from the resolver chip and program what into the eQEP registers. The eQEP must be used at runtime without waiting for an index to calibrate, the hardware is fixed.

  • Duane, sorry about the delay. Once you know the initial angle, you can always add on what you compute from QEP. I am not clear what is that you intent to write to QEP registers.

  • I have an AD2S1210 resolver to QEP converter chip on they system setup to send pulses to the eQEP1 module

    At startup while the motor is not moving I want to read the resolver angle from the AD2S1210 chip by SPI, lets say it it tells me 35deg electrical, what do I program into the eQEP so that I can immediately run the motor from the eQEP without needing to calibrate the eQEP by spinning the motor open loop until it calibrates to the marker pulse.

  • The QEP position counter can be initialized via software.  Refer to the section "Position Counter Initialization" in the QEP chapter of the device Technical Reference Manual (TRM). 

    The TRM is available on the F2837x product page: https://www.ti.com/product/TMS320F28379D

    Also refer to the driverlib documentation which can be found in C2000Ware:  

    C:\ti\c2000\C2000Ware_<version>\device_support\f2837xd\docs\html

    Regards

    Lori

  • Thank you Lori, this is the right call, the difficulty was that we have a 12 pole motor a 6 pole resolver. When the eQEP is allowed to walk and calibrate all works correctly, when reading the resolver angle and programming the eQEP this did not work, short story is there is a 60 degree offset that is needed to be added to the position the resolver reports, program that into the eQEP and it indeed works correctly.

  • Great!  Thank you for the feedback, Duane.