当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:针对传统智能小车遥控端是物理按键或触摸屏按键控制的缺点,文中基于STM32设计了一款重力感应无线智能 遥控小车,该系统由手持遥控端与智能小车组成。其中手持遥控端利用倾角传感器ADXL345检测倾角信息,经卡尔曼滤波之 后,送入STM32进行处理并转换为相应指令,通过nRF24L01模块无线发送给智能小车,由STM32F103C8Tx控制电机驱动 模块L298N驱动小车前进、后退、左转、右转等。文中设计的重力感应无线智能遥控小车引入卡尔曼滤波实现精确控制,具有 简单、直观、方便、易操作等特点,应用前景广泛。 关键词:STM32控制器;无线;重力感应;倾角

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 所示。

基于STM32的重力感应无线智能遥控小车设计



倾角传感器模块使用 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 推出的一种基于 Cortex-M0+ 内核 的遥控端控制模块 [7],其 CPU 最高系统时钟可达 32 MHz, 可充分满足本设计所用的模块时钟频率 ;内含 64 KB Flash 和 8 KB RAM,可提供足够大的堆栈空间,满足复杂程序;具有 本设计所需的 I2C、SPI、USB 全速接口,提供 MCU 和模块 间高速的通信方式 ;板载独立按键和 LED,可供用户自定义 使用。

无线收发模 块 nRF24L01[8] 工作 在 2.4 G 的全球开放 免许可 ISM 频段,GFSK 调制,工作速率高达 2 Mb/s 且抗 干扰能力强,拥有多达 125 个可选频道,可以满足多点通信 和调频通信的需求。采用 SPI 方式进行手持遥控端无线收 发模块 nRF24L01 与控制模块 NUCLEO-L053 之间的连接。 ADXL345 与控制模块的连接如图 2 所示。

基于STM32的重力感应无线智能遥控小车设计


1.2 智能小车电路设计 

智能小车主要由无线收发模块 nRF24L01,小车控制模 块 STM32F103C8Tx,电机驱动模块 L298N,电源模块等组成。 无线收发模块接收手持遥控端发出的控制指令,传送给小车 控制模块进行处理,由 STM32F103C8Tx 的定时器 4 产生对 应的两路 PWM 波,调节 L298N 驱动两台直流电机完成对应 动作。智能小车的设计框图如图 3 所示。

基于STM32的重力感应无线智能遥控小车设计



STM32F103C8Tx 是目前应用非常广泛的一款 ARM 芯片, 采用 Cortex-M3 内核,拥有 16 KB ~1 MB Flash 存储,高达 72 MHz 的 CPU 运行速率,多种控制外设,USB 全速接口和 CAN 等。在本设计中用来处理 nRF24L01 接收的数据包、控 制 L298N 电机驱动模块等。 

电机驱动使用 L298N 驱动两台直流电机 [9]。此款芯片具 有工作电压高,输出电流大等特点,额定功率为 25 W。本设 计电机驱动使用 6 节 AA 电池,输入电压为 9.5 V,可直接驱 动两台电机。通过引脚 A,B 输入定时器 4 产生的两路 PWM 信号对电机进行调速控制。L298N 模块驱动电路如图 4 所示。

基于STM32的重力感应无线智能遥控小车设计



为保证小车的运行速度,无需进行调速,全速行驶,加 在 L298N 驱动上的电压为 6 ~12 V,而 STM32 需要的最大 电压为 3.3 V,为了节省资源,减少电源模块,需要降压。选 用 AMS1117 芯片降压 [10]。电源模块降压电路如图 5 所示。

基于STM32的重力感应无线智能遥控小车设计



2 系统软件设计 

本系统软件程序设计由两大部分组成,即手持遥控端软 件程序和智能小车软件程序。手持遥控端软件程序首先上电 进行初始化,主要是 ADXL345 模块初始化,然后系统正常工 作。ADXL345 模块不断检测倾斜角度的改变,控制模块对倾 角传感器姿态数据进行处理,将加速度数据转换成倾角角度, 并进行卡尔曼滤波,判断倾斜角度是否超出阈值,若超过则 发送小车运动指令。智能小车软件程序接收手持遥控端的指令进行处理之后驱动小车,接收端对接收到的指令进行判断, 控制小车作出前进、后退、转弯等动作。软件程序流程如图 6 所示。

基于STM32的重力感应无线智能遥控小车设计


完成软硬件设计之后就开始对本设计进行系统整体测试 工作。通过改变手持遥控端的倾角信息,可以在 OLED上正 常显示传感器姿态信息,无线收发装置可以正常收发指令, 控制智能小车的前进、后退、左转、右转等运动状态。手持 遥控端和智能小车的实物图如图 7 所示。

基于STM32的重力感应无线智能遥控小车设计



3 结 语

本文应用倾角信息采集模块与无线数据传输模块设计了 一种重力感应无线智能遥控小车,并重点介绍了手持遥控端 与智能小车的硬件电路与软件程序设计。手持遥控端采集倾 角信息,经卡尔曼滤波处理,控制模块发出指令,通过无线 方式控制智能小车完成相应动作。经测试,所设计的重力感 应无线智能遥控小车操作灵活,使用方便,且具有较高的稳 定性与广阔的应用前景。
































本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭