智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6012|回复: 13
打印 上一主题 下一主题

SD-5舵机调试问题

  [复制链接]

16

主题

69

帖子

0

精华

高级会员

Rank: 4

积分
732
威望
452
贡献
164
兑换币
33
注册时间
2012-3-26
在线时间
58 小时
跳转到指定楼层
1#
发表于 2013-1-21 09:35:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问各位大侠SD-5舵机占空比太小舵机不转,太大舵机就打到极限位置,怎么回事啊?总线频率为64M

舵机PWM初始化代码如下:

void PWM_Init200HZ(void)  
{     
       //PWMCTL      PWM控制寄存器
   PWMCTL_CON45 = 1;                     
   PWME_PWME5 = 0;
    // PWMPRCLK    PWM时钟预分频寄存器
   PWMPRCLK_PCKA = 4;         // clockA  16分频,clockA = busclk/16 = 4MHz;
   PWMSCLA=1;                 // Clock SA = Clock A / (2 * PWMSCLA)  = 2 M
           //PWMCLK      PWM时钟选择寄存器
   PWMCLK_PCLK5 =1;        //PWM5选择 Clock SA  ,单位时钟为0.5us  
    // 通道1357输出极性 首先为高 占空比计数器计数完毕变为低  
   PWMPOL_PPOL5=1;
   //PWMCNTx     PWM计数寄存器
   PWMCNT45= 0;
   //PWMDTYx     PWM比较寄存器(PWM高电平)
    PWMDTY45= 0;
   //PWMPERx     PWM预置数寄存器(PWM周期)
   PWMPER45= 10000;  //PWM频率=Clock SA/PWMPER45=2M/10000=200HZ
     //PWME        PWM使能寄存器
   PWME_PWME5 = 1;

}   

PWMDTY45= 0; 或PWMDTY45= 1;或 PWMDTY45= 2;时舵机不转, PWMDTY45= 3;舵机就打到极限,望各位大侠不惜吝教!

21

主题

892

帖子

0

精华

常驻嘉宾

爱板者

Rank: 8Rank: 8

积分
3857

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章

威望
1833
贡献
1048
兑换币
736
注册时间
2012-12-4
在线时间
488 小时
2#
发表于 2013-1-21 10:03:04 | 只看该作者
脉冲频率设置错误  请查看这个舵机的频率要求 要基本一样 而不是自己想设多少就是多少
回复 支持 反对

使用道具 举报

0

主题

45

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1933
威望
809
贡献
506
兑换币
474
注册时间
2012-11-2
在线时间
309 小时
3#
发表于 2013-1-21 10:09:31 | 只看该作者
把频率改成300Hz
回复 支持 反对

使用道具 举报

16

主题

69

帖子

0

精华

高级会员

Rank: 4

积分
732
威望
452
贡献
164
兑换币
33
注册时间
2012-3-26
在线时间
58 小时
4#
 楼主| 发表于 2013-1-21 10:43:00 | 只看该作者
嗯 我改成50HZ就好了!
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
威望
122
贡献
54
兑换币
54
注册时间
2012-11-10
在线时间
27 小时
毕业学校
阳光小学
5#
发表于 2013-1-25 10:12:35 | 只看该作者
SC电磁 发表于 2013-1-21 10:43
嗯 我改成50HZ就好了!

SD-5舵机最好用300Hz的频率,我用285.7Hz占空比为450/2000(大概值)时候打在中点
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
威望
122
贡献
54
兑换币
54
注册时间
2012-11-10
在线时间
27 小时
毕业学校
阳光小学
6#
发表于 2013-1-25 10:23:00 | 只看该作者
SC电磁 发表于 2013-1-21 10:43
嗯 我改成50HZ就好了!

不好意思,占空比是950/2000(大概值)的时候打在中点
回复 支持 反对

使用道具 举报

39

主题

850

帖子

0

精华

跨届大侠

同学,今晚去你宿舍偷高压锅。

Rank: 10Rank: 10Rank: 10

积分
8530

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章

QQ
威望
3783
贡献
2239
兑换币
2331
注册时间
2012-7-26
在线时间
1255 小时
7#
发表于 2013-1-25 16:42:26 | 只看该作者
1570022023 发表于 2013-1-25 10:23
不好意思,占空比是950/2000(大概值)的时候打在中点

能贴一下你的初始化程序么?
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
威望
122
贡献
54
兑换币
54
注册时间
2012-11-10
在线时间
27 小时
毕业学校
阳光小学
8#
发表于 2013-1-25 19:38:43 | 只看该作者
总线时钟为64M
void PWM_init7()         //舵机控制
{
  PWME_PWME7 = 0;         //禁止PWM模块
  PWMPRCLK = 0X33;        //CLOCKB的预分频设置为8      64M/8=8M     
  PWMSCLB = 7;            //SB的分频因子设置为7            
  PWMCLK_PCLK7 = 1;       //通道7选择SB为PWM时钟
  PWMPER67 = 2000;        //通道7周期寄存器设置为2000     8M/7/2/2000=285.7Hz
  PWMDTY67 = 950;          //通道7占空比寄存器设置(舵机中转,这是大概的值,具体的要根据舵机来设定)
  PWMPOL_PPOL7 = 1;       //PWM先输出高电平后输出低电平
  PWMCAE_CAE7 = 0;        //左对齐输出
  PWMCTL_CON67 = 1;       //联级
  PWME_PWME7 = 1;         //通道7使能
}
回复 支持 反对

使用道具 举报

8

主题

54

帖子

0

精华

高级会员

Rank: 4

积分
649
威望
288
贡献
135
兑换币
176
注册时间
2012-11-7
在线时间
113 小时
9#
发表于 2013-3-14 21:53:06 | 只看该作者
1570022023 发表于 2013-1-25 19:38
总线时钟为64M
void PWM_init7()         //舵机控制
{

你好,请问你给予舵机的电压是多少?我设置为300hz,就是不动
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
威望
122
贡献
54
兑换币
54
注册时间
2012-11-10
在线时间
27 小时
毕业学校
阳光小学
10#
发表于 2013-4-12 18:59:19 | 只看该作者
王晓光 发表于 2013-3-14 21:53
你好,请问你给予舵机的电压是多少?我设置为300hz,就是不动

5.5v
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-4 09:25 , Processed in 0.079520 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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