如题,最近在用多摩川的旋变产生的QEP信号做定位控制电机,但是按照pmsm3_1的步骤去做转速闭环控制的时候发现电极总是失步停转,经检查后发现实际计算角度qep1.ElecTheta总会时不时的出现提前变化(我的calibrated角度已经校正完了),如下图:
其中,黄色为rg1.Out,绿色为qep1.ElecTheta,蓝色为qep的Z脉冲
我软件配置中与pmsm3_1不同的地方是:pmsm3_1使用EVA模块的CAP123来捕捉QEP的ABZ,使用定时器T2;我的硬件因为CAP123被用作他用,所以我使用EVB模块的CAP456来捕捉QEP的ABZ,使用定时器T4,为什么实际计算角度会出现如上图所示的提前清零重新开始计算呢,是因为主中断使用的EVA,而QEP使用的是EVB上的原因么?
我的软件配置如下:
主程序中,只是把pmsm3_1例程中的cap3换成了cap6而已,其他都没变:
QEP子文件初始化中,T2变成了T4,寄存器配置都是一样的:
Joey Mao:
你好,
我觉得你应该先确认硬件有没有问题,你应该是用了旋变解码芯片将旋变信号转成ABZ信号或是其他方式进行了转换吧,需要确认旋变的激励和反馈信号的稳定性,以及转换芯片配置或转换电路是否准确;
看你的截图是在正常的情况下出现的跳变错误,确认了DSP输入的信号没有问题,才好测试软件程序问题在哪
如题,最近在用多摩川的旋变产生的QEP信号做定位控制电机,但是按照pmsm3_1的步骤去做转速闭环控制的时候发现电极总是失步停转,经检查后发现实际计算角度qep1.ElecTheta总会时不时的出现提前变化(我的calibrated角度已经校正完了),如下图:
其中,黄色为rg1.Out,绿色为qep1.ElecTheta,蓝色为qep的Z脉冲
我软件配置中与pmsm3_1不同的地方是:pmsm3_1使用EVA模块的CAP123来捕捉QEP的ABZ,使用定时器T2;我的硬件因为CAP123被用作他用,所以我使用EVB模块的CAP456来捕捉QEP的ABZ,使用定时器T4,为什么实际计算角度会出现如上图所示的提前清零重新开始计算呢,是因为主中断使用的EVA,而QEP使用的是EVB上的原因么?
我的软件配置如下:
主程序中,只是把pmsm3_1例程中的cap3换成了cap6而已,其他都没变:
QEP子文件初始化中,T2变成了T4,寄存器配置都是一样的:
lv YB:
回复 Joey Mao:
硬件没有问题,用示波器观察过,旋变的输入信号和经过多摩川解码芯片将旋变信号转成ABZ输出信号都是对的,而且在28035的demo板上面已经实现了转速闭环。为了验证是不是跟QEP模块有关系,我把cap123重新焊接改成了QEP电路,然后再将初始化设置到与例程中参数一样,就能实现转速闭环而不再出现转角突变为0的状况了,所以我怀疑是EVA和EVB模块之间会有不同步问题,或者有什么寄存器需要特殊配置?为什么cap123可以,而CAP456就不行呢?是否用EVA模块控制电机转角计算就一定需要QEP123,而用EVB模块控制电机转角计算就一定需要QEP456呢?
如题,最近在用多摩川的旋变产生的QEP信号做定位控制电机,但是按照pmsm3_1的步骤去做转速闭环控制的时候发现电极总是失步停转,经检查后发现实际计算角度qep1.ElecTheta总会时不时的出现提前变化(我的calibrated角度已经校正完了),如下图:
其中,黄色为rg1.Out,绿色为qep1.ElecTheta,蓝色为qep的Z脉冲
我软件配置中与pmsm3_1不同的地方是:pmsm3_1使用EVA模块的CAP123来捕捉QEP的ABZ,使用定时器T2;我的硬件因为CAP123被用作他用,所以我使用EVB模块的CAP456来捕捉QEP的ABZ,使用定时器T4,为什么实际计算角度会出现如上图所示的提前清零重新开始计算呢,是因为主中断使用的EVA,而QEP使用的是EVB上的原因么?
我的软件配置如下:
主程序中,只是把pmsm3_1例程中的cap3换成了cap6而已,其他都没变:
QEP子文件初始化中,T2变成了T4,寄存器配置都是一样的:
Joey Mao:
回复 lv YB:
lv YB,
EVA和EVB是一样的,没有区别,QEP和CAP是不一样的
如题,最近在用多摩川的旋变产生的QEP信号做定位控制电机,但是按照pmsm3_1的步骤去做转速闭环控制的时候发现电极总是失步停转,经检查后发现实际计算角度qep1.ElecTheta总会时不时的出现提前变化(我的calibrated角度已经校正完了),如下图:
其中,黄色为rg1.Out,绿色为qep1.ElecTheta,蓝色为qep的Z脉冲
我软件配置中与pmsm3_1不同的地方是:pmsm3_1使用EVA模块的CAP123来捕捉QEP的ABZ,使用定时器T2;我的硬件因为CAP123被用作他用,所以我使用EVB模块的CAP456来捕捉QEP的ABZ,使用定时器T4,为什么实际计算角度会出现如上图所示的提前清零重新开始计算呢,是因为主中断使用的EVA,而QEP使用的是EVB上的原因么?
我的软件配置如下:
主程序中,只是把pmsm3_1例程中的cap3换成了cap6而已,其他都没变:
QEP子文件初始化中,T2变成了T4,寄存器配置都是一样的:
lv YB:
回复 Joey Mao:
噢,不好意思描述有问题,我的意思是cap456引脚用作QEP456,用QEP456不行,会出现跳变,但是改成QEP123就好了,可能的原因是什么呢
如题,最近在用多摩川的旋变产生的QEP信号做定位控制电机,但是按照pmsm3_1的步骤去做转速闭环控制的时候发现电极总是失步停转,经检查后发现实际计算角度qep1.ElecTheta总会时不时的出现提前变化(我的calibrated角度已经校正完了),如下图:
其中,黄色为rg1.Out,绿色为qep1.ElecTheta,蓝色为qep的Z脉冲
我软件配置中与pmsm3_1不同的地方是:pmsm3_1使用EVA模块的CAP123来捕捉QEP的ABZ,使用定时器T2;我的硬件因为CAP123被用作他用,所以我使用EVB模块的CAP456来捕捉QEP的ABZ,使用定时器T4,为什么实际计算角度会出现如上图所示的提前清零重新开始计算呢,是因为主中断使用的EVA,而QEP使用的是EVB上的原因么?
我的软件配置如下:
主程序中,只是把pmsm3_1例程中的cap3换成了cap6而已,其他都没变:
QEP子文件初始化中,T2变成了T4,寄存器配置都是一样的:
lv YB:
回复 Joey Mao:
好的,谢谢,通过验证成功貌似是只能qep123对应EVA,qep456对应EVB