OpenEdv-开源电子网

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

采用H桥和两路PWM信号控制电机正反转问题!

[复制链接]

21

主题

64

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2017-3-6
在线时间
32 小时
发表于 2017-5-24 08:02:44 | 显示全部楼层 |阅读模式
10金钱
我采用两路PWM信号控制H桥
main函数主循环中:
if(t<100) {
      GPIO_SetBits(GPIOA,GPIO_Pin_6);
      GPIO_ResetBits(GPIOA, GPIO_Pin_7);        
      TIM_SetCompare1(TIM3,400);  
      t++;               
}
else(t>100){
      GPIO_SetBits(GPIOA,GPIO_Pin_7);
      GPIO_ResetBits(GPIOA, GPIO_Pin_6);        
      TIM_SetCompare1(TIM3,400);  
      t++;
      if(t>200) t=0;
}

当我只接入PA6产生的PWM信号时,电机顺时针转,当只接入PA7产生的PWM信号时,电机逆时针转,当我以上面程序同时接入两个PWM信号时,电机慢速逆时针转,然后就停止不动了。在此请教一下各位!

最佳答案

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

H桥不是这样玩的,TIM3没有双通道自动互补输出模式,你要换高级定时器,TIM1就是。 你非要用通用定时器的两路PWM去驱动电机也可以,在一路输出PWM的时候另一路要输出0占空比(也就是全程低电平),但没有这么玩的呀。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

216

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1124
金钱
1124
注册时间
2015-2-27
在线时间
485 小时
发表于 2017-5-24 08:02:45 | 显示全部楼层
H桥不是这样玩的,TIM3没有双通道自动互补输出模式,你要换高级定时器,TIM1就是。
你非要用通用定时器的两路PWM去驱动电机也可以,在一路输出PWM的时候另一路要输出0占空比(也就是全程低电平),但没有这么玩的呀。
回复

使用道具 举报

21

主题

64

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2017-3-6
在线时间
32 小时
 楼主| 发表于 2017-5-24 16:09:04 | 显示全部楼层
enan 发表于 2017-5-24 14:47
H桥不是这样玩的,TIM3没有双通道自动互补输出模式,你要换高级定时器,TIM1就是。
你非要用通用定时器的 ...

我已经调成功了,把其中一路PWM占空比设置为0就行了!
回复

使用道具 举报

0

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2023-3-2
在线时间
13 小时
发表于 2024-2-21 13:48:31 | 显示全部楼层
多发地带
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 21:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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