OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 12211|回复: 10

STM32 无刷直流电机 霍尔传感接口

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2016-1-21
在线时间
1 小时
发表于 2016-1-21 15:15:11 | 显示全部楼层 |阅读模式
6金钱
由TIM1产生六路PWM,驱动电机。但霍尔传感器三个接口在PB5(TIM3)、PB6、PB7(TIM4),还能用通用定时器的“霍尔接口”触发TIM1的COM事件,控制电机换向吗?有没有其它简单的办法呢?

最佳答案

查看完整内容[请看2#楼]

霍尔接口是三个霍尔接在一个通用定时器上,你现在接在TIM3和TIM4两个定时器上,所以不可能再用“霍尔接口”模式来触发TIM1换相了!现在霍尔接在PB5,PB6,PB7,上,可以用外部中断的方法,就是把外部中断设置成上升和下降沿都触发,外部中断触发后就可以换相了,这样应该可以,你试试吧,我做过的一个STM8S103的BLDC就是用这种方法实现的,效果还不错,一直在用到现在有两三年了,一直很稳定的!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

611

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1929
金钱
1929
注册时间
2014-10-6
在线时间
625 小时
发表于 2016-1-21 15:15:12 | 显示全部楼层
霍尔接口是三个霍尔接在一个通用定时器上,你现在接在TIM3和TIM4两个定时器上,所以不可能再用“霍尔接口”模式来触发TIM1换相了!现在霍尔接在PB5,PB6,PB7,上,可以用外部中断的方法,就是把外部中断设置成上升和下降沿都触发,外部中断触发后就可以换相了,这样应该可以,你试试吧,我做过的一个STM8S103的BLDC就是用这种方法实现的,效果还不错,一直在用到现在有两三年了,一直很稳定的!
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2016-1-21
在线时间
1 小时
 楼主| 发表于 2016-1-21 16:30:52 | 显示全部楼层
烟酒不沾 发表于 2016-1-21 15:59
霍尔接口是三个霍尔接在一个通用定时器上,你现在接在TIM3和TIM4两个定时器上,所以不可能再用“霍尔接口” ...

我也用了外部中断触发,确实可以用。。但是,我控制的是两个电机,另一个电机霍尔接口不在定时器上,也只能用外部中断。都用外部中断,现象就是两个电机转动不协调,一个一会儿转,一会儿不转,优先级我也设置了,哥们儿,有没有好的建议呢?。
回复

使用道具 举报

13

主题

611

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1929
金钱
1929
注册时间
2014-10-6
在线时间
625 小时
发表于 2016-1-22 07:08:54 | 显示全部楼层
tp0771 发表于 2016-1-21 16:30
我也用了外部中断触发,确实可以用。。但是,我控制的是两个电机,另一个电机霍尔接口不在定时器上,也只 ...

怎么会出现这种现象呢?原因能分析出来吗?控制两个电机没有经验,你换相是不是在中断函数中处理的,最好不要在中断中处理,这种现象看看能不能解决!
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2016-1-21
在线时间
1 小时
 楼主| 发表于 2016-1-23 11:59:57 | 显示全部楼层
烟酒不沾 发表于 2016-1-22 07:08
怎么会出现这种现象呢?原因能分析出来吗?控制两个电机没有经验,你换相是不是在中断函数中处理的,最好 ...

就是就是,用中断换相了。。。那不在中断中处理,怎么处理呢?
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2016-1-21
在线时间
1 小时
 楼主| 发表于 2016-1-23 12:01:11 | 显示全部楼层
烟酒不沾 发表于 2016-1-22 07:08
怎么会出现这种现象呢?原因能分析出来吗?控制两个电机没有经验,你换相是不是在中断函数中处理的,最好 ...

大哥,能不能给份参考程序呢?
回复

使用道具 举报

13

主题

611

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1929
金钱
1929
注册时间
2014-10-6
在线时间
625 小时
发表于 2016-1-23 15:12:05 | 显示全部楼层
tp0771 发表于 2016-1-23 12:01
大哥,能不能给份参考程序呢?

没搞过同时控制两个电机的工程,在中断中设置标志位,在主程序中处理换相,我认为是你的两个换相程序在时间时序上有冲突了,你在处理一个换相时把另一个中断先关闭,处理完再打开另一个中断,不过我也没这样做过,你试下吧,我也没有这个经验,我也是在中断中换相的!
回复

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2016-9-22
在线时间
31 小时
发表于 2016-9-22 14:01:59 | 显示全部楼层
楼主你好!!!你的无刷电机控制做好了吗??
回复

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2016-9-22
在线时间
31 小时
发表于 2016-9-22 14:02:49 | 显示全部楼层
我最近也在用32做一个驱动控制,还没成功,不是有电机控制库吗?
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2018-12-4
在线时间
2 小时
发表于 2020-4-13 14:54:15 | 显示全部楼层
烟酒不沾 发表于 2016-1-21 15:15
霍尔接口是三个霍尔接在一个通用定时器上,你现在接在TIM3和TIM4两个定时器上,所以不可能再用“霍尔接口” ...

你好,我采用外部中断的方法,电机会不时的抖一下这是为什么?
回复

使用道具 举报

2

主题

88

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
357
金钱
357
注册时间
2020-1-6
在线时间
92 小时
发表于 2020-12-28 11:19:53 | 显示全部楼层
接在 PB5、PB6、PB7只能用外部中断的方式换相了, 如果接在PB6、PB7、PB8就可以用霍尔接口模式来换相了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 14:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表