完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
16个回答
|
|
|
|
控制方式和编码器有关 简要描述下STM32 定时器对正交编码器进行计数控制的方法。 如图,STM32的每个TIMER都有正交编码器输入接口,TI1,TI2经过输入滤波,边沿检测产生TI1FP1,TI2FP2接到编码器模块,通过配置编码器的工作模式,即可以对编码器进行正向/反向计数。 如下图,编码器使用了A,B两相信号,但是我只需要对TI1信号进行计数(第一行),我也是刚发现了这个错误,原来对两个信号都计数,导致码盘转一周得到不止100个脉冲(100线的光电码盘)。通过STM32的编码器模块比较两想的电平信号就可以很容易地计算出编码器的运行情况了。 下面是我调试OK的代码:
另外一个值得注意的问题是,STM32 的定时器是16位的,意思是只能计数到65535,有两种方法,一是采用链式的方式用两个定时器将16位扩展为32位,还有一种简单的方法就是开启定时器的溢出中断,每中断一次就代表编码器运转了特定的角度。 比如编码器是400线的,将ARR寄存器设置为400,每溢出中断一次就代表电机转了一圈,以此类推。 另外,关于输入脉冲的检测,其实是类似的,只不过在STM32内部是专门用了一个外部触发模块来实现的,如图一中紫色框的标注,编码器模块应该是在这个模块上的升级,下面是配置代码:
|
|
|
|
按照工作原理编码器可分为增量式和绝对式两类。
增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。 |
|
|
|
|
|
谢谢额{:1:}{:1:}{:1:}{:1:}
|
|
|
|
|
|
|
|
|
|
|
|
计数,一圈n个脉冲
|
|
|
|
youzizhile 发表于 2014-4-13 22:34 增量式的计数脉冲是模拟信号吗? |
|
|
|
如果控制两个编码器,那么定时器的优先级该如何配置,这两个编码器分别测左右轮速度,需要实时反馈到上位机,求大神指教
|
|
|
|
三、在家用电器的应用现在乃至将来,国内国外各种家用电器都采用用单片机控制,因为家电将向多功能和智能化、自动化方向发展。没有单片机智能控制的家电将面临淘汰。洗衣机、电冰箱、空调机、微波炉、电饭煲、电磁炉等等新型产品的家电,哪个不使用单片机来控制?
|
|
|
|
谢谢楼主,谢谢
|
|
|
|
你好 我目前也遇到了你与你类似的情况 怎么控制两个编码器啊? 求指导 |
|
|
|
编码器可以做好几个应用的,测速,测圈数,外设同步启动,还有就是测电机角度都可以
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1049 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1017 浏览 2 评论
2123 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1219 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1639 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 08:10 , Processed in 1.151553 second(s), Total 80, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号