智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 8993|回复: 19
打印 上一主题 下一主题

摄像头直立车直立PID调节

    [复制链接]

11

主题

147

帖子

0

精华

高级会员

Rank: 4

积分
766
QQ
威望
347
贡献
175
兑换币
218
注册时间
2013-1-28
在线时间
122 小时
跳转到指定楼层
1#
发表于 2014-3-28 14:27:29 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我想问一下,大家的直立式调了多长时间?是怎么调好的,我看了秘书组的调车视频了,但是我发现,我现在遇见了一个问题,这个问题好像在秘书组给的视频里面没有出现过。  就是我现在在调直立,就是车子在向前的时候,可以速度慢慢慢下来,然而车子在向后的时候,是明显的加速运动,不知道这个是什么问题导致的,车子现在出现这种情况,也不知道是什么原因导致的,也不知道怎么接着往下面调了。也不知道是增加直立的P 和是直立的D,车子没办法很好的平衡在一段距离内,就没有办法调速度控制了。
希望大家给个建议和方案。
@吉他手
回复

使用道具 举报

11

主题

147

帖子

0

精华

高级会员

Rank: 4

积分
766
QQ
威望
347
贡献
175
兑换币
218
注册时间
2013-1-28
在线时间
122 小时
推荐
 楼主| 发表于 2014-4-28 19:22:33 | 只看该作者
Woodbridge 发表于 2014-4-26 23:15
我也今天调好的。我觉得你是因为没有把加速度计的值设在重心的位置上;我是这样弄的:调试时先把车直立,重 ...

恩恩,谢谢了,我看看
回复 支持 1 反对 0

使用道具 举报

1

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
428
威望
224
贡献
126
兑换币
136
注册时间
2013-7-18
在线时间
39 小时
毕业学校
湖北大学
20#
发表于 2014-5-2 16:31:12 | 只看该作者
Simeetchuan 发表于 2014-4-30 17:13
我就是用第一种方法呀。把串口的接受发送中断位打开,在中断服务函数里给字符变量赋值。
void UART3_RX_ ...

恩 是了  跟键盘一样了   多谢你的解答
回复 支持 反对

使用道具 举报

17

主题

152

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1960

优秀会员奖章

威望
774
贡献
912
兑换币
449
注册时间
2014-3-1
在线时间
137 小时
19#
发表于 2014-5-1 15:36:50 | 只看该作者
问一下,秘书组的调车视频有下载吗? 能不能分享一下,谢谢!!
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
威望
127
贡献
72
兑换币
80
注册时间
2014-4-17
在线时间
34 小时
毕业学校
你猜
18#
发表于 2014-4-30 17:13:11 | 只看该作者
anmo 发表于 2014-4-30 15:58
又拙了    额  你的意思是直接用串口给变量赋值么? 我让大神给我做了一个软件 但是总出问题 不行。我之前 ...

我就是用第一种方法呀。把串口的接受发送中断位打开,在中断服务函数里给字符变量赋值。
void UART3_RX_TX_IRQHandler(void)// Send the Debug data in the "hex mode"(HEXģʽ)
{
        char c2;
        c2=Uart3Getchar();
        //Angle_P
        //Angle_D
        if(c2==1)
        {
                Direction_D+=0.1;
                printf("Direction_D+=1:%f\n",Direction_D);
                //g_Argument.Angle_P+=0.1;
                //printf("Angle_P:%f\n",g_Argument.Angle_P);
        }

}
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
428
威望
224
贡献
126
兑换币
136
注册时间
2013-7-18
在线时间
39 小时
毕业学校
湖北大学
17#
发表于 2014-4-30 15:58:35 | 只看该作者
Simeetchuan 发表于 2014-4-29 22:34
为什么不通过串口直接修改数据呢?省得每次改完都要烧程序,我的加度计零偏值不知道为什么也一直在变,所 ...

又拙了    额  你的意思是直接用串口给变量赋值么? 我让大神给我做了一个软件 但是总出问题 不行。我之前使用串口发字符像检测按键一样来微调变量的值。 不知道你是什么样的?如果是第一种方法,恳请赐教。谢谢
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
威望
127
贡献
72
兑换币
80
注册时间
2014-4-17
在线时间
34 小时
毕业学校
你猜
16#
发表于 2014-4-29 22:34:48 | 只看该作者
anmo 发表于 2014-4-29 21:19
我用到了这种方法,就是通过按键微调角度来使车子稳定直立,同时记录这个值。但是进行修改重新烧录程序后 ...

为什么不通过串口直接修改数据呢?省得每次改完都要烧程序,我的加度计零偏值不知道为什么也一直在变,所以我每次跑的时候都要重新调整零偏值
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
428
威望
224
贡献
126
兑换币
136
注册时间
2013-7-18
在线时间
39 小时
毕业学校
湖北大学
15#
发表于 2014-4-29 21:19:28 | 只看该作者
Simeetchuan 发表于 2014-4-28 19:29
这种情况应该是重心没找准的问题,你可以这样,将重力加速度的零偏值设置为静态的,就是先给定一个值,然后 ...

我用到了这种方法,就是通过按键微调角度来使车子稳定直立,同时记录这个值。但是进行修改重新烧录程序后,车子还是不能稳定直立,而且每一次调出来的角度会有2-3度的偏差。不知道是怎么回事,谢谢。
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
威望
127
贡献
72
兑换币
80
注册时间
2014-4-17
在线时间
34 小时
毕业学校
你猜
14#
发表于 2014-4-28 19:29:07 | 只看该作者
这种情况应该是重心没找准的问题,你可以这样,将重力加速度的零偏值设置为静态的,就是先给定一个值,然后让车直立,通过串口发送数据改变这个静态值来改变车模找准重心位置!希望能帮到你
回复 支持 反对

使用道具 举报

4

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
威望
208
贡献
120
兑换币
129
注册时间
2013-8-10
在线时间
19 小时
毕业学校
NSS
12#
发表于 2014-4-26 23:15:29 | 只看该作者
我也今天调好的。我觉得你是因为没有把加速度计的值设在重心的位置上;我是这样弄的:调试时先把车直立,重心竖直向下,几下当前的角度;最后小车实际直立是用按键微调角度,我就这样弄的。希望帮到你。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-14 17:33 , Processed in 0.073969 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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