智能车制作

标题: C电机驱动 [打印本页]

作者: msr461472634    时间: 2011-3-25 08:55
标题: C电机驱动
求各路高手指教。我在测试电机驱动是,电机转的不稳定,要不不转,要不退一下轮子转一会儿。用万用表测试两个驱动芯片的输出端,发现有时两个输出端都为电池电压,有时两个都为零电压。 我是用PWM初始化程序测试电机的。
这是我的程序:
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
//-----时钟初始化程序--------//
void PLL_init(void)//64M
{  
    CLKSEL=0X00;   
    PLLCTL_PLLON=1;   
    SYNR =0xc0 | 0x07;                        
    REFDV=0xc0 | 0x01;
    POSTDIV=0x00;      
    _asm(nop);         
    _asm(nop);
    _asm(nop);
    _asm(nop);
    while(!(CRGFLG_LOCK==1));   
    CLKSEL_PLLSEL =1;                        
}

//PWM初始化//
void PWM_init(void)
{
DDRM_DDRM3=1;
PTM_PTM3=1;
PWME=0x00; //关闭PWM
PWMPOL=0x00; //输出起始电平为高电平
PWMCLK=0x00; //时钟来源选择ClockA、ClockB
PWMPRCLK=0x02; //PWM预分频为总线时钟/4
//正向
PWMPER3=0x9c; //设定PWM周期
PWMDTY3=0x65; //设定占空比
//反向
PWMPER2=0x9c;
PWMDTY2=0x9c;
PWME=0x0c; //PWM使能
}


void main(void) {
  /* put your own code here */
  PLL_init();
  PWM_init();  


   EnableInterrupts;


  for(;;) {
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}

以下是电路原理图:   


求高手指教
作者: 脚步    时间: 2012-3-7 09:06





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