你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32F0开发日志/评测/笔记】+互补PWM波的产生

[复制链接]
net1234599 提问时间:2013-12-17 11:21 /
由于需要驱动H桥,产生一个伪直流,拿到板子之后一直在捣鼓PWM波,产生了占空比50%,有死去时间的0.125Hz互补的方波,主要操作如下,会有一些误差:
  TimerPeriod = (SystemCoreClock / 1000) - 1;
  Channel1Pulse = (uint16_t) (((uint32_t) 5 * (TimerPeriod - 1)) / 10);//占空比调节
  TIM_TimeBaseStructure.TIM_Prescaler = 8000;//调整频率
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  TIM_TimeBaseStructure.TIM_Period = TimerPeriod;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
  TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;
  TIM_OCInitStructure.TIM_Pulse = Channel1Pulse;
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
  TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low;
  TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
  TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;
  TIM_OC1Init(TIM1, &TIM_OCInitStructure);
  TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable;
  TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable;
  TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_1;
  TIM_BDTRInitStructure.TIM_DeadTime = 48;//死区时间
  TIM_BDTRInitStructure.TIM_Break = TIM_Break_Enable;
  TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High;
  TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;
  TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure);
  TIM_Cmd(TIM1, ENABLE);
  TIM_CtrlPWMOutputs(TIM1, ENABLE);
0.5Hz的互补方波:
F0000TEK.GIF
0.125Hz互补方波:
F0001TEK.GIF
死区时间1us:
F0002TEK.GIF
1 收藏 2 评论5 发布时间:2013-12-17 11:21

举报

5个回答
frank897668558 回答时间:2013-12-23 16:33:48

RE:【STM32F0开发日志/评测/笔记】+互补PWM波的产生

很好很好,死区也用软件产生,我以前用IR2130驱动,驱动芯片带保护,死区就不用考虑了。
沐紫 回答时间:2013-12-23 21:36:17

RE:【STM32F0开发日志/评测/笔记】+互补PWM波的产生

多谢!期待后续
 
已添加到社区网友原创汇总:
STM32F030探索套件开发日志,中文教程,使用问答70篇
boringtime 回答时间:2015-1-7 21:41:16
的顶顶顶顶顶顶顶顶顶顶
feixiang20 回答时间:2015-1-7 21:52:00
frank897668558 发表于 2013-12-23 16:33
很好很好,死区也用软件产生,我以前用IR2130驱动,驱动芯片带保护,死区就不用考虑了。
...

就是代码编写的多了很多吧
zhenweiaaa 回答时间:2020-8-29 14:11:55
谢谢lz的资料分享
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版