智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2265|回复: 1
打印 上一主题 下一主题

C电机驱动

[复制链接]

7

主题

29

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1968
威望
995
贡献
561
兑换币
192
注册时间
2011-1-7
在线时间
206 小时
跳转到指定楼层
1#
发表于 2011-3-25 08:55:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求各路高手指教。我在测试电机驱动是,电机转的不稳定,要不不转,要不退一下轮子转一会儿。用万用表测试两个驱动芯片的输出端,发现有时两个输出端都为电池电压,有时两个都为零电压。 我是用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 */
}

以下是电路原理图:   


求高手指教

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

1

主题

5

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329
威望
214
贡献
81
兑换币
36
注册时间
2012-2-19
在线时间
17 小时
毕业学校
NanYang Insititute of Technology
2#
发表于 2012-3-7 09:06:25 | 只看该作者
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 09:28 , Processed in 0.057892 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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