stm32编码器正反转计数程序_stm32cubeMx配置使用encoder编码器

更新时间:2023-06-20 06:36:55 阅读: 评论:0

蒙古斑
stm32编码器正反转计数程序_stm32cubeMx配置使⽤encoder
编码器
增量式编码器在实际应⽤中还是很常见。stm32的定时器带的也有编码器模式。所⽤的编码器是有ABZ三相,其中ab相是⽤来计数,z相输出零点信号。AB相根据旋转的⽅向不同,输出的波形如下图所⽰:
从图上可以看出来,cw⽅向A相会超前B相90度左右,相反CCW⽅向,B相会超前A相90度左右。不过⽅向判断stm32⾃⼰是可以完成的。下⾯裂下使⽤stm32cubeMx配置的过程。富饶的反义词
胡连华软件:stm32cubemx mdk
芯⽚型号:stm32F407IGH6
电脑主板怎么看使⽤的是定时器2
⾸先打开timer2的encoder模式:
经典品读
配置系统时钟为168mhz。
下⾯才是重点,配置具体定时器的参数:
选择的encoderMode是 TI1和TI2模式。这种模式下,AB两相的上升沿和下降沿都会计数,所以计数值是实际值的4倍,需要做分频。也就是第⼀个参数,分频值设为3,实际上是3+1=4分频。
帜的组词还有个地⽅需要解释⼀下,我刚开始的时候就是把这⾥的设置没搞清楚,看Polarity参数设置的是Rising Edge。这个参数的意思是在检测到上升沿的时候就触发encoder捕获AB相的值,⽽并不是这⾥设置的是上升沿就只检测AB相的上升沿,下降沿还是同样会计数的。
Input Filter滤波值是从1-15,看情况设定,是⽤来滤除⼀些杂波的。
这样基本就配置好了,⽣成mdk⼯程。
然后就是添加应⽤代码了。
京东商城网购在初始化中添加打开定时器的encoder模式:
HAL_TIM_Encoder_Start(&htim2, TIM_CHANNEL_ALL);
西游记唐僧
然后定期调⽤下⾯这⼀句函数就可以获取到encoder编码器的计数值:enc1 = (uint32_t)(__HAL_TIM_GET_COUNTER(&htim2));//获取定时器的值

本文发布于:2023-06-20 06:36:55,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/996563.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:配置   编码器   上升
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图