完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这是一个pwm的原理图,对于pwm其实就是一个定时器自我计数,并与我们自己设定的值比较,最终得出高低电平,从而产生有规律的波形
其中ARR是计数的最大值,CCRX是我们自己设定的比较值 定时器pwm有向上,向下计数,有pwm1,pwm2模式,有输出极性高低的选择 1.配置rcc 2.配置gpio复用为定时器 3.设置定时器pwm的模式并使能 (1)PWM模式1- 在向上计数时,一旦TIMx_CNT《TIMx_CCR1时通道1为有效电平,否则为无效电平; 在向下计数时,一旦TIMx_CNT》TIMx_CCR1时通道1为无效电平,否则为有效电平。 PWM模式2- 在向上计数时,一旦TIMx_CNT《TIMx_CCR1时通道1为无效电平,否则为有效电平; 在向下计数时,一旦TIMx_CNT》TIMx_CCR1时通道1为有效电平,否则为无效电平。 (2)有效电平是通过TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_x来设置的,x可以为high,也可以为low 我自己的疑惑是,我设定的TIM_SetCompare1(TIM14,3000); 很高,但是电机却转的很慢,当我尝试把TIM_SetCompare1(TIM14,200); 时 我电机就变快了,这就是因为pwm模式的设定出了问题 void TIM14_PWM_Init(u32 arr,u32 psc) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM14,ENABLE); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); GPIO_PinAFConfig(GPIOA,GPIO_PinSource7,GPIO_AF_TIM14); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOA,&GPIO_InitStructure); TIM_TimeBaseStructure.TIM_Prescaler=psc; TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //我选择了向上计数 TIM_TimeBaseStructure.TIM_Period=arr; TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseInit(TIM14,&TIM_TimeBaseStructure); TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //选择了pwm1模式 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; //输出极性是低电平 TIM_OC1Init(TIM14, &TIM_OCInitStructure); TIM_OC1PreloadConfig(TIM14, TIM_OCPreload_Enable); TIM_ARRPreloadConfig(TIM14,ENABLE); TIM_Cmd(TIM14, ENABLE); } //我选择了向上计数 //选择了pwm1模式 //输出极性是低电平 当我输出较大的设定值ccrx,那么以为是pwm1,向上计数,所以当cnt《ccrx时为有效电平,而且我选择的输出极性是低电平 所以,当cnt《ccrx输出有效,输出为低电平,低电平对我的电机驱动是无效的,我需要的是高电平驱动,那么我设置了较高的ccrx 就会是的低电平占的比例大,那么电机就转的慢了。 |
|
|
|
只有小组成员才能发言,加入小组>>
660浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 17:47 , Processed in 0.703075 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号