智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 10387|回复: 16
打印 上一主题 下一主题

xs128 pwm控制电机

  [复制链接]

13

主题

52

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1361
威望
773
贡献
252
兑换币
4
注册时间
2011-9-17
在线时间
168 小时
跳转到指定楼层
1#
发表于 2012-2-22 12:37:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <hidef.h>      /* common defines and macros */
#include <mc9s12xs128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"

void initpll(void)//40MHz,外部时钟为16MHz
{
     CLKSEL_PLLSEL=0;
     PLLCTL_PLLON=0;
     SYNR=0xc0 | 0x07;//PLLCLK =2*OSCCLK*(SYNR + 1)/(REFDV + 1)
     REFDV=0x80 | 0x01;
     PLLCTL_PLLON=1;
     asm  NOP;
     asm  NOP;
     asm  NOP;
     while((CRGFLG&0X08)==0);//时钟校正同步
     CLKSEL_PLLSEL=1;
}

void main(void)
  {   initpll();
      PWME=0x00;
      PWMCTL=0X10;    //01连起来供给舵机
      PWMCAE=0X00;
      PWMPOL=0XFF;    //先输出高电平
      PWMCLK=0X03;    //01选择SA时钟,23选择B,45选择A
      PWMPRCLK=0X55;  //对A时钟进行32分频,B时钟进行32分频 A=2M B=2M
      PWMSCLA= 4;     //SA=2M/(2*4)=250K
      PWMPER01=5000;  // 周期为 250K/5000=50HZ  舵机
      PWMDTY01=430;  //  舵机的中间位置440,增大往右530转差不多40度,减小往左380转差不多 舵机从最左到最右的时间为160MS
      PWMPER3=200;    //  周期为 2M/200=10KHZ   电机左 正转
      PWMPER2=200;
      PWMDTY2=50;    //  左电机
     PWMDTY3=0;          //电机左  正转
      PWMPER4=200 ;
      PWMPER5=200;    //  占空比为 0% 左电机
      PWMDTY5=0;    //   电机右 正转
      PWMDTY4=100;      ///电机右  反转
      //PWMDTY4=0 ;  
      //占空比为 0% 右电机
      PWME=0XFF;   //通道使能
   
   
  EnableInterrupts;
  for(;;) {} /* wait forever */
  /* please make sure that you never leave this function */
}
以上为程序代码,有pwm输出,测试过驱动电路没问题,用上届的程序可以跑得,但是用上面的程序怎么也没反应,能帮我看下吗,解决不了很不爽

3

主题

83

帖子

0

精华

高级会员

Rank: 4

积分
584
威望
401
贡献
85
兑换币
6
注册时间
2012-2-20
在线时间
49 小时
2#
发表于 2012-2-24 10:28:46 | 只看该作者
你这个里面怎么还控制舵机呀,,,一看就是错的哈
回复 支持 反对

使用道具 举报

3

主题

83

帖子

0

精华

高级会员

Rank: 4

积分
584
威望
401
贡献
85
兑换币
6
注册时间
2012-2-20
在线时间
49 小时
3#
发表于 2012-2-24 10:29:18 | 只看该作者
你是不是弄错了程序呀
回复 支持 反对

使用道具 举报

13

主题

52

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1361
威望
773
贡献
252
兑换币
4
注册时间
2011-9-17
在线时间
168 小时
4#
 楼主| 发表于 2012-2-24 14:53:44 | 只看该作者
难道不可以控制舵机?
回复 支持 反对

使用道具 举报

44

主题

1485

帖子

0

精华

版主

早川队队长

Rank: 9Rank: 9Rank: 9

积分
20210

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

QQ
威望
5864
贡献
12698
兑换币
630
注册时间
2009-8-18
在线时间
824 小时
5#
发表于 2012-2-24 15:37:41 | 只看该作者
本帖最后由 sonwendi 于 2012-2-24 15:40 编辑

你测一测pwm有没有输出,看程序似乎没有问题
详细说一下你的症状
回复 支持 反对

使用道具 举报

24

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1199
威望
781
贡献
254
兑换币
9
注册时间
2012-2-2
在线时间
82 小时
毕业学校
陕西理工学院
6#
发表于 2012-2-24 23:49:46 | 只看该作者
sonwendi 发表于 2012-2-24 15:37
你测一测pwm有没有输出,看程序似乎没有问题
详细说一下你的症状

敢问版主是女是男啊
回复 支持 反对

使用道具 举报

13

主题

52

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1361
威望
773
贡献
252
兑换币
4
注册时间
2011-9-17
在线时间
168 小时
7#
 楼主| 发表于 2012-2-25 20:32:25 | 只看该作者
sonwendi 发表于 2012-2-24 15:37
你测一测pwm有没有输出,看程序似乎没有问题
详细说一下你的症状

有pwm输出的 但是我测过电机两端没电压 纠结了

回复 支持 反对

使用道具 举报

44

主题

1485

帖子

0

精华

版主

早川队队长

Rank: 9Rank: 9Rank: 9

积分
20210

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

QQ
威望
5864
贡献
12698
兑换币
630
注册时间
2009-8-18
在线时间
824 小时
8#
发表于 2012-2-28 14:43:11 | 只看该作者
xiazeyang1008 发表于 2012-2-25 20:32
有pwm输出的 但是我测过电机两端没电压 纠结了

那应该是驱动电路的问题
回复 支持 反对

使用道具 举报

3

主题

25

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
260
威望
214
贡献
28
兑换币
0
注册时间
2012-2-18
在线时间
9 小时
毕业学校
安徽交通职业技术学院
9#
发表于 2012-2-28 20:44:36 | 只看该作者
回复 支持 反对

使用道具 举报

13

主题

52

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1361
威望
773
贡献
252
兑换币
4
注册时间
2011-9-17
在线时间
168 小时
10#
 楼主| 发表于 2012-2-28 21:04:02 | 只看该作者
sonwendi 发表于 2012-2-28 14:43
那应该是驱动电路的问题

解决了 是电路问题 接触有点问题
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-15 18:50 , Processed in 0.048824 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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