黄工无刷电机学习
直播中

mintsy

9年用户 1549经验值
擅长:MEMS/传感技术
私信 关注
[问答]

无刷电机板子为什么不能一直运行STM32 FOC 5.x电机库的程序?

无刷电机板子为什么不能一直运行STM32 FOC 5.x电机库的程序?是什么原因造成的呢?如何去解决?

回帖(1)

李青

2021-7-20 09:13:20
联控智能无刷电机板子运行STM32 FOC 5.x电机库的程序,电机转起来,过一会儿就自己停了。用调试器一看,发现程序进入了Hard Fault里面卡死了。
这是因为,驱动程序的运行频率(也代码的运行速度)太高了。对于特定的驱动程序,驱动程序的运行速度太高了。问题。
联控智能STM32F405RG低压板的FOC例程的频率是168MHz,这个频率太高了。将主频降低至84MHz,而APB1 42MHz和APB2 84MHz的不变,可以解决问题就频率了。
用MotorControl Workbench生成工程的时候,可以在STM32CubeMX中配置目录树,将主频改为84MHz。
生成的目录代码如下:


实验验证,可能是方波程序,168MHz的频率下,在主函数的while(1)里面加上ADC电压采集的代码,同时让电机转得快一点,就很可能产生Hard Fault。都要卡死,更不用说复杂的FOC电机库了。
举报

更多回帖

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