stm32f4hal库--电机编码器配置与电机测速
通过__HAL_TIM_GET_COUNTER(&htim3)获取计数脉冲数(这个时候的脉冲数是减速比乘编码器线数乘四分频),所谓减速比,实际就是电机(减速比为30)输入轴转30圈通过减速器(通常为齿轮系统)将能量从高速低扭矩以低速高扭矩的能力形式传送到外部输出轴才转一圈,所以实际脉冲是外部脉冲的30倍.3.T1,T2都测量,可以利用A相和B相的相位差,实现四倍频(后面计算电机速度的时候脉冲应除4
·
1.配置定时器编码器接口

解释:
1.编码器接口模式会自动配置定时器1,2通道,所有不需要额外i配置
2.因为编码器111通常是数字脉冲,频率较低,一般不需要通过psc进一步降低频率,因此,为了获得更精确的测量结果,通常直接使用时钟频率.
3.T1,T2都测量,可以利用A相和B相的相位差,实现四倍频(后面计算电机速度的时候脉冲应除4),大大提高位置和速度测量的分辨率,并且可通过检测这两路信号的上下沿以及他们的相位关系来判断旋转方向.
2.配置定时中断

解释:
通过定时中断来设置脉冲数计数时间,便于代码调用回调函数来获取脉冲数和计数电机速度.
3.修改回调函数

解释:
通过__HAL_TIM_GET_COUNTER(&htim3)获取计数脉冲数(这个时候的脉冲数是减速比乘编码器线数乘四分频),所谓减速比,实际就是电机(减速比为30)输入轴转30圈通过减速器(通常为齿轮系统)将能量从高速低扭矩以低速高扭矩的能力形式传送到外部输出轴才转一圈,所以实际脉冲是外部脉冲的30倍.
电机转速RPS = 每分钟的实际脉冲数/电机一圈的脉冲数
4.别忘了主函数开启定时器计数模式和中断

更多推荐



所有评论(0)