智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1929|回复: 5
打印 上一主题 下一主题

有没有人遇到过不同通道PWM会有干扰???

[复制链接]

165

主题

4119

帖子

2

精华

杰出人士

老司机【呆萌侠】

Rank: 12Rank: 12Rank: 12

积分
16871

活跃会员奖章优秀会员奖章推广达人奖章热心会员奖章论坛元老奖章论坛骨干奖章在线王奖章资源大师奖章

QQ
威望
9731
贡献
4558
兑换币
1629
注册时间
2011-7-23
在线时间
1291 小时
毕业学校
工大
跳转到指定楼层
1#
发表于 2012-6-6 14:46:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
转向的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了。。。

17

主题

346

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2686
威望
1368
贡献
610
兑换币
505
注册时间
2011-8-27
在线时间
354 小时
2#
发表于 2012-6-6 16:22:25 | 只看该作者
我们的也遇到这个情况了。我们的事测速回来的值收到了干扰,不知如何是好啊。。。
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
威望
139
贡献
50
兑换币
0
注册时间
2012-4-14
在线时间
21 小时
毕业学校
湖南科技大学
3#
发表于 2012-6-6 17:05:21 | 只看该作者
楼主 能加我QQ么?451557928 我需要帮助哈
回复 支持 反对

使用道具 举报

7

主题

40

帖子

0

精华

高级会员

Rank: 4

积分
578
威望
321
贡献
145
兑换币
35
注册时间
2012-9-12
在线时间
56 小时
4#
发表于 2012-10-17 09:48:08 | 只看该作者
亲,CH_SA_DIV是什么意思?
回复 支持 反对

使用道具 举报

165

主题

4119

帖子

2

精华

杰出人士

老司机【呆萌侠】

Rank: 12Rank: 12Rank: 12

积分
16871

活跃会员奖章优秀会员奖章推广达人奖章热心会员奖章论坛元老奖章论坛骨干奖章在线王奖章资源大师奖章

QQ
威望
9731
贡献
4558
兑换币
1629
注册时间
2011-7-23
在线时间
1291 小时
毕业学校
工大
5#
 楼主| 发表于 2012-10-30 09:26:43 | 只看该作者
§;τ︷疯_zI 发表于 2012-10-17 09:48
亲,CH_SA_DIV是什么意思?

SA分频倍数
回复 支持 反对

使用道具 举报

7

主题

40

帖子

0

精华

高级会员

Rank: 4

积分
578
威望
321
贡献
145
兑换币
35
注册时间
2012-9-12
在线时间
56 小时
6#
发表于 2012-10-30 13:03:24 | 只看该作者
恋May 发表于 2012-10-30 09:26
SA分频倍数

谢了,亲
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-21 22:12 , Processed in 0.099162 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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