野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12261|回复: 7

PWM控制直流电机

[复制链接]
发表于 2016-9-20 21:46:31 | 显示全部楼层 |阅读模式
想用两个通道输出pwm控制一个电机,一个通道输出PWM,另一个输出低(但是不知道怎么能做,关闭该通道和输出脉宽为零都不对),翻转的时候两个通道相反输出!
不知道控制电机是不是这样的想法?麻烦有经验的大神指点一下!
有例程的可以分享一下,谢谢!我快调哭了!
(顺便小问题:MDK5之后F429软件仿真吗,想看引脚输出波形)
回复

使用道具 举报

发表于 2016-9-20 22:16:24 | 显示全部楼层
1.可以参考这个贴【Q群答疑】高级定时器如何实现PWM互补输出,带死区控制,带刹车功能
http://firebbs.cn/forum.php?mod= ... 5&fromuid=19749
(出处: 野火论坛)

2.MDK5支持F429软件仿真
回复 支持 反对

使用道具 举报

发表于 2016-9-21 10:15:22 | 显示全部楼层
2楼已经给出了方法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-21 14:01:46 | 显示全部楼层
cancore 发表于 2016-9-20 22:16
1.可以参考这个贴【Q群答疑】高级定时器如何实现PWM互补输出,带死区控制,带刹车功能
http://firebbs.cn/ ...

可是这个是pwm是同时输出的,这两个引脚接电机,电机不就不受控制的来回转了吗!
我想打开一个,关闭互补的。要电机反转的时候,打开互补的,关闭原来的!不知道可行不!关闭通道
它输出的就是低电平吗?
直接控制寄存器,总是报错!
另外引脚复用,还能按常规的方式给低电平吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-21 14:02:45 | 显示全部楼层
仲楚楚 发表于 2016-9-21 10:15
2楼已经给出了方法

谢谢帮忙!
可是这个是pwm是同时输出的,这两个引脚接电机,电机不就不受控制的来回转了吗!
我想打开一个,关闭互补的。要电机反转的时候,打开互补的,关闭原来的!不知道可行不!关闭通道
它输出的就是低电平吗?
直接控制寄存器,总是报错!
另外引脚复用,还能按常规的方式给低电平吗?
回复 支持 反对

使用道具 举报

发表于 2016-9-21 14:07:23 | 显示全部楼层
bluestar 发表于 2016-9-21 14:01
可是这个是pwm是同时输出的,这两个引脚接电机,电机不就不受控制的来回转了吗!
我想打开一个,关闭互 ...

你不会想IO口直接驱动电机吧?这样是行不通的,得加驱动电路
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-21 14:37:26 | 显示全部楼层
cancore 发表于 2016-9-21 14:07
你不会想IO口直接驱动电机吧?这样是行不通的,得加驱动电路

我用的是H桥。应该是能控制的,这两个函数控制一个轮子的前后转
void Motor1Forward(void)
{
         TIM_OCInitTypeDef  TIM_OCInitStructure;
       
         TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;       
         TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;
         TIM_OC1Init(ADVANCE_TIM, &TIM_OCInitStructure);         
//        TIM_CCER_CC1NE &= ~(1<<2);
//        TIM_CCER_CC1E |= 1;   

}       

void Motor1Backward(void)
{
         TIM_OCInitTypeDef  TIM_OCInitStructure;
       
         TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Disable;       
         TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;
         TIM_OC1Init(ADVANCE_TIM, &TIM_OCInitStructure);         
//        TIM_CCER_CC1NE &= ~(1<<2);
//        TIM_CCER_CC1E |= 1;   
}       
回复 支持 反对

使用道具 举报

发表于 2016-9-21 14:40:56 | 显示全部楼层
帮顶!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-6-6 17:15 , Processed in 0.029159 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表