当前位置: 代码迷 >> 单片机 >> DSP的PWM输出统制步进电机疑惑
  详细解决方案

DSP的PWM输出统制步进电机疑惑

热度:60   发布时间:2016-04-28 15:24:52.0
DSP的PWM输出控制步进电机疑惑
我选用的步进电机是42系列两相混合式,参数如下图
选用的程序是固高开发板的PWM模块的程序,当我按照程序(PWM频率为5KHz)驱动步进电机是,只有嗡嗡的声音,电机不转,于是我将频率调为上图的1.6KHz,电机可以运转。通过调节,我发现,只有频率在1.3KHz-1.8KHz时,电机才可以运转。
1、不是说可以通过调节频率来调节步进电机的转速吗,可是现在只有这么窄的范围,可以实现转速调节吗?
而且我发现在这些频率内,电机转速都差不多,是不是我理解错了?
2、当我调节PWM占空比的时候,发现也没有什么实际作用,电机转速也不会改变,那么占空比对于步进电机有什么意义呢?
3、我该如何利用PWM模块来调节步进电机不同的转速?
开发板中的PWM模块的程序如下:
#define CPU_CLK   100e6
#endif
#define PWM_CLK   1.6e3                 // If diff freq. desired, change freq here.
#define SP        CPU_CLK/(2*PWM_CLK)
#define TBCTLVAL  0x200E              // Up-down cnt, timebase = SYSCLKOUT


void EPwmSetup()
{
    InitEPwm1Gpio();
EPwm1Regs.TBSTS.all=0;
EPwm1Regs.TBPHS.half.TBPHS=0;
EPwm1Regs.TBCTR=0;

EPwm1Regs.CMPCTL.all=0x50;        // Immediate mode for CMPA and CMPB
EPwm1Regs.CMPA.half.CMPA =SP/2;
EPwm1Regs.CMPB=0;

EPwm1Regs.AQCTLA.all=0x60;        // EPWMxA = 1 when CTR=CMPA and counter inc
                                  // EPWMxA = 0 when CTR=CMPA and counter dec
EPwm1Regs.AQCTLB.all=0;
EPwm1Regs.AQSFRC.all=0;
EPwm1Regs.AQCSFRC.all=0;

EPwm1Regs.DBCTL.all=0xf;//b;          // EPWMxB is inverted
EPwm1Regs.DBRED=1000;
EPwm1Regs.DBFED=1000;

EPwm1Regs.TZSEL.all=0;
EPwm1Regs.TZCTL.all=0;
EPwm1Regs.TZEINT.all=0;
EPwm1Regs.TZFLG.all=0;
EPwm1Regs.TZCLR.all=0;
EPwm1Regs.TZFRC.all=0;

EPwm1Regs.ETSEL.all=9;            // Interrupt when TBCTR = 0x0000
EPwm1Regs.ETPS.all=1;           // Interrupt on first event
EPwm1Regs.ETFLG.all=0;
EPwm1Regs.ETCLR.all=0;
EPwm1Regs.ETFRC.all=0;

EPwm1Regs.PCCTL.all=0;

EPwm1Regs.TBCTL.all=0x0010+TBCTLVAL; // Enable Timer
EPwm1Regs.TBPRD=SP;

}
DSP PWM脉冲 步进电机

------解决方案--------------------
1、不是说可以通过调节频率来调节步进电机的转速吗,可是现在只有这么窄的范围,可以实现转速调节吗?
而且我发现在这些频率内,电机转速都差不多,是不是我理解错了?
我印象中,伺服电机才是PWM调速的,步进电机用的是步进脉冲的频率调速.也有可能是不同的驱动器采用的方式不一样...

2、当我调节PWM占空比的时候,发现也没有什么实际作用,电机转速也不会改变,那么占空比对于步进电机有什么意义呢?
不知道是不是驱动器的特殊要求.

3、我该如何利用PWM模块来调节步进电机不同的转速?
同上
要不LZ好好查查~

------解决方案--------------------
1、不是说可以通过调节频率来调节步进电机的转速吗,可是现在只有这么窄的范围,可以实现转速调节吗?
而且我发现在这些频率内,电机转速都差不多,是不是我理解错了?
  相关解决方案