智能车制作

标题: 电机转动问题 [打印本页]

作者: xlb    时间: 2010-5-1 22:38
标题: 电机转动问题
void init_Dianji(void)
{   
    PTP &= 0xf5;      //stop DJ
    DDRP |= 0x0a;     //output
    RDRP &= 0xf5;     //full drive
    PERP |= 0x0a;     //pull up or down enable
    PPSP &= 0xfa;     //select pull up


    PWME_PWME1=0;     //向后 disable
    PWME_PWME3=0;     //向前 disable   
   
    PWMPRCLK=0;  // BUS Clock
    PWMCLK &= 0xf5;   // PWM3-Clock BWM1-Clock A
   
    PWMPOL |= 0x0a;   //start with High Level
    PWMCAE &= 0xf5;   // left asigned
    PWMCTL_CON01 =1;  // 01级联
    PWMCTL_CON23 =1;  // 23级联
    PWMCTL_PFRZ = 0;
    PWMCTL_PSWAI =0;
   
    PWMDTY23 = 0;  /* Store initial value to the duty-compare register */
    PWMPER23 = 2400;  /* and to the period register */
   
    PWMDTY01 = 0;  /* Store initial value to the duty-compare register */
    PWMPER01 = 2400;  /* and to the period register */
}
上面是电机初始化的程序。后来在主程序中我们使PWMDTY23=20,电机转动,且速度很快;但是使PWMDTY23=30以及更大的值后,电机就没有反应了。然而就是这样同样的一个程序烧进其他的车子后,是能够控制的速度的大小的。并且其他的车子在程序运行到初始化部分不会转,一直到设置PWME使能为1才转,但是我们的车子在初始化部分就转起来了。我觉得应该是硬件的问题,可是不知道问题在哪里,麻烦各位高人给指点迷津!
作者: lim1t    时间: 2010-5-1 23:01
从你程序里看不出什么问题。但是你说PWMDTY23=20电机就转的很快,这点有点诡异了。
作者: 小林    时间: 2010-5-2 09:42
PWME使能为1才能使设置生效,在初始化部分就转起来,看你的电机驱动部分,要抗干扰,我们之前也遇到这个问题,在pwm输入端,加个电阻到地,就没问题了
作者: jiutian0396    时间: 2010-5-2 12:40
我做电机试验时也出现过这种情况,不过后来调着调着就好了,呵呵
作者: jiutian0396    时间: 2010-5-2 12:41
还是期待高手吧
作者: xlb    时间: 2010-5-2 18:23
最后测出来了,是芯片的一个引脚断了。O(∩_∩)O~谢谢大家的帮忙啊~
作者: linyujin    时间: 2011-2-16 21:35
学习了!
作者: linyujin    时间: 2011-2-16 21:35
学习了!
作者: LZJQ1    时间: 2011-2-23 18:37

作者: apple张    时间: 2011-3-5 23:21

作者: neespeed    时间: 2011-7-15 10:54

作者: 写轮无语    时间: 2012-5-22 15:29

作者: 积木    时间: 2012-5-24 22:01
谢谢
我试车时短路了,向后冲啊

作者: 反对幂指三    时间: 2012-6-2 10:04
学习了




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