APP下载

基于微控制器的超声波定位设计

2023-02-07

现代电子技术 2023年3期
关键词:微控制器蓝牙小车

张 凯

(陕西工业职业技术学院,陕西 咸阳 712000)

0 引言

自动驾驶技术已经成为近几年来的一个热门话题,正逐步呈现出实用化趋势,相比之下,智能小车看起来可能会得到较好的发展,但是自动驾驶车辆的技术原理都是首先用在智能小车上,可见研究智能小车技术有巨大的意义。

本次设计正是基于这一理念,构建以超声波收发定位为基础,通过单片机分析、处理采集数据,实现精准控制的自动跟随载体。载体以四轮小车为模型,处理器选定Arduino开发板,小车采用四轮步进电机进行驱动控制,借助超声波发射器和接收器采集外部信号变化,通过声速、传递时间以及超声波接收器之间的距离,根据三边定位算法可以计算出目标的相对位置,并反馈给单片机用于控制各部分电机的转速,实现小车转弯、直行、调速,达到自动跟随的效果。项目可应用于出门旅行、超市购物、图书馆还书、家庭看护、快递配送等许多方面,与实际应用结合,实用性较强。

1 设计目标及设计方案

1.1 设计目标

本次项目选用STM32F1系列单片机作为平台,利用其丰富的内部资源及外部接口完成信息采集、处理、响应,通过ST-LINK仿真器进行在线调试,设计程序并开发实际跟随功能。项目设计中,采用两种方式诠释单片机给生活带来的改变:第一种方式以HC-05蓝牙传输模块的方式实现信息无线通信的目的,利用手机蓝牙和蓝牙接收模块,用户可通过主机直接控制移动载体,达到遥控效果;第二种方式利用超声波传感器完成信息采集,将采集数据交由单片机处理并做出响应指令,实现移动载体前进方向调整、行驶速度调控,达到自动跟随的目的。

项目设计利用MCU特点,将以往的旅行箱、购物篮、购物车等常用的生活物品“换成”能够自行跟随的移动载体,设计中将传感器与单片机配合使用,进行信息的有效传递,达到自动跟随的效果,实现“解放双手”。

1.2 设计方案

1.2.1 硬件设计

项目由Arduino UNO R3板、电机驱动板、4个电机连接在4个轮子、HC-05蓝牙模块、SR04超声波传感器、电源等部分组成。系统硬件结构图如图1所示。

图1 系统硬件结构图

Arduino UNO主要用于处理所有传感器采集的数据,在对采集数据进行分析、处理后,向驱动模块连接端口发出控制命令,进而完成智能载体的多个任务(不断寻找目标、调整方向、调整速度),最终实现自动跟随的目的。

Arduino开发板可简单地与传感器、各式各样的电子元件连接,如图2所示,将传感器所接收到的数据进行数据处理,分析不同数据信号所对应的操作。R3驱动板更好地控制4个直流电机可以给予直流电机更大的驱动力(需要外接电池)。

图2 Arduino开发板连接图

项目具体功能如下:

1)自动跟随功能:通过3个超声波传感器判别方向,当超声波检测到一定距离时,小车开始跟随。项目研究中,超声波的作用十分重要,既要保证实时调整方向,还要实现安全距离跟随。超声波传感器依据超声波特性制造而成,通过自带的发射端和接收端,由内部晶片在电压作用下产生超声波并经发射端送出,在遇到杂质等物体时会发生反射现象,从而产生回波,由接收端采集回波信号。

为解决实时调整方向这个问题,项目中共使用3个超声波模块来实现方向控制,如图3所示。当只有中间超声波传感器检测到信号时小车进行直行;当中间的超声波传感器检测到信号并且左右两侧超声波传感器检测到信号时,小车依旧直行;当单独的左右两侧的任意一个超声波传感器检测到信号时,小车向着对应的方向转动;当中间的超声波传感器检测到信号时,此时小车又开始直行。由此就完成了用3个超声波传感器来控制方向。

图3 方向控制超声波模块

传统三边定位算法首先选择三个参考坐标,由这三个坐标相互连接构成三角形结构,通过测量三角形各边边长,根据三个参考坐标位置、目标物与参考坐标产生的角度偏移,通过直角坐标计算得到移动目标的具体坐标。

本次项目设计借鉴三边定位算法的方式,用3个固定超声波代替三个参考坐标,其安装位置位于移动载体前部,具体安装布局如图3所示。3个超声波以三角形方式放置,其中A用于方向及距离检测,B、C用于移动载体的方向辅助判断信号。在目标运动过程中,A、B、C三个传感器实时对移动目标进行信息采集,并将采集数据交由单片机进行处理,根据A、B、C三端反馈的数据,载体的前进方向会做出及时的调整,实现左转、右转、前行的效果,其中A传感器还有实时检测载体与目标物之间的距离,达到载体与目标物之间有效跟随的目的。

2)蓝牙通信功能:蓝牙系统由底层硬件、中间协议、应用层三部分组成。底层硬件包含基带、调频和链路管理,其中,基带完成蓝牙数据传输,无线调频定义蓝牙收发器工作状态的必要条件,链路管理保证链路建立、连接和拆除的安全性。中间协议层包括发现协议、逻辑控制和适应协议、通信协议和串口四块,其中发现协议是为上层应用提供一种机制实现网络服务,逻辑控制和适应协议负责保证通信服务质量,是功能实现的基础。高层应用位于面向用户的框架部分,蓝牙技术的应用包含文件传输、网络访问,不同应用是按照应用需求通过多种模式实现的无线通信方式。蓝牙应用为固定端或移动端之间建立了通用的无线传输模式,将数据通信与计算机应用紧密结合起来,使各种设备在缺少物理通信环境的情况下,实现近距离的信息交互。

项目制作中采用HC-05蓝牙模块作为网络通信工具,其作为移动载体的网络接收端和客户手机蓝牙发送端进行连接,将用户命令通过网络发送至载体,实现用户对移动终端的控制操作。

3)移动终端应用程序(APP):随着互联网技术的发展,物联网技术也在快速进步,手机APP是现在常见的使用方式。通过与APP的配合使用,用户可以在线实现网络资源查找,也可以远程操控多种智能设备,APP对于硬件管理也是十分方便,已经成为智能硬件设备重要的辅助工具。

项目设计中选用APP作为手机控制界面,在蓝牙配对成功的前提下,通过APP用户可以实现实时控制移动载体,如图4所示。图中的中间位置,遥控模式和跟随模式可以手动切换,在双手占用时可以选择跟随模式,移动载体会保持1 m安全距离紧跟用户前行;在人多、复杂的环境中,可选择遥控模式,通过蓝牙进行手动控制载体。

图4 APP控制界面

图4中左侧位置,有蓝牙控制方向的4个按钮,最上方是蓝牙搜索,可以实现移动载体与手机蓝牙的连接,并且可以通过蓝牙实现加速、减速、停止等操作。

1.2.2 程序设计

#include″stm32f10x.h″

#include″delay.h″

#include″motor.h″

#include″keysacn.h″

#include″IRSEARCH.h″

#include″IRAvoid.h″

#include″usart.h″

#include″UltrasonicWave.h″

#include″timer.h″

u8 actoin0[]={0xFF,0x09,0x00,0x00,0x00};

u8 actoin1[]={0xFF,0x09,0x00,0x01,0x00};

void ZYSTM32_run(int speed,int time);

void ZYSTM32_brake(int time);

void ZYSTM32_Left(int speed,int time);

void ZYSTM32_Spin_Left(int speed,int time);

void ZYSTM32_Right(int speed,int time);

void ZYSTM32_Spin_Right(int speed,int time);

void ZYSTM32_back(int speed,int time);

void duoji()

{

LED_D3_RESET;

delay_ms(500);

LED_D3_SET;

delay_ms(500);

}

int main(void)

{

delay_init();

KEY_Init();

IRSearchInit();

IRAvoidInit();

Timerx_Init(5000,7199);

UltrasonicWave_Configuration();

uart_init(115200);

uart2_init(9600);

TIM4_PWM_Init(7199,0);

ZYSTM32_brake(500);

duoji();

LED_D3_SET;

while(1)

{

printf(″dis:%d ″,UltrasonicWave_StartMeasure());

if(UltrasonicWave_StartMeasure()<200) //20 cm

{

BEEP_SET;

Usart2_sendstr(actoin1,5);

delay_ms(500);delay_ms(500);delay_ms(500);

delay_ms(500);

Usart2_sendstr(actoin0,5);

delay_ms(500);delay_ms(500);delay_ms(500);

delay_ms(500);

}

else

{

BEEP_RESET;

}

}

}

2 项目实用性

1)微控制器应用:项目运行中,采用无线通信技术、传感器技术及微控制器技术,实现物与物之间的无线数据通信,在移动终端独立运行的过程中,完成数据的实时采集及信号处理,充分利用微控制器的特点和优势解决现实中的实际问题。

2)解放双手:智能移动载体的应用,在出门旅行、超市购物、老人出行等多个环境中具有较强的实用性,解放双手可以做更多的事情,又无需担心随身物品丢失。

3)物联网技术新应用:微控制器作为移动载体的核心部件,协调多个功能模块的配合使用。在实际应用中,手机成为百姓生活的必需品,利用手机自带的WiFi功能,微控制器搭配WiFi模块,用户通过手机就可直接控制移动载体,达到手机与移动载体之间的物联网应用。

3 结语

智能移动载体的应用,在出门旅行、超市购物、老人出行等多个环境中具有较强的实用性,解放双手可以做更多的事情,又无需担心随身物品丢失。在应用设计方面,国产MCU远远落在外国企业后面,比如STM32峰会第二天,几十家合作伙伴展示了包括LoRa、蓝牙和WiFi模块、空中固件升级、NB-IoT诊断仪、多功能汽车总线通信平台和安全认证的RTOS等百余种解决方案,以及大疆和小米无人机、华为运动手表、MOOV耳机和阿尔法智能机器人等数十种国内设计和生产的基于STM32产品,在未来发展中,注重设计和生活密切相关的电子产品,让百姓切实感受到技术发展带来的改变。

随着人们对产品性能要求的不断提高,越来越多的MCU出现,功能和场景多样化。以手机和电脑为例,MCU可实现对屏幕的亮度控制;以手表为例,MCU可实现对时间的控制;以机器人为例,MCU可实现对机器手臂的控制;以汽车为例,MCU可实现对电机和电池的控制。

经过调研,现在市场上还没有出现这样的小车,而且发现人们普遍携带沉重的行李,刚好可以从笨重的行李出发并解决这一问题,通过认真的分析与调研,决定通过跟商场、机场、图书馆、医院等地方合作,通过扫码租赁的方式开拓市场。本产品的亮点既可以使用蓝牙控制,也可以通过超声波自动跟随在用户身后,成本低、使用方便,可充电重复使用。

猜你喜欢

微控制器蓝牙小车
蓝牙音箱的直线之美
大车拉小车
自制小车来比赛
刘老师想开小车
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
两轮自平衡小车的设计与实现
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
物联网技术在微控制器实验教学中的应用
紧急:蓝牙指尖陀螺自燃!安全隐患频出
Atmel针对新一代物联网应用发布全新32位微控制器