打印

两轮自平衡小车源代码(24楼)

[复制链接]
楼主: zoomone
手机看帖
扫描二维码
随时随地手机跟帖
61
学习了

使用特权

评论回复
62
zhangwenqiang| | 2012-6-9 21:21 | 只看该作者
请问楼主怎么样速度控制才能很平滑啊?我现在速度一加他就会往后或者往前猛的一倾?

使用特权

评论回复
63
zoomone|  楼主 | 2012-6-9 22:24 | 只看该作者
62# zhangwenqiang

规律还是自己总结吧 这个我也是试出来的

使用特权

评论回复
64
suxkd1| | 2012-8-27 23:06 | 只看该作者
我也是这个问题,过度很不稳定

使用特权

评论回复
65
陀螺仪啊| | 2012-8-30 20:08 | 只看该作者
求份完整的程序代码。参考一下。

使用特权

评论回复
66
zoomone|  楼主 | 2012-8-30 21:15 | 只看该作者
求份完整的程序代码。参考一下。
陀螺仪啊 发表于 2012-8-30 20:08

24楼就是我的完整源码
不过,不要指望把源码烧到你的小车里马上就能平衡。
还是先要把程序读懂,小车的平衡是要靠正确的方法和合理的参数共同决定的。程序只是提供一种方法,参数是要根据自己的硬件条件重新调节。

使用特权

评论回复
67
我是北丐| | 2012-9-15 21:36 | 只看该作者
顶,学习!

使用特权

评论回复
68
qjh7758| | 2012-9-18 15:43 | 只看该作者
非常有用,慢慢吸收

使用特权

评论回复
69
happy_snail| | 2012-9-27 10:59 | 只看该作者
static const float dt=0.01;  怎么 设定的是固定值??  不是 有时间 的长度 来 判断 (加速度 和 陀螺)那个占比 大! 或者 信心指数 占比!!

使用特权

评论回复
70
Farid| | 2013-1-19 23:15 | 只看该作者
多谢楼主分享!

使用特权

评论回复
71
aaddaammll| | 2013-1-22 08:49 | 只看该作者
谢谢!

使用特权

评论回复
72
bijibenbenq| | 2013-2-14 22:04 | 只看该作者
呵呵不错的!

使用特权

评论回复
73
fengshao1370| | 2013-2-21 15:11 | 只看该作者
zoomone 发表于 2011-10-16 21:06
T1负责每10ms,对数据更新、输出一次

楼主的初始化函数和中断中的TH1的值不同啊,并且我按照中断算出来的是1ms,是我算错了还是什么?希望楼主给予答复,谢谢

使用特权

评论回复
74
zoomone|  楼主 | 2013-2-22 10:09 | 只看该作者
fengshao1370 发表于 2013-2-21 15:11
楼主的初始化函数和中断中的TH1的值不同啊,并且我按照中断算出来的是1ms,是我算错了还是什么?希望楼主 ...

如果从严谨的角度讲最好初始化和中断里面的TH1相同,但是初始化只负责第一次中断的间隔,从第二次以后只受中断的影响。
你能把你计算1ms的过程列一下吗?

使用特权

评论回复
75
redworlf| | 2013-2-23 15:04 | 只看该作者
zoomone 发表于 2011-10-12 12:40
角度、角速度AD转换函数

请教一下:
void AD_calculate(void)
{
        
        acceler=ADport(2)+28;                        //角度校正
        gyro=ADport(3);        
        
        acceler*=0.004069;                //系数换算:2.5/(1.2*512);
        acceler=asin(acceler);
        gyro*=0.00341;                        //角速度系数:(3.14/180)* 100/512=0.01364;        
        
        Kalman_Filter(acceler,gyro);
        //complement_filter(acceler,gyro);
}

acceler*=0.004069;                //系数换算:2.5/(1.2*512);

gyro*=0.00341;                        //角速度系数:(3.14/180)* 100/512=0.01364;        

这两个系数是咋搞出来了?求原理,谢谢。

使用特权

评论回复
76
zoomone|  楼主 | 2013-2-23 16:22 | 只看该作者
本帖最后由 zoomone 于 2013-2-23 17:15 编辑
redworlf 发表于 2013-2-23 15:04
请教一下:
void AD_calculate(void)
{

根据传感器的数据手册中的电压和被测量的比例关系和单片机模数转换的关系,把这两者列个式子推出来的。

使用特权

评论回复
77
fengshao1370| | 2013-2-24 21:18 | 只看该作者
zoomone 发表于 2013-2-22 10:09
如果从严谨的角度讲最好初始化和中断里面的TH1相同,但是初始化只负责第一次中断的间隔,从第二次以后只受 ...

抱歉,我算错了,是10ms

使用特权

评论回复
78
htshen| | 2013-2-25 10:15 | 只看该作者
:):):)

使用特权

评论回复
79
chjmacong| | 2013-2-27 10:24 | 只看该作者
你们太牛了!

使用特权

评论回复
80
fushaoguang999| | 2013-2-27 14:34 | 只看该作者
:victory:

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则