你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

讨论一下STM32编码器接口  

[复制链接]
collins 提问时间:2017-11-27 20:47 /
使用STM32的编码器接口对接增量式编码器控制电机进行很低速的转动时,需要如何进行电机转速的测量?
可否将编码器信号接到STM32编码器接口的同时,也将编码器信号接到STM32其他定时器引脚通过捕获编码器脉冲来进行计算呢,
这种将一个编码器信号同时接到两个定时器的做法会不会有什么隐患存在,大家谁有处理过类似的问题吗?

评分

参与人数 1 ST金币 -1 收起 理由
zero99 -1 下次请发【讨论】,已重新分类.

查看全部评分

收藏 评论28 发布时间:2017-11-27 20:47

举报

28个回答
nyszx 回答时间:2017-12-21 11:11:39
定时器用在编码器模式时,使用另一个配置为捕获模式的定时器测量两个编码器事件之间的周期,可获得动态信息(速度、加速度和减速度):
The timer, when configured in Encoder Interface mode provides information on the sensor’s
current position. You can obtain dynamic information (speed, acceleration, deceleration) by
measuring the period between two encoder events using a second timer configured in
capture mode. The output of the encoder which indicates the mechanical zero can be used
for this purpose. Depending on the time between two events, the counter can also be read
at regular times. You can do this by latching the counter value into a third input capture
register if available (then the capture signal must be periodic and can be generated by
another timer). when available, it is also possible to read its value through a DMA request
generated by a real-time clock.
kimoye 回答时间:2017-12-21 10:41:34
个人感觉题主的想法是挺Ttrick的,应该可行。但是要注意输出脉冲之间和转速的换算关系。
个人是汽车工程专业的,刚刚好接触过一些,不过是高转速的,这里我也说说我的思路。
首先从楼主的想法说起,有什么弊端呢,通过转接的方式楼主只能得出理论转速,而不是实际转速,但是楼主说了是低速电机,那应该问题不大。因为高速时电机输出脉冲和实际转速之间要考虑摩擦,振动,以及高速下发热问题。
还是那句话,低速楼主的方案可行,主要是要解决两个定时器的问题。
这个查阅用户手册,进行配置就好了,两个定时器同时用是没有什么问题的,至于你用寄存器还是库版本就个人爱好了。
定时器计算脉冲,但是它是不会知道脉冲是哪里来的,你配置好了相关功能,他就只会计数。
疯de_恒 回答时间:2017-12-21 10:37:37
不会有什么隐患的,参考数据手册:STM32F103参考手册275页
当定时器配置成编码器接口模式时,提供传感器当前位置的信息。使用第二个配置在捕获模式的定时器,可以测量两个编码器事件的间隔,获得动态的信息(速度,加速度,减速度)。指示机械零点的编码器输出可被用做此目的。根据两个事件间的间隔,可以按照固定的时间读出计数器。如果可能的话,你可以把计数器的值锁存到第三个输入捕获寄存器(捕获信号必须是周期的并且可以由另一个定时器产生);也可以通过一个由实时时钟产生的DMA请求来读取它的值。
wenyangzeng 回答时间:2017-12-21 10:33:54
本帖最后由 wenyangzeng 于 2017-12-21 17:28 编辑

    当定时器配置成编码器接口模式时,接口提供了传感器当前位置的信息。使能另一个定时器,将编码器的第3个信号(机械零)连接1外部中断,在中断中,读取定时器的技术值,就可以获得动态的速度、加速度、减速度的信息。
jinyi7016 回答时间:2017-12-21 10:40:58
这个信号 最好是不要直接接在两个外设上,最好是加一级的驱动,避免出的信号驱动能力不足。
这种接法感觉是完全可以的,只要在两个外设中不要有长时间占用的情况就应该不会有问题。
dzwwzd6699 回答时间:2017-12-21 12:34:29
高速测频率,低速测周期
可以接,一个计数,一个测脉宽,如果脉冲幅度较小需要通过脉冲分配器,如果脉冲信号幅度足够大就可以连接
寂寞,点燃一支烟 回答时间:2017-12-21 12:56:59
接触过 ,当时没有注意 ,不好回答
maxtch 回答时间:2017-12-21 13:11:59
理论可行,如果必要(驱动能力、电压或波形问题)信号当中插一个 74LVC1G17 整形即可。不过,输入信号复用好像没那么严格,是不是可以管脚输入即作为外设输入又接到 GPIO/EXTI。
weiwei4 回答时间:2017-12-21 14:50:42
这样连接并不会有什么问题,编码器出来的信号并不受影响
但是软件处理需要做好,不能让两个数据发生冲突
五哥1 回答时间:2017-12-21 15:56:09
这个接两个定时器的接法是不是不妥,会有不同步。
风之山谷 回答时间:2017-12-21 16:16:25
建议采用后者的方法,编码器读数变化速度就代表着转速
forrest 回答时间:2017-12-21 18:47:17
这样做事可以的。但我认为没有太大意义。因为转速慢就意味着需要更长的时间来捕捉编码器的变化。这个没有更好的办法的。
slotg 回答时间:2017-12-21 19:38:29
每一个定时器都是独立的,所以同时接到两个定时器输入是没有问题的。
sylar.z 回答时间:2017-12-21 19:47:22
只是一个信号传递的,没有大电流,一般不会有问题
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版