TI中文支持网
TI专业的中文技术问题搜集分享网站

instaSPIN-MOTION lab12 运行异常

使用drv8301-69m kit,无感算法均运行正常。进行lab12实验时,电机不转,然后用手拨动电机,电机以5rpm左右的转速转动(无明显抖动)并发出尖锐的噪声。进行lab12b速度控制实验时,电机也是固定在低速转动并发出尖锐噪声,转速不可调。已通过手拨动电机查看qep寄存器值的方式确认编码器连线无误。电机相序交换过,结果仍然如上述异常。观察变量gMotorVars.Speed_krpm为一很小的值与低转速情况符合,变量gMotorVars_SpeedQEP_krpm为一较大值。请问出现这种状况的原因可能是哪些?

Green Deng:

Lab12a使用编码器接口来计算转子角度,请确保将编码器连接到板上的相关接口,并且在user.h文件中正确设置了USER_MOTOR_ENCODER_LINES。
另外可以参考下面的链接:
e2e.ti.com/…/632347
e2e.ti.com/…/2915002
e2e.ti.com/…/3048574

user6255845:

回复 Green Deng:

我的编码器刻线15744,采用电子细分50倍,所以USER_MOTOR_ENCODER_LINES是填787200没错吧。做实验lab12b时,电机能转动,但不能设置speedreference以进行速度控制,并伴随尖锐噪声。交换电机相序只能改变电机正反转。现在怀疑是程序上的原因。因为instaspin_labs.pdf中说lab12a和lab12b使用的一些函数,在代码中没有看见。并且变量st.obj.vel.ctl.RES在变量窗口中被提示NOT FOUND。哪里能下载motorware的历史版本?我用的是v18版

user6255845:

回复 Green Deng:

enc模块初始化中有如下代码enc->mech_angle_gain = (_iq)((((uint32_t)1)<<24)/(4*num_enc_slots));
想问1左移24位是什么意思?计算机械角的gain不应该是1/4*编码器线数吗?

user6255845:

回复 user6255845:

发现是编码器没有输出 I 相信号。。。

Green Deng:

回复 user6255845:

额,所以目前你的程序能正常运行了吗?

user6255845:

回复 Green Deng:

没有。我用了一个转接头,开始以为是z 相接触不良。但别人试了试,转接头是导通的。刚才又想到会不会是z 相的方波太短,没观察到。。。

Green Deng:

回复 user6255845:

现在是Z相加了转接头的吗?我似乎印象中编码器的相线有要求长度尽量一致的。现在是Z相还是没信号吗?

user6255845:

回复 Green Deng:

编码器出来的差分信号接了个差分转单端的转接板,示波器上能看到A,B信号。由于编码器线数高,干扰等问题很难在示波器上观察到Z信号。
在enc.c,enc.h中有变量uint16_t num_enc_slots记录编码器线数,我用的编码器787200线,所以改为uint32_t。之后再做实验lab12a,现象:error 2004.
实验12b,现象:抱轴。变量IqRef_A达到了最大值USER_MOTOR_MAX_CURRENT。感觉上就像是把本该赋值给q轴的电流值,赋值给了d轴,造成了抱轴的情况。但很奇怪的是,有一次实验把speedRef设定在某一较小值时,电机能够进行转速跟踪,再改变speedRef,电机又抱轴了。

Green Deng:

回复 user6255845:

似乎情况有点复杂。。。我建议你去我们英文E2E论坛咨询这个问题。英文论坛上有专业做电机控制的工程师,应该会对你的问题有更专业的指导:e2e.ti.com/…/171

赞(0)
未经允许不得转载:TI中文支持网 » instaSPIN-MOTION lab12 运行异常
分享到: 更多 (0)