智能车制作

标题: 有没有人遇到过不同通道PWM会有干扰??? [打印本页]

作者: 恋May    时间: 2012-6-6 14:46
标题: 有没有人遇到过不同通道PWM会有干扰???
转向的PWM01居然干扰摇头PWM23。或者说摇头的PWM23也能干扰PWM01。
现象:只给转向PWM01两种转空比相互交错,轮子不停在摆动,但是摇头的舵机只是初始化给一个固定值,但是此时摇头舵机也跟着摆动。
for(;;) {
PWMDTY01=19800;
  Delay(5000);

    PWMDTY01=27800;
    Delay(5000);
               
  } /* loop forever */
  /* please make sure that you never leave main */
}

反之也是,以前正好舵机 同向,干扰也是同向,现在换了方向 问题出来了。是什么问题呢,初始化?电路板纹波?
PWM初始化如下
#define BUS_FREQ 64000000          //总线频率64000000
#define PWM_PRCLK 0x22             //X011 X010   CH_B=BUS_FREQ/8;CH_A=BUS_FREQ/4;
#define CH_A_FREQ 16000000          //时钟A频率 0.04ms
#define CH_B_FREQ 16000000          //时钟B频率 0.04ms
#define CH_SA_FREQ 2000000         //时钟SA频率  0.01ms
#define CH_SB_FREQ 2000000         //时钟SB频率  0.01ms
#define CH_SA_DIV (CH_A_FREQ/(CH_SA_FREQ*2))    //4
#define CH_SB_DIV (CH_A_FREQ/(CH_SB_FREQ*2))    //4
#define STEER_FREQ 300             //舵机频率 300Hz         300Hz是3.333ms
#define MOTOR_FREQ 20000            //电机频率

void PWM_Init(void){
PWMPRCLK=PWM_PRCLK;
PWMSCLA=CH_SA_DIV;
PWMSCLB=CH_SB_DIV;
PWMCTL_CON45=1;                    //16位级联
PWMCTL_CON67=1;                    //16位级联
PWMCTL_CON23=1;                    //16位级联
PWMCTL_CON01=1;
PWMCLK_PCLK5=1;                    //PWM5使用SA   
PWMCLK_PCLK1=0;                    //PWM1使用A   16000000/300=53333.3333 yes!!!!    16M是0.0000625ms
PWMCLK_PCLK3=0;                    //PWM3使用B  16000000/300=53333.3333 yes!!!!    16M是0.0000625ms
PWMCLK_PCLK7=1;                    //PWM7使用SB
PWMPER01=(CH_A_FREQ/STEER_FREQ);    //                            53333.333333    0.0000625*53333=300Hz  49.5%正中
PWMPER23=(CH_B_FREQ/STEER_FREQ);  //写PWM23的周期寄存器           53333.333333    0.0000625*53333=300Hz  49.5%正中
PWMPER45=(CH_SA_FREQ/MOTOR_FREQ);  //写PWM45的周期寄存器      DTY/B的周期寄存器=1.5ms    24000/16m=1.5MS
PWMPER67=(CH_SB_FREQ/MOTOR_FREQ);  //写PWM67的周期寄存器
PWMPOL_PPOL1=1;                    //极性为正
PWMPOL_PPOL3=1;
PWMPOL_PPOL5=1;                    //极性相反
PWMPOL_PPOL7=1;
//PWMDTY45=20000;                    //初始化PWM45
                                   
PWMCAE=0x00;                        //左对齐
PWMDTY23=23800;               
PWMDTY01=23000;
PWME_PWME1=1;
PWME_PWME3=1;                       //使能PWM
}


还有一个疑问 为什么我PWM67用不了时钟B了。。。

作者: 庞七七    时间: 2012-6-6 16:22
我们的也遇到这个情况了。我们的事测速回来的值收到了干扰,不知如何是好啊。。。
作者: 如梦令……    时间: 2012-6-6 17:05
楼主 能加我QQ么?451557928 我需要帮助哈
作者: §;τ︷疯_zI    时间: 2012-10-17 09:48
亲,CH_SA_DIV是什么意思?
作者: 恋May    时间: 2012-10-30 09:26
§;τ︷疯_zI 发表于 2012-10-17 09:48
亲,CH_SA_DIV是什么意思?

SA分频倍数

作者: §;τ︷疯_zI    时间: 2012-10-30 13:03
恋May 发表于 2012-10-30 09:26
SA分频倍数

谢了,亲




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2