最近我们正在做无刷云台项目,需要时使用到无刷直流电机的角度控制。
首先需要实现单个无刷直流电机BLDC的精准角度控制,意向是使用ST官方提供的无刷电机控制解决方案--矢量控制系统FOC程序库,实现使用正弦波输出控制无刷电机,使电机旋转平滑稳定;为了实现云台电机转动角度的精准控制,需要结合磁阻传感器(例如使用TLE5012B磁组传感器)精准反馈电机转动的角度,将该反馈角度融合到矢量控制系统FOC中,通过PID调节实现电机转动的角度精准控制。
由于ST官方FOC库中没有用到磁组传感器做为反馈信息,所以不知道如何在ST的FOC库中使用磁阻传感器的反馈信息,希望能有一整套的解决方案,实现电机的角度控制。如果单轴的实现了角度的精确控制,三轴电机使用同一种角度的控制方式。
目前因无法实现该单轴的控制方式,需要一套上述方案或者类似方案的解决途径。如果哪位大神有该控制解决方案,请与我联系,不胜感激!!!!
5 个解决方案
#1
增加位置反馈环即可,st的傻瓜化编程界面智能自动生成转速反馈,位置反馈控制自己调用库函数即可,一般PI就足够了
#2
您好,您那边云台的方案搞定了吗?
#3
lz先搞明白什么是PID,然后剩下的问题就不难了
#4
将磁阻传感器信号替换库中旋变或编码器角度信号,注意将角度零点与电机磁极零点对齐,保证foc坐标解算的正确性。
#5
其实,都是数字化信号,区别无非是各自的倍率、解算等有所区别而已,库中本身有旋转编码器输出的角度信号,变换一下就可以替换。需要注意的是编码器本身的绝对值和增量值类型。
其实个人觉得,采用直流无刷机了,其实大可不必要再采用外加的全范围角度传感了,毕竟你可以通过无刷机霍尔信号,清楚的知道电机转了多少转,根据减速比,如果无打滑变速、完全可以精确到你需要的任何角度。还可以根据电机霍尔反馈,知道设备是不是老化卡死。从长期累积误差看,最好被驱动对象有一个原点输出信号就最好了。
这时候,你只需要修改其BLCD驱动,把目的霍尔脉冲个数作为驱动目标就可以了。
其实个人觉得,采用直流无刷机了,其实大可不必要再采用外加的全范围角度传感了,毕竟你可以通过无刷机霍尔信号,清楚的知道电机转了多少转,根据减速比,如果无打滑变速、完全可以精确到你需要的任何角度。还可以根据电机霍尔反馈,知道设备是不是老化卡死。从长期累积误差看,最好被驱动对象有一个原点输出信号就最好了。
这时候,你只需要修改其BLCD驱动,把目的霍尔脉冲个数作为驱动目标就可以了。
#1
增加位置反馈环即可,st的傻瓜化编程界面智能自动生成转速反馈,位置反馈控制自己调用库函数即可,一般PI就足够了
#2
您好,您那边云台的方案搞定了吗?
#3
lz先搞明白什么是PID,然后剩下的问题就不难了
#4
将磁阻传感器信号替换库中旋变或编码器角度信号,注意将角度零点与电机磁极零点对齐,保证foc坐标解算的正确性。
#5
其实,都是数字化信号,区别无非是各自的倍率、解算等有所区别而已,库中本身有旋转编码器输出的角度信号,变换一下就可以替换。需要注意的是编码器本身的绝对值和增量值类型。
其实个人觉得,采用直流无刷机了,其实大可不必要再采用外加的全范围角度传感了,毕竟你可以通过无刷机霍尔信号,清楚的知道电机转了多少转,根据减速比,如果无打滑变速、完全可以精确到你需要的任何角度。还可以根据电机霍尔反馈,知道设备是不是老化卡死。从长期累积误差看,最好被驱动对象有一个原点输出信号就最好了。
这时候,你只需要修改其BLCD驱动,把目的霍尔脉冲个数作为驱动目标就可以了。
其实个人觉得,采用直流无刷机了,其实大可不必要再采用外加的全范围角度传感了,毕竟你可以通过无刷机霍尔信号,清楚的知道电机转了多少转,根据减速比,如果无打滑变速、完全可以精确到你需要的任何角度。还可以根据电机霍尔反馈,知道设备是不是老化卡死。从长期累积误差看,最好被驱动对象有一个原点输出信号就最好了。
这时候,你只需要修改其BLCD驱动,把目的霍尔脉冲个数作为驱动目标就可以了。