智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4945|回复: 9
打印 上一主题 下一主题

MC9S12XS128舵机程序

[复制链接]

1

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
QQ
威望
234
贡献
100
兑换币
0
注册时间
2012-4-1
在线时间
20 小时
跳转到指定楼层
1#
发表于 2012-5-15 09:39:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
那能给我提供一个xs128的控制舵机的程序,我刚开学,占空比总是设置不好,小弟在此先谢了

31

主题

449

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3382

优秀会员奖章活跃会员奖章在线王奖章

QQ
威望
1605
贡献
1033
兑换币
1047
注册时间
2015-10-19
在线时间
372 小时
毕业学校
太和一中
10#
发表于 2016-2-25 18:38:22 | 只看该作者
我的电机一直右转
回复 支持 反对

使用道具 举报

31

主题

449

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3382

优秀会员奖章活跃会员奖章在线王奖章

QQ
威望
1605
贡献
1033
兑换币
1047
注册时间
2015-10-19
在线时间
372 小时
毕业学校
太和一中
9#
发表于 2016-2-25 18:38:00 | 只看该作者
模电还要继续看 发表于 2013-1-20 11:37
程序是回正中的,舵机一直往右转————————————————为何呢?

我的也是,电机为什么一直
回复 支持 反对

使用道具 举报

0

主题

21

帖子

0

精华

注册会员

Rank: 2

积分
187
威望
95
贡献
42
兑换币
54
注册时间
2014-3-6
在线时间
25 小时
毕业学校
西北民族大学
8#
发表于 2014-5-31 20:58:50 | 只看该作者
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 = 60;          //通道7占空比寄存器设置(舵机中转315 100 525
  PWMPOL_PPOL7 = 1;       //PWM先输出高电平后输出低电平
  PWMCAE_CAE7 = 0;        //左对齐输出
  PWMCTL_CON67 = 1;       //联级
  PWME_PWME7 = 1;         //通道7使能
}
回复 支持 反对

使用道具 举报

5

主题

36

帖子

0

精华

高级会员

Rank: 4

积分
568
威望
283
贡献
177
兑换币
182
注册时间
2013-12-11
在线时间
54 小时
毕业学校
辽宁科技大学
7#
发表于 2014-2-25 19:17:29 | 只看该作者
可欣 发表于 2012-12-11 15:19
void Steer_Init(void)
{
    PWME_PWME3 = 0;      //先禁止各通道输出

大神!冒昧打扰,还请见谅,问下大神可有xs128的用PID算法控制舵机转向的程序,我传感器用的是线性CCD,现在已经提取出黑线,接下来不知道怎么用赛道中心点与车身中心点的偏差来控制舵机转向,还请大神能不吝赐教,多谢多谢!
回复 支持 反对

使用道具 举报

8

主题

39

帖子

0

精华

高级会员

Rank: 4

积分
839
威望
426
贡献
217
兑换币
258
注册时间
2012-10-22
在线时间
98 小时
毕业学校
成都大学
6#
发表于 2013-3-31 09:32:09 | 只看该作者
模电还要继续看 发表于 2013-1-20 11:37
程序是回正中的,舵机一直往右转————————————————为何呢?

看看变量类型是不是定义错了吧  我们也遇到过这种问题
回复 支持 反对

使用道具 举报

8

主题

39

帖子

0

精华

高级会员

Rank: 4

积分
839
威望
426
贡献
217
兑换币
258
注册时间
2012-10-22
在线时间
98 小时
毕业学校
成都大学
5#
发表于 2013-3-29 18:42:15 | 只看该作者
要让它动起来还是挺简单的,就是要实现自动的话 还得下工夫,具体调占空比的的话,多去看看舵机的资料嘛,还是挺简单的,主要是要弄清原理
回复 支持 反对

使用道具 举报

0

主题

104

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1016
威望
512
贡献
306
兑换币
356
注册时间
2013-3-10
在线时间
99 小时
4#
发表于 2013-3-29 18:27:57 | 只看该作者
我也是刚开始学,什么都不会。
回复 支持 反对

使用道具 举报

2

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
352
威望
185
贡献
85
兑换币
109
注册时间
2012-12-16
在线时间
41 小时
毕业学校
在读
3#
发表于 2013-1-20 11:37:47 | 只看该作者
程序是回正中的,舵机一直往右转————————————————为何呢?
回复 支持 反对

使用道具 举报

68

主题

1086

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4578

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

QQ
威望
2515
贡献
1213
兑换币
1382
注册时间
2012-9-19
在线时间
425 小时
2#
发表于 2012-12-11 15:19:44 | 只看该作者
void Steer_Init(void)
{
    PWME_PWME3 = 0;      //先禁止各通道输出
    PWMCTL_CON23 = 1;    //两两级联成16位PWM
    PWMPRCLK_PCKB = 2;  //预分频系数为B 4,总线频率,即10MHZ
    PWMSCLB = 2;  //SB_CLK = B_CLK / (2*2) ==2.5MHz
    PWMCLK_PCLK3 = 1;   //通道选  clock SB做时钟源
                                             
    PWMCNT3=0;  //23计数器清零
    PWMCAE_CAE3=0;    //选择输出模式为左对齐输出模式   
    PWMPOL_PPOL3=1;    //先输出高电平,计数到DTY时,反转电平
   
    PWMPER23=50000; // 20ms ;50Hz
    PWMDTY23=0;
    PWME_PWME3 = 1;      
}

PWMPER周期寄存器的值50000(飞思卡尔比赛一般都是,尤其是摄像头组的),周期20ms,PWMDTY的值5000左右(我们的就是),可以自己改变PWMDTY的值,我们的是>5000好像是向右拐吧(5000--6000),<5000hao好像是向左拐吧(4000--5000),你自己试一下,4000--6000是PWMDTY值的上下限,希望能对你有所帮助
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 17:23 , Processed in 0.109881 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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