智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

编码器脉冲数与占空比

[复制链接]

10

主题

105

帖子

0

精华

高级会员

Rank: 4

积分
912
威望
499
贡献
249
兑换币
299
注册时间
2015-10-17
在线时间
82 小时
毕业学校
太原工业学院
跳转到指定楼层
1#
发表于 2015-11-7 10:01:11 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Struct
{
sint16 current_error; //当前差值
sint16 last_error; //上次差值
sint16 prev_error; //上上次差值
}PID_M; //定义一个名为 PID_M 的结构体
uint8 std_speed[5]={0,55,90,110,128}; //存放期望速度脉冲数
float PID_M_Kp =49,PID_M_Ki = 0.7,PID_M_Kd =0.5; //定义 Kp、Ki、Kd 三个参数
uint8 pulse_count; //记录欧姆龙编码器的脉冲个数
uint16 PID_m_add ; //PID 的增量输出

void Motor_ctl(uint8 i)
{
sint16 P,I,D; //定义局部变量
PID_M.prev_error=PID_M.last_error; //更新每次的差值
PID_M.last_error=PID_M.current_error; //更新每次的差值
PID_M.current_error=std_speed[i]-pulse_count; //更新每次的差值
P=PID_M_Kp*(PID_M.current_error-PID_M.last_error); //比例 P 输出公式
I=PID_M_Ki* PID_M.current_error; //积分 I 输出公式
D=PID_M_Kd*(PID_M.current_error-2*PID_M.last_error+PID_M.prev_error); //微分 D 输出公式
PID_m_add=P+I+D+PID_m_add; //电机的 PID 增量值输出
if(PID_m_add>1500)PID_m_add=1500; //限制电机的最大速度
if(PID_m_add<1)PID_m_add=0; //限制电机的最小速度
Pwm23_duty(PID_m_add); //将增量值输出传给电机执行
}


问 我觉得增量值应该是编码器的增量值  为何却将它赋给电机的占空比去处理
回复

使用道具 举报

10

主题

105

帖子

0

精华

高级会员

Rank: 4

积分
912
威望
499
贡献
249
兑换币
299
注册时间
2015-10-17
在线时间
82 小时
毕业学校
太原工业学院
推荐
 楼主| 发表于 2015-11-7 10:09:12 | 只看该作者
求顶
回复 支持 1 反对 0

使用道具 举报

2

主题

73

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
威望
595
贡献
382
兑换币
387
注册时间
2015-11-8
在线时间
97 小时
毕业学校
西安一中
17#
发表于 2015-11-11 18:39:12 | 只看该作者
顶顶顶!!!
回复 支持 反对

使用道具 举报

14

主题

220

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2024
威望
1060
贡献
610
兑换币
688
注册时间
2015-8-13
在线时间
177 小时
毕业学校
中计大
16#
发表于 2015-11-8 16:32:15 | 只看该作者
楼主解决了吗
回复 支持 反对

使用道具 举报

2

主题

73

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
威望
595
贡献
382
兑换币
387
注册时间
2015-11-8
在线时间
97 小时
毕业学校
西安一中
15#
发表于 2015-11-8 11:05:56 | 只看该作者
顶顶顶  。。。
回复 支持 反对

使用道具 举报

2

主题

73

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
威望
595
贡献
382
兑换币
387
注册时间
2015-11-8
在线时间
97 小时
毕业学校
西安一中
14#
发表于 2015-11-8 11:00:35 | 只看该作者
顶顶顶 !!!
回复 支持 反对

使用道具 举报

14

主题

220

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2024
威望
1060
贡献
610
兑换币
688
注册时间
2015-8-13
在线时间
177 小时
毕业学校
中计大
13#
发表于 2015-11-8 10:21:41 | 只看该作者
同问,占空比和脉冲数怎么转换?
回复 支持 反对

使用道具 举报

30

主题

656

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4782

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

威望
1841
贡献
1657
兑换币
951
注册时间
2015-10-9
在线时间
642 小时
毕业学校
FTD
12#
发表于 2015-11-8 10:16:40 | 只看该作者
你的脉冲值得大小时由电机的速度来决定的所以你想改变一定时间的脉冲就得改变占空比,你的增量值给了编码器编码器也没用啊
回复 支持 反对

使用道具 举报

30

主题

656

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4782

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

威望
1841
贡献
1657
兑换币
951
注册时间
2015-10-9
在线时间
642 小时
毕业学校
FTD
11#
发表于 2015-11-8 10:16:32 | 只看该作者
你的脉冲值得大小时由电机的速度来决定的所以你想改变一定时间的脉冲就得改变占空比,你的增量值给了编码器编码器也没用啊
回复 支持 反对

使用道具 举报

39

主题

158

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1480
QQ
威望
668
贡献
308
兑换币
336
注册时间
2014-11-11
在线时间
252 小时
10#
发表于 2015-11-7 22:54:37 | 只看该作者
ding~~~~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
233
威望
133
贡献
20
兑换币
79
注册时间
2015-10-31
在线时间
40 小时
毕业学校
北华大学
9#
发表于 2015-11-7 20:48:38 | 只看该作者
顶顶顶顶
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-7 14:40 , Processed in 0.047899 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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