stm32输出pwm,怎么控制直流电机的正反转?

#defineM1_PWM_VALTIM3->CCR1voidPWM1_1_Init(u16arr1,u16psc1){//此部分需手动修改IO口设置RCC->APB1E... #define M1_PWM_VAL TIM3->CCR1

void PWM1_1_Init(u16arr1,u16 psc1)
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRL&=0XF0FFFFFF;//PA6输出
GPIOA->CRL|=0X0B000000;//复用功能输出
GPIOA->ODR|=1<<6;//PA6上拉
TIM3->ARR=arr1;//设定计数器自动重装值
TIM3->PSC=psc1;//预分频器不分频
TIM3->CCMR1|=7<<4; //CH1 PWM2模式
TIM3->CCMR1|=1<<3; //CH1预装载使能
TIM3->CCER|=1<<0; //OC1 输出使能
TIM3->CR1=0x8000; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
正转时, 是不是二个IO口,一个普通IO口为0,一个IO口用pwm控制,pwm输出一个正数值,
(如 M1_PWM_VAL=300)
反转时,一个普通IO口为1,一个IO口用pwm控制,pwm输出一个负数值,(如 M1_PWM_VAL=-300)
非常感谢。。。。。。。。
展开
 我来答
生活畅谈者
高能答主

2019-08-13 · 生活新鲜事,看我就知道
生活畅谈者
采纳数:418 获赞数:344746

向TA提问 私信TA
展开全部

PWM信号只是控制信号,想要控制电机驱动,还需要驱动电路,比如H桥、驱动芯片等。正装是一个输出控制PWM信号,另一个输出低电平。反转是一个输出低电平,另一个输出控制PWM,设置成复用就当成普通的IO口,输出低电平。

通过调节PWM的占空比就能调节IO口上电压的持续性变化,因此也能够控制外设的功率进行持续性变化,也就能控制直流电机的转速快慢。

扩展资料:

注意事项:

1、在STM32中拥有多路PWM信号。每一个定时器的输出引脚都可以设置成相应的PWM信号的输出。PWM信号主要的参数有两个,周期的占空比。周期主要是由对应的定时器来确定。占空比就是PWM输出高电平的时间。    

2、在程序运行中可以使用TIM_SetCompare1()来改变相应的占空比。这样就可以实现灵活的控制PWM信号的输出。

3、管脚的IO输出模式是根据应用来定,比如如果用PWM输出驱动LED则应该将相应管脚设为AF_PP,否则单片机没有输出。

参考资料来源:百度百科-stm32

参考资料来源:百度百科-PWM

参考资料来源:百度百科-直流电动机

参考资料来源:百度百科-电机正反转

fxrxwh
高粉答主

推荐于2017-10-11 · 说的都是干货,快来关注
知道顶级答主
回答量:7.1万
采纳率:89%
帮助的人:2.5亿
展开全部
PWM信号只是控制信号,想要控制电机驱动,还需要驱动电路,比如H桥、驱动芯片等等。

正装是一个输出控制PWM信号,另一个输出低电平。
反转是一个输出低电平,另一个输出控制PWM。
设置成复用就把它当成普通的IO口,输出低电平。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huzi2099
2013-06-23 · TA获得超过1172个赞
知道小有建树答主
回答量:1887
采纳率:82%
帮助的人:632万
展开全部
没有桥没极性,-30就无效电平了
更多追问追答
追问
有桥有极性的话,-300有效吗?驱动上的二条接单片机线能不能都用pwm控制?
追答
-300=65536-300+1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑马763
2013-06-23
知道答主
回答量:25
采纳率:0%
帮助的人:6万
展开全部
加我QQ:370716937 黑马
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式