黄工无刷电机学习
直播中

王辉

7年用户 1296经验值
私信 关注
[问答]

你知道odrive有哪些控制原理吗

无刷电机的工作原理是什么?
位置传感器有哪几种类型?odrive有哪些控制原理呢?

回帖(1)

张凯

2021-9-18 15:15:36
  无刷电机的工作原理
  1.无刷直流电动机由永磁体转子、多极绕组定子、位置传感器等组成。位置传感按转子位置的变化,沿着一定次序对定子绕组的电流进行换流(即检测转子磁极相对定子绕组的位置,并在确定的位置处产生位置传感信号,经信号转换电路处理后去控制功率开关电路,按一定的逻辑关系进行绕组电流切换)。定子绕组的工作电压由位置传感器输出控制的电子开关电路提供。
  位置传感器有磁敏式、光电式和电磁式三种类型。
  采用磁敏式位置传感器的无刷直流电动机,其磁敏传感器件(例如霍尔元件、磁敏二极管、磁敏诂极管、磁敏电阻器或专用集成电路等)装在定子组件上,用来检测永磁体、转子旋转时产生的磁场变化。
  采用光电式位置传感器的无刷直流电动机,在定子组件上按一定位置配置了光电传感器件,转子上装有遮光板,光源为发光二极管或小灯泡。转子旋转时,由于遮光板的作用,定子上的光敏元器件将会按一定频率间歇间生脉冲信号。
  采用电磁式位置传感器的无刷直流电动机,是在定子组件上安装有电磁传感器部件(例如耦合变压器、接近开关、LC谐振电路等),当永磁体转子位置发生变化时,电磁效应将使电磁传感器产生高频调制信号(其幅值随转子位置而变化)。
  odrive的一些控制原理
  环形位置控制
  要启用环形位置控制,请设置axis.controller.config.setpoints_in_cpr = True
  此模式对于连续的增量位置移动很有用。 例如,机器人会无限期滚动,或者挤出机马达或传送带会以受控的增量无限期地移动。
  在常规位置模式下,pos_setpoint将增长到非常大的值,并且由于浮点舍入而失去精度。
  在这种模式下,控制器将尝试仅在电动机旋转一圈之内跟踪位置。 具体而言,pos_setpoint的范围应为[0,cpr-1],其中cpr是一圈编码器计数值。 如果pos_setpoint增加到该范围之外(例如通过step / dir输入),则会自动将其约束到[0,cpr-1]范围内。注意:在此模式下,将使用encoder.pos_cpr 作为位置位置反馈,而非encoder.pos_estimate。
  如果尝试以超过cpr/2步的大步幅增加位置,则电机将以相反的方向旋转至相同角度。当输入控制量干扰很大时,也会出现这种情况。 如果您有一个需要处理较大步幅的应用程序,则可以使用虚拟CPR,该虚拟CPR是编码器实际CPR的整数倍。 设置encoder.config.cpr = N * your_enc_cpr,其中N是一些整数。 选择合适的N为您的应用提供合适的位置设置范围。
  速度控制
  设置 axis.controller.config.control_mode = CTRL_MODE_VELOCITY_CONTROL。
  现在,您可以使用 axis.controller.vel_setpoint = 5000 [count/s] 控制转速。
  速度爬升控制
  设置 axis.controller.config.control_mode = CTRL_MODE_VELOCITY_CONTROL
  设置速度爬升速率 (绝对加速度): axis.controller.config.vel_ramp_rate = 2000 [counts/s^2]
  启动速度爬升模式: axis.controller.vel_ramp_enable = True
  现在,您可以使用 axis.controller.vel_ramp_target = 5000 [count/s] 控制转速。
  电流控制
  设置 axis.controller.config.control_mode = CTRL_MODE_CURRENT_CONTROL
  现在,您可以使用axis.controller.current_setpoint = 3 [A] 来控制电机电流。
  注意: 在电流控制模式下没有速度限制。 确保您不要使电机过载或超过编码器的最大速度。
  能说看了这么久也就对无刷电机有一定了解,仅此而已,我太菜了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分