智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3293|回复: 8
打印 上一主题 下一主题

关于平衡车直立控制出现的问题

[复制链接]

13

主题

80

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1612
威望
947
贡献
249
兑换币
248
注册时间
2012-9-1
在线时间
208 小时
毕业学校
大连理工
跳转到指定楼层
1#
发表于 2013-3-6 17:44:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的情况是这样的,现在平衡车已经可以直立,匀速,并且控制方向,但是前一段时间,我的车出现一个问题,就是不管是我以多大速度前进,车偶尔在过弯时,和刚出弯时,突然倒下,这里的倒下并不是说因为车体前倾过大导致无法维持平衡而加速到下,而是突然倒下,就仿佛是电机和单片机都突然不工作了一样,但是将倒下的车子扶起来依然可以正常跑,连单片机复位都不用,接着跑跑过一会在哪个弯道有可能会倒下,起初发现,电源的硬件电路里有地方虚接,怀疑可能会出现瞬间断电导致车倒下,但因为是虚接,可能扶起来之前线路又接上了,所以才能不用复位单片机而继续前进。但是在我将虚断的电路接好之后,一段时间内还真的没有再出现过倒下的现象。但是过了一段时间,车子同样有时突然出现另一种情况:就是打个比方,现在平衡车匀速前进时能保持车体前倾20度,但是有时在过弯或者刚出弯是会突然车体角度变为前倾60度,这样就导致车体无法恢复平衡而加速向前倒地,这个前倾20度,变为前倾60度的过程也是瞬间的,而且这次将车扶起来,车体依然只能保持车身直立角度为60度,这样依然不能维持直立,依然会加速倒地,当我第二次扶起车的时候,车就停止工作了,但请注意这时是整个车正常供电的情况下,不管我如何改变车的角度车的电机都不做出任何反应,在这种时候我认为让单片机复位一下也许可以恢复,但是我发现让单片机不管复位几次,依然无反应,但是相反,如果我将电源断开,在重新打开,车就恢复正常,就连前倾角也可以恢复20度。我实在无法理解,也找不出错在哪里,我觉得至少单片机复位无法恢复,应该不是程序问题吧,能不能是电路供电问题或者陀螺仪出现故障。请朋友们帮我分析一下!谢了!

6

主题

73

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
威望
735
贡献
170
兑换币
194
注册时间
2011-9-20
在线时间
109 小时
2#
发表于 2013-3-6 18:00:29 | 只看该作者
你的加速度计角度换算是使用什么方法?是直接asin(x)函数来做还是近似为x,如果你是用asin(x)来做有可能x的值大于1,所以导致程序跑飞了。
回复 支持 反对

使用道具 举报

13

主题

80

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1612
威望
947
贡献
249
兑换币
248
注册时间
2012-9-1
在线时间
208 小时
毕业学校
大连理工
3#
 楼主| 发表于 2013-3-6 19:47:38 | 只看该作者
wuzexiao 发表于 2013-3-6 18:00
你的加速度计角度换算是使用什么方法?是直接asin(x)函数来做还是近似为x,如果你是用asin(x)来做有可能x的值 ...

我是直接用一个硬件模块,一个脚输出角度,一个输出角加速度,模块里有卡尔曼滤波,输出的值直接单片机ad采集就行,不是很明白你这些函数的意思。
回复 支持 反对

使用道具 举报

16

主题

194

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2561

优秀会员奖章活跃会员奖章

威望
1316
贡献
757
兑换币
504
注册时间
2012-1-9
在线时间
244 小时
4#
发表于 2013-3-6 21:30:47 | 只看该作者
X为采集过来的电压 ,ANGLE=asin(x)反三角,变换为角度  ,还需要限一下幅度。 if(ANGLE>1)ANGLE=1;if(ANGLE<-1)ANGLE=-1;
回复 支持 反对

使用道具 举报

6

主题

73

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
威望
735
贡献
170
兑换币
194
注册时间
2011-9-20
在线时间
109 小时
5#
发表于 2013-3-7 09:45:50 | 只看该作者
yahui123 发表于 2013-3-6 21:30
X为采集过来的电压 ,ANGLE=asin(x)反三角,变换为角度  ,还需要限一下幅度。 if(ANGLE>1)ANGLE=1;if(ANGL ...

BINGO
回复 支持 反对

使用道具 举报

6

主题

73

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
威望
735
贡献
170
兑换币
194
注册时间
2011-9-20
在线时间
109 小时
6#
发表于 2013-3-7 09:47:29 | 只看该作者
gtailyyy 发表于 2013-3-6 19:47
我是直接用一个硬件模块,一个脚输出角度,一个输出角加速度,模块里有卡尔曼滤波,输出的值直接单片机ad ...

大哥,做车不可以这么懒的,连滤波都不自己搞,这样搞车学不到什么东西啊。
回复 支持 反对

使用道具 举报

4

主题

43

帖子

0

精华

高级会员

Rank: 4

积分
611
威望
287
贡献
172
兑换币
175
注册时间
2012-11-18
在线时间
76 小时
毕业学校
安徽师范大学
7#
发表于 2013-3-29 15:07:25 | 只看该作者
硬件滤波有好处的.自己做滤波电路,不也可以?容易吗?
回复 支持 反对

使用道具 举报

38

主题

486

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5017

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

威望
2376
贡献
1401
兑换币
1570
注册时间
2013-1-7
在线时间
620 小时
8#
发表于 2013-3-29 20:20:38 | 只看该作者
ha
回复 支持 反对

使用道具 举报

1

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
威望
221
贡献
118
兑换币
138
注册时间
2013-11-17
在线时间
40 小时
毕业学校
北华大学
9#
发表于 2014-4-7 09:34:08 | 只看该作者
我觉得你的硬件没问题,我觉得是不是你在拐弯时,带你记得占空比过高,导致电机不转了!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 01:25 , Processed in 0.054377 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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