0_设计阶段
1、了解控制需求和指标,例如:稳态波动、响应时间、定位精度、电机移动范围、结构限位值等。
2、熟悉电机控制原理图,熟悉被控电机的特性(极对数、通流能力、出力大小,驱动方式等),熟悉驱动器件的电气特性和使用方式,查阅对应的数据手册等。
3、搭建代码框架,根据上层软件的需求先定义驱动控制接口,编写控制算法代码框架,将待调参数用宏定义的方式先预定义等。
1_样机阶段
1、对于无刷电机,从内到外逐个调试电流环、转速环和位置环的pid参数,前一个环的响应曲线调得比较理想之后再加下一个环调试。
2、对于步进电机,根据驱动细分数以及一个脉冲内电机移动的步数与距离,设定电机的速度值,然后根据整机的实际调试情况来调整相对比较稳定的速度值等。
3、对于VCM电机,先标定出code值和电流值的对应关系,确定VCM线性度较好的区间,再根据线性度较好的区间编程。
2_可能出现的问题定位思路及流程
1、电机不转
看是否卡住、电机接线是否正常,初始化是否失败、光耦接线是否正常。代码中要看是否打印加的过多(打印非常消耗cpu时间),程序主循环中是否有不执行算法直接退出的判断条件等。
2、上层界面发消息,电机不受控
首先加打印,看上层软件是否一直在发指令,正常情况下,没有上层的指令,电机是不会无缘由工作的。
1782

被折叠的 条评论
为什么被折叠?



