模块化全地形无人小车的设计

2023-11-14 08:58兰春萍庞浦生祝海强荘滨宾吴万利
电子制作 2023年20期
关键词:舵机小车超声波

兰春萍,庞浦生,祝海强,荘滨宾,吴万利

(玉林师范学院 物理与电信工程学院,广西玉林,537000)

1 系统整体设计

本小车基于STM32F407ZGT6 单片机,控制系统如图1 所示。

图1 控制系统结构

本全地形无人小车采用STM32F407ZGT6 单片机作为主要的控制单元,在系统通过接收加速度陀螺仪模块及超声波测距模块的电信号时,判断小车在外界所处于的相应地形,从而在单片机的主控发送相应的信号给舵机控制模块和电机驱动模块,控制小车继续前行的路线以及行走方式,实现对小车的智能化,无人化的控制。由于采用了模块化的设计,该无人小车的各个功能模块及各功能模块与其他零部件、设备之间可轻松实现耦合连接[1]。

2 硬件各功能模块的设计与实现

2.1 系统控制核心

本设计小车主要采用以STM32F407ZGT6 单片微型机为主的控制器件,其主控芯片同时也是一个微控制器模块,采用了高性能ARM®-M432 的RISC 核心,运算速度可以达到168MHz,甚至还能够使用设计时钟实现更快的速率,同时使用FPU 和DSP 指令,多达144 个接口,其中包括114 个IO 接口,主要用于SWD 和JTAG 测试,内存容量包括1024K 的FLASH,还具有192K 的SRAM。由于STM32F407ZGT6 具备稳定性强,抗干扰能力强的优势,所以采用了该芯片作为小车的主控,车辆通过使用该芯片接受各模块的反馈数据,对各模块和外界环境间的反应信息加以读取,并加以分析处理,对外部环境的改变因而采取相应工作模式,从而调节各电机的驱动,以及工作速率的大小,以实现车辆能够满足在全地形运动的目的。STM32F407ZGT6单片机原理图如图2 所示。

图2 STM32F407ZGT6 单片机原理图

2.2 加速度陀螺仪模块

本设计小车还安装了2kHz 九轴电子罗盘IMU 倾斜位置传感器MPU9250,而MPU9250 则是一种QFN 封装的运动复合器件(MCM),它由两部分组成。一种是三轴加速度以及三轴陀螺旋转仪,另一组则是AKM 公司的AK8963 三轴磁力计。所以,MPU9250 是一款九轴移动追踪设备,其在小小的3mm×3mm×1mm 的包装中融入了三轴加速度,三轴旋转陀螺仪及其数字处理器(DMP)从而具有MPU6515 的功能。其完美的I2C 方案,可直接输出九轴的全部数据[2]。一体化的系统,运动式的融合,以及时钟校正系统,使设计者避免了繁琐复杂的器件选型和外设管理,以确保了良好的稳定性。该传感器使用的加速度计和微陀螺仪低成本小体积且性能稳定。采用卡尔曼滤波技术,把加速度计和陀螺仪得到的信息综合在一起以实现车辆倾角信息的最优计算,进而实现车辆的对自然环境中的车速调节、方位控制和变速功能,达到车辆对自然环境更高的适应能力[3]。图3 为MPU9250 模块电路图。

图3 MUP9250 模块电路图

2.3 超声波测距模块

其机身上搭载了HC-SR04 超声波感应器组件,HC-SR04 超声波测距模块可进行最高4m 范围的非接触式近距离感测操作,探测范围准确度可至3cm,根据功用分为超声波探测的发射机,接收机以及控制电路[4]。通过IO 触发测距,在传感器的端口提供一个10μs 的高频电流信号,从超声波发送口接收声音并发出8 个40kHz 的频率信号,能够检测出是否有声音回路。然后开启定时器,待传感器输出响应声音,回响的输出频率与被测量时间成正比,根据最大量程和声音的频率,测量的时间间隔一般为60ms 以上,然后根据时钟时间间隔测量计算长度[5]。当小车检测到障碍物和轮子的距离过近时,会启动避障程序,从而使小车避障能力得到有效改善。模块性能稳定,测度距离精确,随时监测距离,能使小车有效避开障碍物。实现小车在地形中的避障能力。

2.4 舵机控制模块

当小车在对地形的操控中,就使用了RDS3218 舵机控制单元。舵机,它的学名称为伺服电机,这是一个装有输入输出轴的小器件。当计算机对伺服机发出一种操控信息后,输入输出轴就会旋转到一定的角度。而只要操控信息维持恒定,伺服机制就能维持轴的角度位置不变化。而只要操控信息变化,输入输出轴的角度就会随之变化。而操舵系统控制器模块可以作为一个伺服的驱动器,应用在一个需要方向的变化并能够保持的道路控制系统上,当车辆感觉到地形的变化后,其控制器芯片产生一定的信息并传给舵机系统控制器模块,使舵机系统转动至某个适合于地形的方位并静止,以此适应地形,从而使车辆可以很容易地通过各种不同地形。而且在使用的模块为大扭矩的舵机控制模块,在能适应车身自身重量的同时,还能保证着控制的灵敏度,在地形跨越有更优越的性能。

2.5 电机驱动模块

在电力驱动领域,常使用的L298N 电力驱动器件。L298N,是一个接受较高电压电流的电机驱动器件,是由意法半导体公司的量产的一个电力驱动器件,具有工作电压高、输出电流大、驱动功能多、发热量小、抗干扰能力好的优点,一般用于驱动继电器、螺纹管、电磁阀、直流电机和步进电机。该芯片具有高压大电流的全桥驱动芯片,控制方便,稳定性好,性能优良[6]。在小车的控制方面有很大的优势,小车穿过不同地形时,可根据地形的复杂程度控制PWM 的占空比控制转速,控制小车的稳定性能,防止小车在行驶时失去平衡导致侧翻,从而保证了小车在行驶中稳定优越性。图5 为L298N 电路图。

图4 HC-SR04 超声波感应器

图5 L298N 电路图

3 软件

3.1 程序初始化

控制直流电机和舵机需要PWM 方波,该小车的主控STM32F407ZGT6 内置多个定时器,可以用于产生PWM方波,PWM 方波就是一段由相同周期和占空比的方波组成的,当设置好定时器的周期和占空比后,最后再使能定时器,对应的引脚就可以产生PWM 方波了。第二步就是初始化传感器相关接口,STM32ZGT6 外设有144 个引脚,每个引脚都有相应的功能,引脚可以设置为输入或者输出引脚。通过设置引脚的输入和输出的设置,单片机就可以实现操控各类外设,并与外设通信。为输入引脚后,单片机就可以接受外面的信号,设置为输出引脚,单片机则可以向外输出使能信号。超声波传感器需要两个IO 口,一个用于触发信号的输出,一个用于信号的输入,超声波工作的原理是给超声波一个触发信号(一个高低电平的跳变),然后等待输入信号接口电平由高变低,根据电平由高变低的时间和声音在空气中传播的速度,得出物体的距离。本设计选用的九轴传感器模块集成了芯片和传感器,可以进行串口通信,设置精度,精度越高则每秒生产的数据越少,还有卡尔曼滤波的迭代次数,数据为0 到999,越大则数据变化的越慢,卡尔曼滤波是为了减少因为噪音信号的产生而造成的误差,使信号的整体波形更平滑,但是也会影响检测快慢,在一些角度变化过快的场合应该把迭代次数减少以得到更好的效果。

3.2 平衡控制与避障控制

本设计能实现在行驶复杂路面还能平稳行驶,同时遇到障碍物能主动避开的功能。传感器实时检测小车是否处于平衡状态,当四个轮子的高度偏差超过系统设定的阈值时,系统会控制舵机转动,让那个水平位置升高的两个舵机转动一定角度,使轮子抬起来,调整四个轮子的高度一致,从而实现小车的平衡驾驶。避障则通过小车的超声波模块和减速电机来控制,避障则是根据情况来控制的,情况一:当小车的一边检测到障碍物,而小车的另一边没有时,小车先后退,然后向没有障碍物的那一边拐。情况二:两边都检测到障碍物,小车先后退,调整好角度再前进,直到变成情况一。

3.3 无线通信

全地形的无人车辆也可以使用手机等无线装置来操作,通讯方式为蓝牙2.0。选用蓝牙通信是经过根据稳定性,准确性,效率等方面考虑的。通过无线通信,可以控制小汽车进行不同的运动,比如启动和停止,改变车速,也能开启和关闭用于控制小车平衡的平衡环,可以直接操控小车。该设计的优点在于能在调试过程中更快速,准确地收集各种参数,同时也能使在未来的应用中更加方便。图6 为小车控制的流程图。

图6 软件控制流程图

4 结束语

随着现代社会对智能化发展的需求,运用无人小车在人工智能、精准定位、自主导航、智能操控等技术造福人类。本设计使用巧妙的控制系统使小车悬挂式越过障碍,用单片机使其按照一定的指令工作,提高适应能力,用多种传感器精准地识别各种地形,有效解决了精准度、安全性、地形限制等问题。

猜你喜欢
舵机小车超声波
大车拉小车
自制小车来比赛
含齿隙弹载舵机的全局反步模糊自适应控制
刘老师想开小车
基于Niosll高精度超声波流量计的研究
两轮自平衡小车的设计与实现
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
蝙蝠的超声波
超声波流量计的研究