久芯网

请问低转速时的转矩补偿

avatar microp 提问时间: 2023-08-22 09:10:06 / 已解决
大家好:
請問低转速时的转矩补偿有什么好的方法吗?
我使用的马达(BLDC,sensorless)平常转速40000RPM,希望在1000RPM以下也有足够的扭力
是不是只能通过提升驱动电流来补偿?

Motor Control API中有一个MC_SetCurrentReferenceMotor1(Curr_Components Iqdref);
请问Curr_Components,和 Iqdref这两个变量内容要填什么?
谢谢!
9个回答
  • avatar 子曰好人2号
    最佳答案
    回答时间: 2023-08-22 09:37:45
    microp 发表于 2021-10-14 20:51
    小弟资质驽钝,可否请兄台举个例?例如我要设定currentreference为1540s16A. MC_SetCurrentReferenceMotor1 ...

    /** * @brief Programs the current reference to Motor 1 for later or immediate execution. * * The current reference to consider is made of the Id and Iq current components. * * Invoking the MC_SetCurrentReferenceMotor1() function programs a current reference * with the provided parameters. The programmed reference is executed immediately if * Motor 1's state machine is in the #START_RUN or #RUN states. Otherwise, the * command is buffered and will be executed when the state machine reaches any of * the aforementioned state. * * The Application can check the status of the command with the MC_GetCommandStateMotor1() * to know whether the last command was executed immediately or not. * * Only one command can be buffered at any given time. If another buffered command is * programmed before the current one has completed, the latter replaces the former. * * @param Iqdref current reference in the Direct-Quadratic reference frame. Expressed * in the Curr_Components format. */ void MC_SetCurrentReferenceMotor1( Curr_Components Iqdref ) { MCI_SetCurrentReferences( pMCI[M1], Iqdref ); }复制代码 这是这个函数的原型,你看一下代码,应该可以理解了 这个函数只能设置电流的大小,时间到了再通过这个函数将电流设定到0就可以了

  • avatar AaronBing
    回答时间: 2023-08-22 09:58:26

    1、转矩补偿是对于变转矩负载的应用例如压缩机这种,做波形上的补偿,减少大小波的现象。 2、平常转速是40000RPM,希望在1000RPM以下也有足够的扭力。假设电机的全速是40000RPM,那么相当于目标转速2.5%左右。 这个是低速带载的问题。ST的sto观测器是反电势观测的,无法做到这么低转速。 3、MC_SetCurrentReferenceMotor1 这个函数是直接赋值给pid运算的数值。 参考如下: Curr_Components IqdrefSet; IqdrefSet.q =1000; IqdrefSet.d = 0 ; MC_SetCurrentReferenceMotor1(IqdrefSet); 不太建议在程序里直接赋值这个。

  • avatar 子曰好人2号
    回答时间: 2023-08-22 10:16:12

    sensorless控制低于5%额定转速运行时,观测器角度就不准确了,只能改用其他方式来控制,目前论文提到的比较多的方式就是高频注入(HFI),在ST的workbench里也含有HFI相关内容。

  • avatar 子曰好人2号
    回答时间: 2023-08-22 10:42:45

    MC_SetCurrentReferenceMotor1(Curr_Components Iqdref);这个函数只有需要传入一个参数,Curr_Components是自定义的变量类型,Iqdref是参数。

  • avatar microp
    回答时间: 2023-08-22 10:59:57
    子曰好人2号 发表于 2021-10-14 08:34
    sensorless控制低于5%额定转速运行时,观测器角度就不准确了,只能改用其他方式来控制,目前论文提到的比较 ...

    這邊有High frequency injection教程,謝謝兄台指點! https://www.youtube.com/watch?v=icdiKL90E3U

  • avatar microp
    回答时间: 2023-08-22 11:17:42
    子曰好人2号 发表于 2021-10-14 09:06
    MC_SetCurrentReferenceMotor1(Curr_Components Iqdref);这个函数只有需要传入一个参数,Curr_Components是 ...

    小弟资质驽钝,可否请兄台举个例? 例如我要设定currentreference为1540s16A. MC_SetCurrentReferenceMotor1(); 要怎么下?

  • avatar 子曰好人2号
    回答时间: 2023-08-22 11:45:10
    microp 发表于 2021-10-14 20:48
    這邊有High frequency injection教程,謝謝兄台指點! https://www.youtube.com/watch?v=icdiKL90E3U ...

    这个链接我打不开哦,大陆看不了YouTube的视频

  • avatar 弗兰克
    回答时间: 2023-08-22 12:17:02

    ST有低速的转矩补偿算法,请联系代理商

  • avatar 鹿森
    回答时间: 2023-08-22 12:48:43

    受教了!

会员中心 微信客服
客服
回到顶部