[STM32F1] STM32读取伺服电机编码器问题

[复制链接]
 楼主| classroom 发表于 2024-10-30 09:31 | 显示全部楼层 |阅读模式
本人用STM32F103读取maxon伺服直流电机的编码器脉冲,通过驱动器口读取,电机编码器为1000counts,程序中设置重装载值为3999,不分频,对编码器AB相上升下降沿均读取,串口显示定时器的计数器值,正常 状态下,电机旋转一圈,溢出一次,读数应为4000,但实际电机旋转一圈,溢出3次以上,读数远大于4000,为什么?
淡漠安然 发表于 2024-11-12 21:08 | 显示全部楼层
编码器信号可能会受到电磁干扰或其他噪声的影响,导致定时器误计数。这种情况下,定时器可能会在不应该计数的地方计数,导致读数异常
暖了夏天蓝了海 发表于 2024-11-13 02:00 | 显示全部楼层
检查编码器信号线的屏蔽和接地情况,确保信号线远离强电场和磁场

淡漠安然 发表于 2024-11-13 03:00 | 显示全部楼层
使用差分信号传输编码器信号,以减少干扰

江河千里 发表于 2024-11-13 04:00 | 显示全部楼层
定时器的配置可能不正确,导致计数器溢出次数异常

别乱了阵脚 发表于 2024-11-13 05:00 | 显示全部楼层
确保定时器的重装载值设置正确。你提到重装载值为3999,这意味着定时器在计数到4000时溢出

光辉梦境 发表于 2024-11-13 06:00 | 显示全部楼层
检查定时器的分频设置,确保没有意外的分频设置

一秒落纱 发表于 2024-11-13 07:00 | 显示全部楼层
在处理编码器信号时,可能没有正确处理AB相的上升和下降沿,导致计数器误计数

夜阑风雨 发表于 2024-11-13 08:00 | 显示全部楼层
确保在程序中正确处理AB相的上升和下降沿。可以使用定时器的编码器模式,自动处理这些信号

远山寻你 发表于 2024-11-13 09:00 | 显示全部楼层
如果定时器溢出中断处理不当,可能会导致计数器值异常

三生万物 发表于 2024-11-13 10:00 | 显示全部楼层
确保在定时器溢出中断中正确处理计数器值,避免在中断中进行复杂的计算或操作

斧王FUWANG 发表于 2024-12-31 23:36 | 显示全部楼层
可能是读取计数器时机不对,导致多次读取同一脉冲。检查定时器溢出和读取同步。
斧王FUWANG 发表于 2024-12-31 23:51 | 显示全部楼层
也可能编码器信号有噪声或干扰,导致计数重复或计数器多次溢出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

526

主题

3258

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部