智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6194|回复: 23
打印 上一主题 下一主题

[咨询] 求教吉他手老师和各位大神,我的车为什么一直站不起来,都调试了二个星期。

  [复制链接]

1

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
343
威望
219
贡献
80
兑换币
0
注册时间
2012-2-15
在线时间
22 小时
毕业学校
长安大学
跳转到指定楼层
1#
发表于 2012-5-9 12:52:24 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
思路用的是官方2.0版本。下面是角度计算函数;
void AngleCalculate(void)
{
  float fDeltaValue,Az,Gyro;  
   g_fGravityAngle=(Acc_Z_7260-Acc_Z_Zero)*1.*180/(Acc_Z_Max-Acc_Z_Min);
   OutData[0]=g_fGravityAngle*30;               //上位机输出用
   Gyro=(GYRO_VAL_en03-Gyro_Zero);
   OutData[2]=Gyro*3;                             //上位机输出用            
   g_fGyroscopeAngleSpeed=Gyro*0.3882;  
   g_fCarAngle=g_fGyroscopeAngleIntegral;
   fDeltaValue=(g_fGravityAngle-g_fCarAngle)/3;
   g_fGyroscopeAngleIntegral+=(g_fGyroscopeAngleSpeed+fDeltaValue)*0.005;
   OutData[1]=(g_fGyroscopeAngleIntegral-setnum[10])*30;      //上位机输出用
  }

初始化时 给g_fGyroscopeAngleIntegral 赋初值0;
用上位机看图像如下。

红色:加速度计检测到的角度。
黄色:拟合后的角度
蓝色:陀螺仪检测到的角速度
紫色:给电机供电的电压。
  调试参数时,在Angle_Control_I=0情况下:Angle_Control_P给很小,直接倒下。给很大,震荡的很厉害。选定一个值后,静止放手,车向前倾角2-3°角,很奇怪的是此时电机没反应,没有驱动力,车有自由倒下的趋势,之后电机开始供电。此时若P选的大,车向前转的很快,马上车向后倾后直接倒下。若P选的小,车一边向前运动,一边向前倒,电机给的力不足以使车回正。最后放置电感的横梁与地接触,车推着横梁往前走。若P选的适中,车同样一边向前运动一边向前倒,只是倒的时间慢一点。
   在车一边往前走一边往前倒的情况下,猜测加上Angle_Contro_I之后应该会好些。I选的小时,没什么反应,I选的大时,车无法静止,在原点剧烈抖动后倒下。I适中时,车同样是先向前倒一定角度后,电机才开始起作用。
   通过上位机检测到的给电机供电电压图(紫色)可知,其跟随拟合后的角度(黄色)很好,原则上是不会出现滞后的现象,可是调试过程中这个先倒下一定角度电机开始反应的现象一直存在。请问吉他手老师这是怎么回事。
  角速度和角度信号检测电路采用官网2.0版本的电路,如下图。

   静止时检测到陀螺仪零点输出电压为2.42V,AD通道的转换精度为12位。按理来说,AD口检测到的数值应为2.42/3.3*4096=3003左右。实际上检测到的数值2000左右。即2.42/5*4096约等于2000;这是怎么回事。陀螺仪零点值是不太高?

希望卓晴老师和各位牛人给出指导,跪谢。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

2

主题

18

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1052
威望
558
贡献
214
兑换币
127
注册时间
2012-2-11
在线时间
140 小时
毕业学校
淮阴工学院
24#
发表于 2013-8-6 17:27:59 | 只看该作者
renqinglei 发表于 2012-6-4 12:06
我也遇到了问题,如果P小了,电机力矩太小,跟不上。如果P大了,小车在零点左右摆动较大,怎么解决呢?

我的问题和你一样,请问你解决了吗?
回复 支持 反对

使用道具 举报

28

主题

644

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5607

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

威望
2272
贡献
2099
兑换币
346
注册时间
2011-11-15
在线时间
618 小时
23#
发表于 2012-6-4 12:07:36 | 只看该作者
吉他手 发表于 2012-5-12 16:33
从上述你的角度输出信号来看,角度计算波形都很正常。
那么就可以增大P去调试即可。首先保证车模能够有力 ...

老师你好,我们的小车可以跑了,现在遇到一个很棘手的问题,车在跑的过程中毫无征兆的就趴下了,但速度低了就不会(1m),望老师指点一二。
回复 支持 反对

使用道具 举报

68

主题

807

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
12288

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

QQ
威望
8054
贡献
2454
兑换币
496
注册时间
2011-10-4
在线时间
890 小时
22#
发表于 2012-6-4 12:06:04 | 只看该作者
我也遇到了问题,如果P小了,电机力矩太小,跟不上。如果P大了,小车在零点左右摆动较大,怎么解决呢?
回复 支持 反对

使用道具 举报

1

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
487
威望
300
贡献
127
兑换币
12
注册时间
2012-3-6
在线时间
30 小时
21#
发表于 2012-6-4 10:56:14 | 只看该作者
吉他手 发表于 2012-5-9 16:48
第一个问题:陀螺仪放大器输出零点值。
如果这部分放大电路电压以及单片机AD满量程电压都是3.3V.就需要将陀 ...

吉他手老师,您好,我们的单片机AD满量程是5V,陀螺仪是3.3V供电,参考电压应该怎么调呢?是5/2还是3.3/2?我们一直用3.3/2。现在车已经再跑了,但是一顿一顿的,弯道貌似影响不大,但是直道特明显。
回复 支持 反对

使用道具 举报

17

主题

93

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1077
威望
501
贡献
196
兑换币
44
注册时间
2012-4-4
在线时间
190 小时
毕业学校
唐山师范
20#
发表于 2012-6-4 10:02:09 | 只看该作者
吉他手 发表于 2012-5-12 16:33
从上述你的角度输出信号来看,角度计算波形都很正常。
那么就可以增大P去调试即可。首先保证车模能够有力 ...


你好老师,黄色为Z轴输出,蓝色为积分以后的值,前边可以跟踪的上,后面跟踪不上,怎么回事。我们用的是陀螺仪模块,现在没加速度控制,结果车往没跟踪上的方向加速,最后倒下,这个怎么解决啊老师

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

23

主题

179

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2179
威望
1169
贡献
598
兑换币
213
注册时间
2011-9-23
在线时间
206 小时
19#
发表于 2012-5-12 16:59:44 | 只看该作者
吉他手 发表于 2012-5-12 16:33
从上述你的角度输出信号来看,角度计算波形都很正常。
那么就可以增大P去调试即可。首先保证车模能够有力 ...

老师您好,我们的车P很小的时候(0.03),就会出现摆动,但是又没有力让它直立。越大越摆动!
回复 支持 反对

使用道具 举报

2

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2811

论坛骨干奖章优秀会员奖章技术大牛奖章

威望
1705
贡献
606
兑换币
245
注册时间
2011-3-28
在线时间
250 小时
18#
发表于 2012-5-12 16:33:31 | 只看该作者
wangjuanjk 发表于 2012-5-12 16:28
l
老师您看下我们的波形图嘛,P很小就出现摆动!

从上述你的角度输出信号来看,角度计算波形都很正常。
那么就可以增大P去调试即可。首先保证车模能够有力量站立。
然后通过增加D使得车模角度不再出现摆动。直至D增加到,车模出现高频的振动(十几赫兹频率),然后逐步在优化他们的组合。
回复 支持 反对

使用道具 举报

23

主题

179

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2179
威望
1169
贡献
598
兑换币
213
注册时间
2011-9-23
在线时间
206 小时
17#
发表于 2012-5-12 16:28:00 | 只看该作者
吉他手 发表于 2012-5-12 16:24
你的问题:
如果P很小,是无法保证车模直立的。必须大于某一阈值之后才能够维持车模直立。
你现在存在的 ...

l
老师您看下我们的波形图嘛,P很小就出现摆动!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

2

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2811

论坛骨干奖章优秀会员奖章技术大牛奖章

威望
1705
贡献
606
兑换币
245
注册时间
2011-3-28
在线时间
250 小时
16#
发表于 2012-5-12 16:24:04 | 只看该作者
wangjuanjk 发表于 2012-5-12 16:19
老师您好,我的车,波形滤出来很好了,但是加P,很小的时候(0.025)就会出现左右摆动,然后加D,但是感觉 ...

你的问题:
如果P很小,是无法保证车模直立的。必须大于某一阈值之后才能够维持车模直立。
你现在存在的问题还是有可能出现在角度计算上。
没有将加速度中存在的车模运动噪声滤掉(这部分噪声会引起车模角度控制的正反馈)。
如果现在你采用的参考方案中的滤波方案,请先按照其中的参数给定进行调整。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 00:50 , Processed in 0.048048 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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