OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3740|回复: 7

PWM控制步进电机占空比设置及频率太高无法工作

[复制链接]

48

主题

179

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2017-6-19
在线时间
90 小时
发表于 2020-7-22 15:26:08 | 显示全部楼层 |阅读模式
20金钱
我用原子的ATK-2MD4850步进电机驱动器配合战舰板调试步进电机,有如下两个问题不太理解,代码及问题描述如下:1、占空比如何调节,我知道是用这两个函数一起调节 TIM_SetCompare2(TIM3,450);  TIM3_PWM_Init(899,0);第二个用来设置频率,第一个函数和第二个函数是怎么搭配的,计算公式是什么,我这样配出来可以得到80KHZ,占空比50%的波形,我知道50KHZ是TIM3_PWM_Init(899,0)配出来的,那么50%占空比怎么得到的?
2、TIM3_PWM_Init(899,0);           这个函数理论上我改变“899”这个值就可以得到不一样的频率,可是我试了下,频率最大只能调到5.5KHZ左右,再往下就调不了了,规格书里面说ATK-2MD4850收脉冲频率范围 20Hz~100KHz,请问我想要500HZ的频率,应该如何设置?
  1. int main(void)
  2. {               
  3.         vu8 key=0;
  4.         u32 led0pwmval=450;
  5.         delay_init();                     //延时函数初始化          
  6.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  7.         LED_Init();                             //LED端口初始化
  8.         KEY_Init();
  9.         TIM3_PWM_Init(899,0);             //不分频。PWM频率=72000000/900=80Khz         
  10.            while(1)
  11.         {                       
  12.                 key=KEY_Scan(0);        //得到键值
  13.                    if(key)
  14.                 {                                       
  15.                         switch(key)
  16.                         {                                 
  17.                                 case KEY0_PRES:        //       
  18.                                         PC2=0;
  19.                                         PC0=1;
  20.                                         TIM_SetCompare2(TIM3,led0pwmval);       
  21.                                 break;
  22.                                
  23.                                 case KEY1_PRES:        //       
  24.                                         PC2=0;
  25.                                         PC0=0;                                       
  26.                                         TIM_SetCompare2(TIM3,led0pwmval);                                                                       
  27.                                 break;                               
  28.                         }                       
  29.                 }       
  30.         }         
  31. }
复制代码


最佳答案

查看完整内容[请看2#楼]

TIM1_PWM_Init(999,71); TIM_SetCompare1(TIM1,500); 频率1k 周期1ms 占空比50% TIM1_PWM_Init(199,71); TIM_SetCompare1(TIM1,100); 频率5k 周期200us 占空比50% TIM1_PWM_Init(99,71); TIM_SetCompare1(TIM1,50); 频率10k 周期100us 占空比50% TIM1_PWM_Init(49,71); TIM_SetCompare1(TIM1,25); 频率20k 周期50us 占空比50%
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

48

主题

179

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2017-6-19
在线时间
90 小时
 楼主| 发表于 2020-7-22 15:26:09 | 显示全部楼层
本帖最后由 王大爷爱吃鱼 于 2020-7-24 15:19 编辑

TIM1_PWM_Init(999,71);    TIM_SetCompare1(TIM1,500);  频率1k    周期1ms    占空比50%
TIM1_PWM_Init(199,71);    TIM_SetCompare1(TIM1,100);  频率5k    周期200us  占空比50%
TIM1_PWM_Init(99,71);     TIM_SetCompare1(TIM1,50);   频率10k   周期100us  占空比50%
TIM1_PWM_Init(49,71);     TIM_SetCompare1(TIM1,25);   频率20k   周期50us   占空比50%
回复

使用道具 举报

48

主题

179

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2017-6-19
在线时间
90 小时
 楼主| 发表于 2020-7-22 15:27:46 | 显示全部楼层
当我的频率高于50KHZ的时候,电机也无法工作,能听到“嗡”的声音,但电机不转。
回复

使用道具 举报

6

主题

412

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2707
金钱
2707
注册时间
2019-8-14
在线时间
414 小时
发表于 2020-7-22 20:31:56 | 显示全部楼层
帮顶~~
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-7-25 02:36:10 | 显示全部楼层
王大爷爱吃鱼 发表于 2020-7-24 15:16
TIM1_PWM_Init(999,71);    TIM_SetCompare1(TIM1,500);  频率1k    周期1ms    占空比50%
TIM1_PWM_Init( ...

本来就是啊,驱动器有频率限制的,不可能无限快
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2020-5-18
在线时间
165 小时
发表于 2020-7-25 08:11:13 | 显示全部楼层
电机需要一个加速过程,一上来就给最高频率是不行的。
回复

使用道具 举报

27

主题

195

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
232
金钱
232
注册时间
2016-8-31
在线时间
252 小时
发表于 2020-7-25 09:11:21 | 显示全部楼层
王大爷爱吃鱼 发表于 2020-7-22 15:27
当我的频率高于50KHZ的时候,电机也无法工作,能听到“嗡”的声音,但电机不转。

那不就相当于电机每秒转五万步?做不到啊
回复

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2020-5-9
在线时间
22 小时
发表于 2020-9-23 11:42:30 | 显示全部楼层
收藏
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-17 01:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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