- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简述:
随着三轴加速度以及陀螺仪在消费电子中应用越来越广,本文简述三轴加速度以及陀螺
仪的一种简单应用,就是运用以上传感器来控制两轮车的直立平衡状态,探索三轴加速度以
及陀螺仪的整合应用。
第一章、 项目构思以及特色
本系统采用了三轴加速度的Z 轴以及陀螺仪的信号,通过合适的模型得到滤波后的角度
以及角速度,通过PD 控制算法实现对平衡车的控制。由该简单系统的实际测试来研究影响
两轮平衡车的最大关键因素,以及各个因素的影响以及作用。
由于时间的限制以及各方面的限制,该系统只是简单的实现了两轮车的平衡,也因此没
有过多的功能实现,只是在这个系统中研究影响中关键的因素。
两轮之平衡车已经实现了商业化,在交通工具中以一种更为神奇的角色出现,但是两轮
平衡车可以在更多领域或者控制两轮之平衡车的控制算法可以在更多领域中实现它的价值。
在消费产品中,今年来陀螺仪以及三轴加速度以疯狂的速度进入到了手机,平板,相机,
GPS 导航等等各种高档次消费电子领域中,对于如何应用三轴加速以及陀螺仪显得更为关键。
第二章、 项目实现方案
总体构思:
本文实现的只是简单的系统,只需要收集三轴加速度以及陀螺仪的信号进行AD 值转化
为数字量,并建立对应模型以及整合滤波得到所对应的角度以及角速度,最后通过PD 控制
算法实现了两轮车的直立。
由于涉及到的参数都是动态量,所以在整个方案的实现过程中更为注意的一点是如何监
控或者收集到动态数据,以及观察数据的动态性,由此在选择调试中就变得更为重要。最后
决定的方案是通过串口实现了上位机的模拟示波器,通过模拟示波器更为简单的实现了对三
轴加速度以及陀螺仪,滤波后的角度以及角速度进行观察。
硬件:
在该系统中,硬件十分简单。只是一个控制芯片K40 收集了三轴加速度以及陀螺仪的的
信号,计算处理后通过PWM 控制H 桥来管理电机。
核心板:
传感器:
陀螺仪EMC-03
三轴加速度 mma7361
驱动:
由于只有一个电机就使用了自己搭建的H 桥
软件:
在这里主要详细说明整个方案实现过程中最为关键的因素,以及关键代码的说明。
第一 必要工具上位机图形数据显示
前面说过,由于系统的参数都是在动态中收集或者观察,所以需要用到示波器。但是为
了简单或者简化方案,最终采用了上位机模拟示波器。功能强大的调试工具对这个方案影响
很大,或者直接影响到这个方案是否顺利完成。
如下图显示了动态数据的观察:
第二 模型的选择
三轴加速度以及陀螺仪都是采用了模拟信号的输出,因此三轴加速度由模拟量变为角度
需要反三角函数,但是如果采用了三角函数对主控制芯片的运算量非常大,因此这里只是采
用了类线性方案,就是认为模拟的输出值直接就是角度值的线性关系,虽然有些许不足,但
是在效率中远远好于反三角函数的计算,而且实际应用上证明了这些不足对系统稳定性并没
有多大关系。
下面就是三轴加速度Z 轴的模型转换
//g_fGravityAngle 加速度Z 轴得到的角度
//VOLTAGE_GRAVITY Z 轴AD 值
//GRAVITY_OFFSET 直立偏移值
//-90~90 的归一化参数
g_fGravityAngle = (VOLTAGE_GRAVITY - GRAVITY_OFFSET) * GRAVITY_ANGLE_RATIO;
陀螺仪的输出也是模拟量,但是陀螺仪的模拟更容易建立。只是陀螺仪的转换系数实际
中与理论值有较大的差距。
下面就是陀螺仪的模拟转换
// g_fGyroscopeAngleSpeed 陀螺仪模型转换后的角速度
// VOLTAGE_GYRO 陀螺仪的AD 值
//GYROSCOPE_OFFSET 陀螺仪静止的偏移值
//GYROSCOPE_ANGLE_RATIO 调试的系数
g_fGyroscopeAngleSpeed = (VOLTAGE_GYRO - GYROSCOPE_OFFSET) *
GYROSCOPE_ANGLE_RATIO;
第三 整合滤波
什么才是影响两轮车直立
文档评论(0)