智能车制作

标题: 关于平衡车直立控制出现的问题 [打印本页]

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


作者: wuzexiao    时间: 2013-3-6 18:00
你的加速度计角度换算是使用什么方法?是直接asin(x)函数来做还是近似为x,如果你是用asin(x)来做有可能x的值大于1,所以导致程序跑飞了。

作者: gtailyyy    时间: 2013-3-6 19:47
wuzexiao 发表于 2013-3-6 18:00
你的加速度计角度换算是使用什么方法?是直接asin(x)函数来做还是近似为x,如果你是用asin(x)来做有可能x的值 ...

我是直接用一个硬件模块,一个脚输出角度,一个输出角加速度,模块里有卡尔曼滤波,输出的值直接单片机ad采集就行,不是很明白你这些函数的意思。
作者: yahui123    时间: 2013-3-6 21:30
X为采集过来的电压 ,ANGLE=asin(x)反三角,变换为角度  ,还需要限一下幅度。 if(ANGLE>1)ANGLE=1;if(ANGLE<-1)ANGLE=-1;
作者: wuzexiao    时间: 2013-3-7 09:45
yahui123 发表于 2013-3-6 21:30
X为采集过来的电压 ,ANGLE=asin(x)反三角,变换为角度  ,还需要限一下幅度。 if(ANGLE>1)ANGLE=1;if(ANGL ...

BINGO
作者: wuzexiao    时间: 2013-3-7 09:47
gtailyyy 发表于 2013-3-6 19:47
我是直接用一个硬件模块,一个脚输出角度,一个输出角加速度,模块里有卡尔曼滤波,输出的值直接单片机ad ...

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

作者: lead_your_life    时间: 2013-3-29 15:07
硬件滤波有好处的.自己做滤波电路,不也可以?容易吗?
作者: new_life    时间: 2013-3-29 20:20
ha
作者: 博博    时间: 2014-4-7 09:34
我觉得你的硬件没问题,我觉得是不是你在拐弯时,带你记得占空比过高,导致电机不转了!




欢迎光临 智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2