OpenEdv-开源电子网

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

关于定时器的互补通道问题

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2022-11-18
在线时间
4 小时
发表于 2023-2-17 18:31:19 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 zshzdyz 于 2023-2-17 18:32 编辑

本人新人小白,最近在学习STM32定时器输出PWM。输出有两个通道,一个主通道,一个互补通道。
H桥.png
作为新手不禁有些疑问。如:OC1是控制正转,OC1N控制反转。我们又知道,OC1和OC1N的波形极性是相反的。
所以按照本人的理解,在相同的配置下,如果OC1输出的波形占空比是70%,那么OC1N又和OC1波形极性相反,那么OC1N的波形占空比应该是30%。
所以在控制电机时,如果psc,ccr,arr的值不变,PWM输出的相关结构体也不变,我只是单纯的控制OC1和OC1N的输出来控制电机正反转的话,
假设目前正转,我设定OC1占空比为70%,电机速度较快,那么我现在关闭主通道,开启互补通道,那占空比就是30%了,电机速度就变慢了,
但我想让正反转速度一样啊。我还得把crr的值赋值成arr-crr,正反转速度才一致……这样的设计不是很繁杂吗?
然后,本人从正点原子相关视频复制了一部分代码,然后修改了一点点,用来测试直流电机,代码如下:
1.png 2.png 3.png 4.png
主函数就是这样,while(1)是空的。
然后发现,如果设置占空比100%,不管是正转还是反转,电机都是全速运行,这就和我之前的推导不一样了。按理说如果正转全速,反转的PWM极性又和正转相反,那
PWM不应该占空比是0,然后电机不转吗?
电机控制模块用的是从某宝买的DRV8833模块(外观红色),这个模块有两个输入引脚,PWM的输出在两个引脚间切换就可以实现电机正反转。
所以我的疑问有两个:
1.只通过开启和关闭主、互补通道,来控制电机正反转,按理来说电机正反转的速度不一致,官方这样的设计不繁杂吗?
2.为什么我的代码让电机正反转速度一致呢?


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 15:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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