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

查看: 7504|回复: 5

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

[复制链接]

4

主题

79

回帖

0

蝴蝶豆

新手上路

最后登录
2019-7-19
发表于 2013-12-17 11:21:01 | 显示全部楼层 |阅读模式
由于需要驱动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
回复

使用道具 举报

7

主题

50

回帖

0

蝴蝶豆

新手上路

最后登录
2019-6-5
发表于 2013-12-23 16:33:48 | 显示全部楼层

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

很好很好,死区也用软件产生,我以前用IR2130驱动,驱动芯片带保护,死区就不用考虑了。
回复 支持 反对

使用道具 举报

307

主题

3125

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-7-17
发表于 2013-12-23 21:36:17 | 显示全部楼层

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

多谢!期待后续
 
已添加到社区网友原创汇总:
STM32F030探索套件开发日志,中文教程,使用问答70篇
回复 支持 反对

使用道具 举报

0

主题

10

回帖

0

蝴蝶豆

新手上路

最后登录
2015-1-7
发表于 2015-1-7 21:41:16 | 显示全部楼层
的顶顶顶顶顶顶顶顶顶顶
回复 支持 反对

使用道具 举报

91

主题

4603

回帖

4

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2015-1-7 21:52:00 | 显示全部楼层
frank897668558 发表于 2013-12-23 16:33
很好很好,死区也用软件产生,我以前用IR2130驱动,驱动芯片带保护,死区就不用考虑了。
...

就是代码编写的多了很多吧
回复 支持 反对

使用道具 举报

0

主题

49

回帖

0

蝴蝶豆

中级会员

最后登录
2020-9-14
发表于 2020-8-29 14:11:55 | 显示全部楼层
谢谢lz的资料分享
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版