智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 10439|回复: 25
打印 上一主题 下一主题

提取中线后怎么控制舵机

  [复制链接]

4

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
413
威望
164
贡献
91
兑换币
102
注册时间
2014-2-19
在线时间
79 小时
跳转到指定楼层
1#
发表于 2014-3-4 22:06:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
中线提取后,怎么反馈控制舵机的转动 ,求算法和公式。  
回复

使用道具 举报

4

主题

215

帖子

0

精华

高级会员

Rank: 4

积分
950
威望
490
贡献
234
兑换币
314
注册时间
2013-11-5
在线时间
113 小时
毕业学校
棣棠中心校
推荐
发表于 2014-3-8 03:39:39 | 只看该作者
调CCD的时候随便写的一个舵机控制,其实本质和电机控制一样
void servo_control(void)
{
  float s_kp=0.3,s_kd=0;                 //舵机 P,D初始化
  int8 servo_duty;
  servo_duty =(int)(s_kp*servo_err[0] +s_kd*(servo_err[0]-servo_err[1]));
if(servo_duty>20)
  {
    servo_duty=20;
  }
  if(servo_duty<=-20)
  {
    servo_duty=-20;
  }
   LPLD_FTM_PWM_ChangeDuty(FTM0, FTM_Ch0, angle_to_period(servo_duty));
}
回复 支持 1 反对 0

使用道具 举报

3

主题

14

帖子

0

精华

高级会员

Rank: 4

积分
714
威望
402
贡献
200
兑换币
188
注册时间
2015-12-27
在线时间
56 小时
26#
发表于 2016-4-27 18:55:49 | 只看该作者
。。。
回复 支持 反对

使用道具 举报

15

主题

133

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1149
威望
580
贡献
279
兑换币
368
注册时间
2015-10-22
在线时间
145 小时
毕业学校
西安
25#
发表于 2016-4-11 11:34:19 | 只看该作者
stxhb 发表于 2014-3-8 03:39
调CCD的时候随便写的一个舵机控制,其实本质和电机控制一样
void servo_control(void)
{

servo_err[0] 和servo_err[1] 是什么?
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

高级会员

Rank: 4

积分
701
威望
355
贡献
214
兑换币
223
注册时间
2016-1-12
在线时间
66 小时
毕业学校
青岛明夜大学
24#
发表于 2016-3-22 16:56:10 | 只看该作者
求中线提取程序~~ 邮箱1812525615@qq.com  谢谢。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
385
威望
264
贡献
75
兑换币
58
注册时间
2015-10-27
在线时间
23 小时
毕业学校
湖北文理学院
23#
发表于 2016-3-18 19:33:33 | 只看该作者
求中线提取程序~~ 邮箱1543153730@qq.com
回复 支持 反对

使用道具 举报

0

主题

32

帖子

0

精华

高级会员

Rank: 4

积分
563
威望
293
贡献
176
兑换币
192
注册时间
2016-2-19
在线时间
47 小时
22#
发表于 2016-3-16 18:36:29 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

32

帖子

0

精华

高级会员

Rank: 4

积分
563
威望
293
贡献
176
兑换币
192
注册时间
2016-2-19
在线时间
47 小时
21#
发表于 2016-3-16 17:33:30 | 只看该作者
:o:o:o:o
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
威望
102
贡献
59
兑换币
62
注册时间
2016-1-28
在线时间
29 小时
毕业学校
陕西理工大学
20#
发表于 2016-2-20 10:31:55 | 只看该作者
小苏_y515S 发表于 2016-1-28 15:25
s_kp*servo_err[0] +s_kd*(servo_err[0]-servo_err[1]请问这条语句中的servo_err[0]和servo_err[1]这两个 ...

指本次偏差和上一次偏差做差,,,求偏差率
回复 支持 反对

使用道具 举报

4

主题

13

帖子

0

精华

注册会员

Rank: 2

积分
172
威望
91
贡献
55
兑换币
51
注册时间
2016-1-25
在线时间
13 小时
19#
发表于 2016-1-28 15:25:22 | 只看该作者
stxhb 发表于 2014-3-8 03:39
调CCD的时候随便写的一个舵机控制,其实本质和电机控制一样
void servo_control(void)
{

s_kp*servo_err[0] +s_kd*(servo_err[0]-servo_err[1]请问这条语句中的servo_err[0]和servo_err[1]这两个变量是什么意思啊?
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

注册会员

Rank: 2

积分
33
威望
27
贡献
4
兑换币
5
注册时间
2015-12-18
在线时间
1 小时
毕业学校
东南大学
18#
发表于 2015-12-18 16:52:27 | 只看该作者
wsxz-zyq 发表于 2014-3-8 17:08
LPLD_FTM_PWM_ChangeDuty(FTM0, FTM_Ch0, angle_to_period(servo_duty));  这个函数能给写一下吗

请问你看懂servo_err[0],servo_err[1]分别是什么了吗?求赐教,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-2 14:27 , Processed in 0.059421 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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