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.

motoware的proj_lab13e无法带载启动

Other Parts Discussed in Thread: DRV8301, MOTORWARE

我采用的28069M+DRV8301+AD2S1205的组合,采用官方的电路,编码器为旋转变压器,电机电压48VDC,功率1000w,额定扭矩3.2N.m,额定转速3000,运行proj_lab13e的程序空载可以启动运行,但是带载后就无法运行,负载也只有0.4N.m就无法运行,现象为IqRef_A超过了最大允许电流,gMotorVars.SpinTAC.PosCltErrorID=2002,意思是速度设定高了,但是我设定转速为10转每分钟,也是一样的。但对电路上电断电几次,偶尔工作又正常,可以带额定负载启动,中间没有修改过参数,请问是什么原因造成的这种情况呢?

说明:这个电路运行无感的程序,是可以实现可靠的带载启动运行的。

  • ”我采用的28069M+DRV8301+AD2S1205的组合,采用官方的电路,编码器为旋转变压器,电机电压48VDC,功率1000w,额定扭矩3.2N.m,额定转速3000,运行proj_lab13e的程序空载可以启动运行,但是带载后就无法运行,负载也只有0.4N.m就无法运行,现象为IqRef_A超过了最大允许电流,gMotorVars.SpinTAC.PosCltErrorID=2002,意思是速度设定高了,但是我设定转速为10转每分钟,也是一样的。但对电路上电断电几次,偶尔工作又正常,可以带额定负载启动,中间没有修改过参数,请问是什么原因造成的这种情况呢?

    说明:这个电路运行无感的程序,是可以实现可靠的带载启动运行的“
    Eric:
    我建议好好检查旋变编码器的角度输出信号是否和无感的信号一致。
  • 谢谢Eric的回复。

    请问怎么检查旋变的信号和无感的信号是否一致?

    旋变的信号是否是enc.enc_elec_angle?无感的信号又是哪一个?如果他们不一致通过什么方法让他们一致呢?

    请指教。

  • "

    请问怎么检查旋变的信号和无感的信号是否一致?

    旋变的信号是否是enc.enc_elec_angle?无感的信号又是哪一个?如果他们不一致通过什么方法让他们一致呢?

    "

    "编码器为旋转变压器"

    Eric:

    你不是在一个帖子上面写着你的编码器是旋转编码器吗?

    这个编码器解码应该是你自己算的,会得出来一个电角度。

    InstaSPIN 算出来的电角度如下,在ctrl.h中,

    // run the estimator
    EST_run(obj->estHandle,CTRL_getIab_in_addr(handle),CTRL_getVab_in_addr(handle),
    pAdcData->dcBus,TRAJ_getIntValue(obj->trajHandle_spd));


    // generate the motor electrical angle
    angle_pu = EST_getAngle_pu(obj->estHandle);

    通过无传感的这个电角度去看看你的编码器角度换算是否正确。

  • 1.我采用的是带编码器的位置控制程序proj_lab13e;
    2.在程序中启用了QEP模块,利用QEP检测旋变的位置信号,检测原理是旋变信号->AD2S1205->AD2S1205的A,B,DIR信号->28069的QEP1。
    3.程序用的是proj_lab13e的位置控制程序,所以没有用到CLT.c,而是用的cltQEP.c,采用的下面代码读取角度
      // run the estimator
     EST_run(obj->estHandle,CTRL_getIab_in_addr(handle),CTRL_getVab_in_addr(handle),
             pAdcData->dcBus,TRAJ_getIntValue(obj->trajHandle_spd));
     // generate the motor electrical angle
     angle_pu = EST_getAngle_pu(obj->estHandle);
    4.所以我理解程序只有一个QEP的角度信号,就是旋变的实际角度信号,没有采用无感的角度。
    5.现在的问题是空载的时候运转正常,带载有时正常,有时不正常,上电不正常的只要不重新上电永远都不正常,上电正常的运转一直都正常,反复进行停止、运行、加载、空载等操作运行都正常。不正常的时候电机运转0.5秒停0.5秒,卡的厉害,有时甚至完全不动。
    我也感觉可能是位置信息不正确造成的,但不知道怎么入手检查,问题在什么地方,请Eric和大师帮忙解答。

  • “现在的问题是空载的时候运转正常,带载有时正常,有时不正常,上电不正常的只要不重新上电永远都不正常,上电正常的运转一直都正常,反复进行停止、运行、加载、空载等操作运行都正常。不正常的时候电机运转0.5秒停0.5秒,卡的厉害,有时甚至完全不动。
    我也感觉可能是位置信息不正确造成的,但不知道怎么入手检查,问题在什么地方,请Eric和大师帮忙解答。”
    Eric:
    这种情况下,我建议是使用lab12b速度模式,先验证一下速度控制是正常的,角度输入的正确的,这个例程跑通了之后,才进行后面的位置控制。
  • 另外,不知道你有没有用lab05c测试系统的惯量。
  • 1.电机惯量测过了,大约为0.1。

    2.12b的程序试过了没有转起来,不知道什么原因。

    3.我用06a的程序运转都正常,也可以带载运行。

    我觉得会不会是旋转变压器要调零或者说要角度对齐?

  • "2.12b的程序试过了没有转起来,不知道什么原因。

    3.我用06a的程序运转都正常,也可以带载运行。

    我觉得会不会是旋转变压器要调零或者说要角度对齐?
    "
    Eric:
    12b没有跑起来就表示你的电角度有问题。所以让你用lab05跑一下无传感的算法,同时添加进行QEP的代码,将两个角度对比一下,看是什么问题。
  • 你好 你的无感的程序能发给我学习下吗 谢谢!

  • 你好 你的无感的程序能发给我学习下吗 谢谢!
  • 你直接用motorware自带的proj_lab13e项目就可以呀