紧急求助STM8S003 TIM1高级定时器输出互补带死区方波
TIM1高级定时器输出带死区方波已经实现,但是我的设备是上下管都为高的时候,才是关闭,和正常的低电平死区不太一样,大家帮我看一下哈,谢谢了,我要实现右侧高电平死区,上下管占空比设相同,上管用PWM1,下管用PWM2试看看 wenyangzeng 发表于 2018-1-23 21:47
上下管占空比设相同,上管用PWM1,下管用PWM2试看看
不是上下用哪个的问题,是死区插入的问题,正常死区是同时为低电平几个US,我的设备上下管死区为高几个US不知道怎么修改,用反相器可以实现,但是PCB不够了。 可以换一种思维方式,直接就是把上面的占空比调大,下面的调小。具体调多少,自己知道是怎么回事就可以了。要想停机的话,切换到IO方式,直接置高电平。 toofree 发表于 2018-1-23 23:21
可以换一种思维方式,直接就是把上面的占空比调大,下面的调小。具体调多少,自己知道是怎么回事就可以了。 ...
这个应该不行吧,因为设置好一组后,另外一组是直接反向的, 两个PWM设置的极性反转一下,不OK么? Bryan 发表于 2018-1-23 23:53
两个PWM设置的极性反转一下,不OK么?
这个我还没测试,按道理说应该是不行,死区插入,就是上下PWM=0,延时多少US,原理就是这样,反相器是可以的,死区为低的时候,反向出来是高的,这个测试过的 TIM1_CCER1 = 0x05; //CC1为输出 OC1高电平有效 开启OC1N OC1N高电平有效
//TIM1_CCER1=0x0f; //CC1为输出 OC1低电平有效 开启OC1N OC1N低电平有效
通过设置OC1的高电平有效或者低电平有效可以调整死区是高电平还是低电平。 直接设置输出oc1与oc1n反相即可。即设置无效电平为高电平。 hxydj 发表于 2018-1-24 10:34
TIM1_CCER1 = 0x05; //CC1为输出 OC1高电平有效 开启OC1N OC1N高电平有效
//TIM1_CCER1=0x0f; ...
厉害哈,果然可以,当时只是想想没有实际测试,感谢感谢哈
页:
[1]