Simulink eQEP block for speed calculation with C2000 MCU
54 views (last 30 days)
Show older comments
Armin Lensker on 22 Aug 2017
Hi all! ;)
I am working with a C2000 Microcontroller from Texas Instruments. I try to calculate the shaft speed of a DC machine in Simulink using my F28377S-LaunchPad. I already established the high speed measurement using the QPOSCNT signal. My problem/question is about the low speed measurement: I want to use the QCPRD signal to calculate the shaft speed. I already asked for help in the TI E2E forums. You can find the discussion here:
Somebody told me to monitor the QEPST.UPEVNT signal because the timer value is latched into the QCPRD register everytime the QEPST.UPEVNT (unit position event) happens. Does somebody know a way to monitor this signal in Simulink? I cannot find this option in the eQEP block.
Best regards, Armin
Venkatesh Chilapur on 23 Aug 2017
Right now, via our eQEP block, we are not supporting the monitoring of QEPST.UPEVNT signal in Simulink.
However, as a workaround, the "Memory Copy" block can be used and the reference of this signal be provided to be able to read it's state.
Please refer example model "c28035pmsmfoc_cla" shipped with our support package, on how "Memory Copy" can be used. (c28035pmsmfoc_cla -> Hall Sensor C)
You may then design the model to read "QUPRD" around the QEPST.UPEVNT signal and see if it helps.
SALIL PATWARDHAN on 21 Jan 2019
I am working on similar problem. I am using F28379D DSP processor and 1024 pulses per revolution encoder to determine the speed. I am using it with Simulink with block eQEP C28x.
Can somebody suggest me a working example as of hpw to configure C28x QEP block for the same .It would be really helpful and grateful !!!
Michael Valasek on 29 Mar 2018
Edited: Michael Valasek on 29 Mar 2018
Thank you much Armin,
I checked your suggested links. There not much more information than in sprug05 from TI says. I will try to approximate the position with continuous function such as regression of spline function. Then to derive that approximated function to get the velocity. I hope that it works. I will report then the results. This is interesting: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4510607
Pradyumna Ranjan Ghosh on 22 Mar 2019
I am working on estimation of rotor speed and position of an AC machine connected to DC machine via eQEP blocks using DSP F28377s through an encoder. I am observing speed and rotor position through DAC. As per your instructions, speed estimation was good when DC machine is used as motor and AC machine as generator. However, when I am observing the speed while implementing v/f control on the AC machine, the motor was rotating at the speed as given by command, but estimation through encoder was incorrect.
I am attaching the model as per convenience. Do I need to change the switching frequency? Is there any problem of interrupt mismatch for speed calculation?
I would be extremely thankful.
Pradyumna Ranjan Ghosh
Bui Tuyen on 17 Sep 2022
You can see this video https://youtu.be/cBFmRqlkU1Y
Find more on Texas Instruments C2000 Processors in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!