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

[复制链接]
1067|4
 楼主| 月落无痕 发表于 2020-11-4 21:24 | 显示全部楼层 |阅读模式
我用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. }



一只眠羊 发表于 2023-1-14 08:21 | 显示全部楼层
这个看你IO的支持,按理来说输出500HZ是可以的
未说出口的像你 发表于 2023-1-14 08:53 | 显示全部楼层
你修改PWM的总线频率,降低一些就好了
在曼谷的春 发表于 2023-1-14 09:25 | 显示全部楼层
频率高了输出不了是正常的,低了咋还输出不了呢?
SantaBunny 发表于 2023-2-19 21:54 | 显示全部楼层
降低总频率看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部