Jump to content
Sign in to follow this  
VisSim Forum Archives

Rotor Angle measurement from QEP through TMS320F2812

Recommended Posts

Submitted by rajinmlinus on Thu, 02/06/2014 - 11:57 

Dear Sir/ Madam

I am using TMS320F2812 dsp Processor. To get the rotor angle i have used QEP encoder and the QEP encoder will produce the pulse of 2000 per cycle. In visim i am using F281x quadrature encoder. please any one explain how we can get the rotor angle from the block and i need to give this rotor angle for the DQ to ABC conversion of the PMSM stator current. I have gone through the example available. I am in unable to understand.

Also, can any one tell me in worked example for one cycle how much pulses they have considered.

Share this post


Link to post
Share on other sites

Submitted by Anders89 on Sun, 02/09/2014 - 11:21.

To use the angle in DQ to ABC (Park) transform as they are provided by VisSim/ECD, you must normalize it to unity scale, so multiply it by 1/(encoder count). This normalization to unity is also required for the QEP Speed calculator. See attached diagram below. (you must be signed in to see it).

pmsm31B2.vsm

Share this post


Link to post
Share on other sites

Submitted by rajinmlinus on Tue, 02/11/2014 - 10:59.

Thank you sir for your reply. My doubt is the processor frequency is 4 times faster than the outside frequency. If the encoder pulses are 2000 counts for one cycle we have to multiply the output by (1/8000)=0.000125 right?. This is happening in the file pmsm31B2.vsm. If i am wrong please correct me.

Rajin M Linus

Share this post


Link to post
Share on other sites

Submitted by Anders89 on Tue, 02/11/2014 - 11:22.

Not sure what you mean by the processor frequency is 4 times faster than the outside frequency. After normalizing the encoder counts you must multiply by the number of pole pairs and do modulo 1 so that you get a complete angle "revolution" for each pole pair. So if there are 2000 counts per mechanical revolution, and there are 4 pole-pairs of magnets, you multiply the encoder count by 4/2000 = .002, then you take modulo 1 to get 4 mini-rotations per mechanical rotation.

Share this post


Link to post
Share on other sites

Submitted by pete on Tue, 08/05/2014 - 20:13.

Rajin, in the file "PMSM31B2.vsm" that was attached previously, in the quadrature encoder normalization logic, there is a fixed-point sum of -1 where the input has been negated. This is fed into a merge block that tests to see if the angle is negative and adds one if it is. The reason for subtracting -1 instead of simply adding 1 is due to the fx1.16 fixed-point format being used. Since there is only a single sign bit and the rest are fractional bits, you can represent -1 but not 1 due to two's complement arithmetic The conditional addition of 1 is only needed to account for use of a negative angle offset, in the PMSM31B2.vsm diagram the angle offset is not used, so you can remove that logic if you want.

Share this post


Link to post
Share on other sites

Submitted by stenod on Fri, 01/29/2016 - 16:21.

In vissim source code file, I am placing eQEP1 (embeded>F280x>)block. What should be its(eQEP block) parameter setting(count mode=? position reset=? etc) . and how will i see output of eQEP in debug file. Shall I connect any block at QPOSCNT1 terminal of eQEP block in source code. Please suggest

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...