直流无刷电机速度检测采用什么方式采集脉冲数更好?

2019-07-20 19:46发布

本帖最后由 特朗姆斯 于 2016-8-24 15:12 编辑

直流无刷电机控制方式比较简单,直接用PWM控制速度即可。

目前碰到的问题是在相同的PWM占空比下,两个相同的电机真实呈现的速度不一样,因此我想到了利用速度检测功能来对其进行校准。但是速度检测功能令我很头疼,目前采用的是把速度检测引脚连接到I/O引脚,用外部中断的方式采集一秒钟内的脉冲数来进行判断。按原子哥的说法是这种方式会使ARM频繁进入中断,不是理想的实现方式。

想到过用定时器捕获输入的方式,看完datasheet中关于定时器捕获输入的内容,似乎也是要通过中断来实现脉冲捕获,那和我使用的外部中断采集没有区别。

另外还有看到定时器外部时钟模式2,可以通过TIMx_CHx引脚触发开始计数,通过TIMx_ETR引脚来对脉冲进行计数。使用这种模式虽然可以不使用中断,但是要占用两个定时器,这两个定时器还必须是有TIMx_ETR引脚的高级定时器,加上额外的I/O资源开销似乎也是得不偿失。


目前研究下来差不多是上述情况,希望有大神给予指引。


ps:我用的直流无刷电机有配套的控制器,ARM采集的脉冲数由控制器发出。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
特朗姆斯
1楼-- · 2019-07-23 01:33
yyx112358 发表于 2016-8-25 19:45
那也可以用ucos的软件定时器啊,就是精度低些

软件定时器精度差太多了。。从来不考虑用这个。。
yyx112358
2楼-- · 2019-07-23 01:46
 精彩回答 2  元偷偷看……
特朗姆斯
3楼-- · 2019-07-23 05:41
yyx112358 发表于 2016-8-26 22:46
我发了一个教程
http://www.openedv.com/thread-82594-1-1.html

感谢奉献精神,推荐置酷。

@正点原子
panbyron
4楼-- · 2019-07-23 08:15
???????????

一周热门 更多>