关于STM32 TIM霍尔传感器的用法

2019-12-12 18:11发布

尝试编写程序接受两路霍尔传感器输入用于测量电机转速。
参考手册P186 TIM1/TIM8与霍尔传感器借口一章。写了一下程序用于初始化TIM4作为霍尔传感器的接收。

void HALL_Init()
{
        TIM4->CR2|=1<<7                //设置CR2第7位为1
        TIM4->ARR|=0xFFFF  //设置ARR为最大值
        TIM4->CCMR1&=0xFFFC          //写ccmr寄存器0,1位为01         CC1S=01
        TIM4->CCMR1|=0x0003   
        TIM4->CCMR1|=7<<12;        //置oc2m=111
        TIM4->CCMR1&=0xFCFF        //置CC2S为00
        TIM4->CR2&=0xFF8F;        //置CR2 MMS=101;
        TIM4->CR2|=5<<4;
}


入正题:
有几个问题希望大大们能解救:
1、这种利用霍尔传感器反馈产生PWM的方法,一定要用TIM1或者TIM8产生PWM波吗?
2、手册中有以下描述
未命名.jpg (63.71 KB, 下载次数: 1) 下载附件 2012-5-10 21:56 上传
这段要怎么理解呢?
如果第一问的答案是肯定的,是不是只要我根据我上面的程序启动TIM4后,在按照图上的说明配置TIM1,每当TIM4发来的正脉冲到达时,就可以产生一个COM中断呢?
3、如果一二问是肯定的,这里面没有说明霍尔传感器输入多少个脉冲才会产生一个COM中断,比如说外部是两个相差180度的霍尔传感器,如果转轴上只有一个磁钢,会造成多少个COM中断呢?
4、如果有相关的程序能够分享的希望能帮助一下,谢谢! ylh1239@foxmail.com
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
catson
1楼-- · 2019-12-12 22:17
跪求帮助啊~~
wangfriend
2楼-- · 2019-12-13 03:10
 精彩回答 2  元偷偷看……
catson
3楼-- · 2019-12-13 03:43
wangfriend 发表于 2012-5-12 21:22
请问楼主搞定没有?
我也是看了这些资料,然后初始化。却进不了中断程序。我的是三个霍尔。 我的霍尔端口通 ...

没搞定。。。。不懂  还像这个 没有 中断配置能否 加 qq  聊 一下 1033815402
zanezhc
4楼-- · 2019-12-13 08:49
我也正在做STM32控制三相无刷电机,新手啊,请问LZ搞定没有,如何用Hall信号产生COM事件?
wangmengqiwo
5楼-- · 2019-12-13 09:35
楼主这个问题解决了没

一周热门 更多>