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.

28335 eQEP配置测速问题



各位好,小弟我关于eQEP的配置有些问题想来请教一下:

在正交模式下,根据操作手册:

    低速测量流程:1)单位位置事件发生(UPPS配置) ;

                             2)标志位UPENVT = 1 ;

                             3)此过程中捕获计时QCTMR以捕捉时钟CAPCLK计数(CCPS配置);

                             4)捕捉计时QCTMR加载到捕获周期QCPRD中,即QCPRD = QCTMR ;

                             5)捕获时钟自动清零,QCTMR = 0;

                             6)通过QCPRD的时间、单位位置事件脉冲数、编码器线数,可以计算出速度及角度; 此为T法

    高速测量流程:1)锁存数据方式选择,在此选择单位时间事件发生时,QCLM = 1;

                              2)单位时间定时器QUTMR = 单位时间周期QUPRD,单位时间事件发生;

                              3)位置计数器QPOSCNT加载到位置加载寄存器QPOSLAT;

                                    捕获计时QCTMR加载到捕获计时锁存QCTMRLAT;

                                    捕获周期QCPRD加载到捕获周期锁存QCPRDLAT;

我有2个问题要请教一下:

    1)高速测量的计算元素是什么?其采用的是M法 ; 那么位置计数有了是QPOSCNT ; 时间计数用哪个呢 , 是QCTMRLAT还是QCPRDLAT?或者说QCTMRLAT和QCPRDLAT有什么区别?

    2)高速测量中单位时间事件发生时 , 捕获计时QCTMR加载到捕获计时锁存QCTMRLAT , 捕获周期QCPRD加载到捕获周期锁存QCPRDLAT;

          但是在低速测量中,单位位置事件发生时会产生”捕获时钟自动清零,QCTMR = 0“ , 这会影响到高速测量的计时器加载锁存动作“QCTMRLAT = QCTMR”;

          两者在QCTMR计数器上似乎是矛盾的 , 是不是这样? 还是说单位时间事件 和 单位位置事件可以有标志位进行切换或是直接禁止其中某一个事件?还是说我的理解根本就是有误?

小弟诚心请教了,谢谢各位。

   

  • 我在看EQEP电路时,同样对QCTMR,QCTMRLAT,QCPRD和QCPRDLAT这4个寄存器的功能理解的有些模糊,希望有人能解释一下这四个寄存器的功能,以及在何时寄存器的数值变化。

    在TMS320x2833x, 2823x Enhanced Quadrature Encoder Pulse (eQEP) Module文档中,对以下描述也存在理解上的困难,

    The eQEP capture timer (QCTMR) runs from prescaled SYSCLKOUT and the prescaler is programmed
    by the QCAPCTL[CCPS] bits. The capture timer (QCTMR) value is latched into the capture period register
    (QCPRD) on every unit position event and then the capture timer is reset, a flag is set in
    QEPSTS:UPEVNT to indicate that new value is latched into the QCPRD register. Software can check this
    status flag before reading the period register for low speed measurement and clear the flag by writing 1.

    高亮处说明,是在遇到单位位置事件时,QCTMR锁存到QCPRD中,然后QEPSTS:UPEVNT = 1;请问,单位位置事件是指哪个哪个标志位?

    请高人解答,谢谢。

  • 你在做闭环控制的时候用Example_posspeed计算过转速嘛
    我之前发的这个帖子希望可以帮到你
    http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/p/70567/169616.aspx#169616

  • M法(又叫定时测角法)是在规定的时间间隔T内,测量编码器所产生的脉冲数m1来获得被测速度值。该方法的问题是计时准确计数不准确,所以此方法的检测过程在极端情况下会产生±1个转速脉冲的误差,则相对误差为1/m1,当被测装置转速较高时,m1将会较大,故只有在电机转速较高时才会有较高的测量精度。所以M法只适用于高速测量场合。

  • 我用28335里自带的posspeed做测速实验,转速在哪里显示

  • 这个程序在低速时需要改变配置吗?我修改了pwm的频率依旧看不到低速时的测量结果

  • 您好,看到您得帖子,想咨询您一下:

    1、永磁同步电机矢量控制的例程,为什么我用位置传感器测得的速度与给定的相差特别大,而且方向一会正一会负,用示波器测位置传感器的三路脉冲如图,这是什么问题呢?

    2、如果改用滑动模态估算法得到的速度是正确的,然而如果构建速度外环控制的话,电机就会震动,然后停止转动,这又是什么问题呢?

    非常感谢!!!

  • 你好 请问你调试的是TI的官方例程嘛

    我没有调试过官方例程的 主要是考虑到电机算法和硬件电路,电机参数,以及负载特性依赖性强,我的功率电路,控制电路,和矢量算法是根据我的电机平台自行设计的,没有参照官方的东西。28335和2812我都做过,这个转速检测的官方例程是在28335上用的,2812的转速采集部分是自己写的。我先做的2812平台多种电机算法,后将部分代码移植到28335上。

    你的位置传感器具体是什么呢 是光电编码器嘛 我用的是2500线的光电编码器。

    你的电机现在是震荡嘛?

    从转速的表象不好直接分析出原因,可能性很多,比如编码问题,pi参数问题等等,也可能是初始定位的问题。

    永磁机调试时应首先考虑定位,然后调试矢量内环,稳定后调试速度外环

    原理上讲应该是这个调试流程,如果你用的官方例程,可能帮不上你太多,我不清楚官方的代码是怎么做的

    调试闭环系统,不要一上来就调试整个代码,应按部就班,直接从转速的运行结果看不出什么来

    以上请参考

  • 谢谢您的回复,我在调试TI的官方例程。电机说明上是光电编码器,但是用示波器观测到编码器的三路波形好像不太正确,而且测得的速度不正确。我改用无位置法测得的速度是正确的,但是将该方法测得的转子位置用在park变换之后电机就会震动,这与您说的初始位置确定有关系吗?这个是怎么进行的呢。非常感谢您。

  • 从波形看你的3路信号应该有问题啊   

    A B相有90度的相位差才对啊   

    还有Z相不应该以这么小的周期来啊   应该是你的反馈问题导致出现问题

  • 您好,我用的是bly172s-24v-4000型号的电机,编码器是集成在电机本体里面的,这三路信号就是在里面引出的,这样的话就是编码器的问题了吧?程序再优化也达不到想要的效果。

  • 可以验证下光电编码器的信号有没有问题。

    你已经用示波器测过了,我刚才也测了下我的光电编码器波形,贴出来给你做个参考:

    上图中通道1是A序列,通道2是B序列

    公司多通道示波器在厂房,单位没有了,所以我就测了这个图,通道1是矫正脉冲Z,通道2是A序列

    看你之前写的 无传感器矢量是正常对吧

    那就在无传感器矢量里面加上转速采集,看下你的设定转速和码盘采集回来的转速之间的关系

    你觉得可行吗 

  • 谢谢您的回复,我用的无传感器速度测量时正确的,但是我一直纠结这个型号电机bly172s-24v-4000编码器输出的问题,而且看您做的编码器输出也非常正确。这是我再次测量的,黄色是z脉冲,另外两个是A和B。z脉冲不应该是这样吧,是编码器有问题吗?谢谢您。

  • 从你的波形看有两个疑点:

    1.蓝色的编码器脉冲序列为什么有那么大的噪声呢;

    2.若黄色线为Z脉冲,那确实不太正常。Z脉冲是矫正脉冲,电机转动一周出现一次,Z脉冲的位置与永磁机转子位置重合,故可以用Z脉冲检测转子初始位置,你看下是不是信号线有接错的呢

  • 我百度了下你的电机型号,你是不是电机搞错了呀!!!!!!!!!!!!!

    确定做的是永磁同步电机的矢量控制嘛

    可是你的这个型号 bly172s-24v-4000 搜索出来怎么是BLDC直流无刷电机

    所以 亲........................ 你测的这个是不是无刷电机霍尔传感器的输出啊................................. 看着有点像

  • 您好,我用的这套板子提供的是BLDC,用于研究多种不同的永磁电机。BLDC是由位置传感器(这个我搞糊涂了,一直是按照正交编码学习的,谢谢您的提示),电子换向器和永磁电机组成的。所以可以用来这些装置研究永磁同步电机矢量控制,我再研究一下这个传感器。不知为什么有这么大的噪声,我换了一个传感器,输出的脉冲确实很好,输出脉冲噪声大的话就应该是霍尔传感器吧。非常感谢您的回复。

  • 您好,我用的这套板子提供的是BLDC,用于研究多种不同的永磁电机。BLDC是由位置传感器(这个我搞糊涂了,一直是按照正交编码学习的,谢谢您的提示),电子换向器和永磁电机组成的。所以可以用来这些装置研究永磁同步电机矢量控制,我再研究一下这个传感器。传感器的输出脉冲噪声确实很大,那这就应该是霍尔传感器吧?非常感谢您的回复。

  • 嗯 那个信号我倒是也不太确定是什么信号

    不清楚你的机组结构

    但是黄色应该不是Z脉冲

    总是 平台资料你在确认下吧

  • 嗯好,谢谢您的帮助,多谢。

     ◠‿◠ 
  • 不客气  慢慢来吧 电机的东西不是太好做

  • 嗯嗯好,小弟在做本科毕业设计,刚开始有好多问题,多谢指教

     ◠‿◠ 
  • 您好:

            最近我也是刚开始做电机控制,用的控制算法是直接转矩控制,也就是磁链内环和转矩外环。有三个问题想请教您一下:

    (1)做转速闭环的时候,你们一般用的是什么方法呢?M法 还是T法,或是M/T法呢?我的编码器的1024线的,请问一般输出的啊,A,B,Z三路信号。如果我只引出A信号,用M法去测量,这样会很准确吗?

    (2)磁链的计算过程中会用到积分,请问对于积分您是怎么处理的?积分有饱和也有超调,您是怎么解决的?

    (3)一般对于PI参数,您是怎么做的,谢谢!

    如果可以,能留下您的联系方式吗?想虚心向你请教学习,谢谢!

  • 您好!看了您的帖子了,请问您的问题解决了吗?我刚做转速测速方面的实验,请问您的滑动模态算法可以交流一下吗?谢谢!如果可以,可以留一个加我QQ766189412,向您请教一下吗?