CV工程师2001 2023-08-30 15:39 采纳率: 0%
浏览 30

STM32直流电机编码器测速

stm32f1中用tb6612驱动直流编码器电机n20,用定时器3编码器模式测量直流电机的速度,再用定时器2中断来定时获取编码器的计数值,为什么改变定时器2的频率会改变电机的速度?定时器2只是产生中断来获取计数值,而用延迟函数就不会出现电机速度的改变。

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-08-30 16:40
    关注

    引用 皆我百晓生 小程序回复内容作答:
    改变定时器2的频率会影响中断的触发频率,从而影响计数器值的获取速度。电机的速度是根据编码器的计数器值来计算的,如果获取编码器的计数器值的速度变慢了,那么计算出的速度自然会变慢。

    而使用延迟函数获取计数器值并不依赖于定时器,它是通过延迟一段时间后再读取计数器值来实现的。因此,无论定时器的频率如何,延迟函数的方式都可以正常获取计数器值,不影响电机的速度。

    总之,改变定时器2的频率会改变中断的触发频率,进而影响计数器值的获取速度,从而影响电机的速度计算。而使用延迟函数则不会受到定时器频率的影响。

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 8月30日
  • 创建了问题 8月30日

悬赏问题

  • ¥15 报酬10000,做一个简单的换汇网站
  • ¥15 关于#vue.js#的问题:word excel和ppt预览问题语言-javascript)
  • ¥15 Apache显示系统错误3该如何解决?
  • ¥30 uniapp小程序苹果手机加载gif图片不显示动效?
  • ¥20 js怎么实现跨域问题
  • ¥15 C++dll二次开发,C#调用
  • ¥15 请教,如何使用C#加载本地摄像头进行逐帧推流
  • ¥15 Python easyocr无法顺利执行,如何解决?
  • ¥15 为什么会突然npm err!啊
  • ¥15 java服务连接es读取列表数据,服务连接本地es获取数据时的速度很快,但是换成远端的es就会非常慢,这是为什么呢