随着社会进步,电子消费产品的需求越来越高,遥控智能车辆以及在智能化车辆基础上开发出来的产品已广泛应用到自动化物流运输等领域。目前,遥控智能车辆大多采用无线传输方式,而无线传输逐渐取代有线传输不仅是因为“无线”,更因为在安装、增减节点方面都比有线方式方便、快捷,因此得到了广泛的应用。
本设计首先采集手持遥控端的倾角信息并进行处理、生成指令,然后无线发送给智能小车,赋予智能小车更灵活的运动状态和更宽广的运动范围。设计灵活, *** 作方便,控制稳定,制作成本低,可应用于视线可观察但人体涉及不到的区域,可制作成高端智能玩具,或应用于工业控制,与实际相结合,有良好的现实意义和市场经济价值。
1、系统硬件电路设计采用整体设计的方法进行设计,系统硬件主要由两大部分构成,即以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、手持遥控端电路设计按照模块化设计思想,手持遥控端主要由倾角传感器模块ADXL345、遥控端控制模块NUCLEO-L053、无线收发模块nRF24L01、液晶显示模块OLED12864、电源模块等构成。倾角传感器模块ADXL345主要用于检测手持遥控端的倾角状态,并将倾角信息传给遥控端控制模块NUCLEO-L053进行处理,生成指令通过无线收发模块nRF24L01发送给智能小车。液晶显示模块OLED12864进行角度、加速度等信息显示,电源模块给各功能模块供电,保证这些模块可正常工作。本设计引入卡尔曼滤波算法对手持遥控端的状态角度进行优化,能够有效减少输出信号的毛刺波动,避免小车运行过程中频繁出现卡顿现象,从而让小车的行驶更平滑。手持遥控端设计框图如图1所示。
图1 手持遥控端设计框图
倾角传感器模块使用ADI公司生产的基于iMEMS技术的3轴、数字输出倾角传感器ADXL345。该模块具有标准的I2C或SPI数字接口及高分辨率等特征,自带32级FIFO存储,是目前广泛使用的数字倾角传感器。倾角传感器产生经过内部AD转换电路后输出的数字信号,计算导出加速度信息。在具体工作时,倾角传感器会因微小振动产生噪声,此时需要卡尔曼滤波与加速度计相互作用,调整参数将误差降到最小。
卡尔曼滤波(KalmanFiltering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。在本设计中,主要对角度信息进行最优估计,分为如下4步:
(1)根据k-1时刻的最优角度值及偏差预估k时刻的角度值(估计值);
(2)根据k-1时刻的最优角度值偏差与k时刻的估计值偏差得到k时刻估计值的高斯白噪声;
(3)根据k时刻测量值与估计值的协方差判定权重大小,得到最优角度值;
(4)根据k时刻的最优角度值及偏差预估k+1时刻的角度值(估计值)。通过循环迭代就可以得到最优的状态角度估计值。
NUCLEO-L053为ST推出的一种基于Cortex-M0+内核的遥控端控制模块,其CPU最高系统时钟可达32MHz,可充分满足本设计所用的模块时钟频率;内含64KBFlash和8KBRAM,可提供足够大的堆栈空间,满足复杂程序;具有本设计所需的I2C、SPI、USB全速接口,提供MCU和模块间高速的通信方式;板载独立按键和LED,可供用户自定义使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)