- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于STM32重力感应无线智能遥控小车设计
基于STM32重力感应无线智能遥控小车设计
摘 要:针对传统智能小车遥控端是物理按键或触摸屏按键控制的缺点,文中基于STM32设计了一款重力感应无线智能遥控小车,该系统由手持遥控端与智能小车组成。其中手持遥控端利用倾角传感器ADXL345检测倾角信息,经卡尔曼滤波之后,送入STM32进行处理并转换为相应指令,通过nRF24L01模块无线发送给智能小车,由STM32F103C8Tx控制电机驱动模块L298N驱动小车前进、后退、左转、右转等。文中设计的重力感应无线智能遥控小车引入卡尔曼滤波实现精确控制,具有简单、直观、方便、易操作等特点,应用前景广泛。
关键词:STM32控制器;无线;重力感应;倾角
中图分类号:TP39;TN92.5 文献标识码:A 文章编号:2095-1302(2017)10-00-03
0 引 言
随着社会进步,电子消费产品的需求越来越高,遥控智能车辆以及在智能化车辆基础上开发出来的产品已广泛应用到自动化物流运输等领域。目前,遥控智能车辆大多采用无线传输方式,而无线传输逐渐取代有线传输不仅是因为“无线”,更因为在安装、增减节点方面都比有线方式方便、快捷,因此得到了广泛的应用[1]。
本设计首先采集手持遥控端的倾角信息并进行处理、生成指令,然后无线发送给智能小车,赋予智能小车更灵活的运动状态和更宽广的运动范围。设计灵活,操作方便,控制稳定,制作成本低,可应用于视线可观察但人体涉及不到的区域,可制作成高端智能玩具,或应用于工业控制,与实际相结合,有良好的现实意义和市场经济价值[2]。
1 系统硬件电路设计
采用整体设计的方法进行设计,系统硬件主要由两大部分构成[3],即以NUCLEO-L053为控制核心的手持遥控端和以STM32F103C8Tx为控制核心的智能小车。手持遥控端是以ADXL345、OLED12864与nRF24L01为基础的检测倾角装置,显示参数装置和无线发射装置。采用的MCU为STM32L053R8T6,由ADXL345不断检测手持设备的姿态,在OLED上显示倾角值,传给MCU。MCU把处理好的数据转为小车动作指令,最后通过nRF24L01模块发射给小车。小车以nRF24L01和L298N为基础,采用的MCU为STM32F103C8Tx,通过nRF24L01模块接收遥控设备发送的数据包,然后把数据包传给MCU进行处理,MCU把处理好的数据包转换为相应指令,由STM32两路定时器通道产生两路PWM波控制电机驱动L298N,从而实现对小车运动状态的调整。并结合NUCLEO-L053板载独立按键对ADXL345校准和OLED再次初始化,从而增强产品的可靠性、稳定性、功能性优势。
1.1 手持遥控端电路设计
按照模块化设计思想[4],手持遥控端主要由倾角传感器模块ADXL345、遥控端控制模块NUCLEO-L053、无线收发模块 nRF24L01、液晶显示模块OLED12864、电源模块等构成。倾角传感器模块ADXL345主要用于检测手持遥控端的倾角状态,并将倾角信息传给遥控端控制模块NUCLEO-L053进行处理,生成指令通过无线收发模块nRF24L01发送给智能小车。液晶显示模块OLED12864进行角度、加速度等信息显示,电源模块给各功能模块供电,保证这些模块可正常工作。本设计引入卡尔曼滤波算法[5]对手持遥控端的状态角度进行优化,能够有效减少输出信号的毛刺波动,避免小车运行过程中频繁出现卡顿现象,从而让小车的行驶更平滑。手持遥控端设计框图如图1所示。
倾角传感器模块使用ADI公司生产的基于iMEMS技术的3轴、数字输出倾角传感器ADXL345[6]。该模块具有标准的I2C或SPI数字接口及高分辨率等特征,自带32级FIFO存储,是目前广泛使用的数字倾角传感器。倾角传感器产生经过内部AD转换电路后输出的数字信号,计算导出加速度信息。在具体工作时,倾角传感器??因微小振动产生噪声,此时需要卡尔曼滤波与加速度计相互作用,调整参数将误差降到最小。
卡尔曼滤波(Kalman Filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。在本设计中,主要对角度信息进行最优估计,分为如下4步:
(1)根据k-1时刻的最优角度值及偏差预估k时刻的角度值(估计值);
(2)根据k-1时刻的最优角度值偏差与k时刻的估计值偏差得到k时刻估计值的高斯白噪声;
(3)根据k时刻测量值与估计值的协方差判定权重大小,得到最优角度值;
(4)根据k时刻的最优角度值及偏差预估k+1时刻的角度值(估计值)。通过循环迭代就可以得到最优的状态角度估计值。
NUCLEO-L053为ST推出的一种
文档评论(0)