基于STM32的WIFI智能小车

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:li86014446
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:提出了一种基于STM32嵌入式微处理器的WIFI智能小车设计方案。该设计以uCOS-II为操作系统,利用PC端的WIFI串口通信向小车发送指令,STM32主控制器根据接收到的指令对小车进行操作,从而达到PC端通过无线网络来控制小车状态并且能够显示小车传输图像的目的,同时实现了红外避障及温度采集显示功能。测试表明该系统成本低,设计合理,能够实现远程无线控制,为未来的智能家居及无人探测提供了研究方向。
  关键词: STM32微处理器;WIFI小车;嵌入式;串口通信;无线控制
  Abstract: The WIFI smart car design scheme based on STM32 embedded microprocessor is proposed. The design uses uCOS-II as the operating system, and uses the WIFI serial communication on the PC to send instructions to the car. The STM32 main controller operates the car according to the received instructions, so that the PC terminal controls the state of the car through the wireless network and can display the car transmission image. At the same time the infrared obstacle avoidance and temperature collection and display functions is realized. Tests show that the system has low cost, reasonable design, and can realize remote wireless control, providing a research direction for future smart home and unmanned detection.
  Key words: STM32 microprocessor; WIFI car; embedded; serial communication; wireless control
  1 引言
  近幾年,人们的生活正在逐渐向智能化转变,嵌入式技术及一些新技术的快速发展,使人们生活和工作变得越来越智能化[1]。
  智能小车可以在所处的环境中通过传感器自行进行判断和分析,在无人操作的情况下自主完成任务[2]。本文设计的智能小车通过WIFI实现远程无线控制,同时具有避障及温度采集功能,实现了小车的智能化,可以作为研究智能汽车或者其他移动机器人的基础模型,具有较大的研究空间[3]。
  2 设计方案
  2.1 系统功能定义
  本设计能够实现无线控制,避障,循迹等功能,由硬件,软件,无线传输三大部分组成,现对以上三部分功能进行具体的叙述[4]。
  1)硬件部分:输出PWM控制电机;检测障碍物,检测距离为10cm;串口通信,需要通过串口对智能小车进行调试,串口波特率设置为115200;对接收到的命令进行处理和判断;通过温度传感器检测环境温度;连接WIFI模块及控制WIFI模块;通过uCOS-II实现多个任务同时执行。
  2)软件部分:操作界面功能;通过SOCKET编程实现联网,可以连接到WIFI模块;接收STM32开发板传输的数据和发送指令数据;利用摄像头进行拍照,在小车行驶过程中接收小车传输的图片信息并显示;实现小车的模式切换,模式1为无线控制行驶模式,模式2为自动行驶模式。
  3) WIFI通信功能:与PC端进行联网连接;实现PC与单片机之间的数据交换功能。
  2.2 系统方案设计
  本设计采用STM32F103开发板,与51单片机相比,STM32可以搭载小型系统且速度更快,设计方案如图1所示。STM32开发板作为本设计的控制中心,使用PWM输出波形驱动电机转动,通过内部定时器达到控制方向的效果,同时将接收到的数据及命令经过处理器判断和计算从IO口输出。本设计利用温度传感器采集温度信息通过串口传输到WIFI模块,在PC端显示;利用红外传感器实现探测障碍和循迹功能。WIFI模块是PC端和开发板进行数据交互的媒介,PC端的操作指令由WIFI模块进行发送,开发板和PC端之间设置了相应的数据协议,由此判断接收到的是哪种类型的命令,小车根据命令执行相应的操作。
  3 硬件设计
  3.1 WIFI通信电路设计
  WIFI通信模块作为STM32和PC端通信的中介,两端都通过WIFI模块进行数据交互,该模块选用ESP8266芯片[5],其特点就是如果断开连接,再次连接,模块会连接到最近一次连接过的热点[6]。
  ESP8266支持三种模式,分别为STA模式,AP模式,STA AP模式。本设计使用AP模式,使其他网络能够连接到ESP8266。本设计使用ESP8266的AP模式,使其他网络能够连接到ESP8266,与STM32的引脚连接如表1所示。
  3.2 摄像头电路设计
  摄像头模块选用OV7670,摄像头模块采集的光信号通过内部转换变为RGB信号,屏幕显示的为色位信息[7-8]。摄像头模块电路如图2所示,摄像头模块数据需要7个引脚进行传输,传输协议为SCCB[9]。
  3.3 定时器
  STM32中的通用定时器是由16位的自动装载计数器构成,通用定时器包括TIM2、TIM3、TIM4和TIM5。定时器可以实现基本定时、输出4路PWM、输入捕获等功能。本设计采用STM32F103开发板,该开发板中除了定时器6和定时器7都可以产生PWM输出,本设计使用的定时器为TIM3。   3.4 电机驱动
  为了实现PC端能够控制小车的速度以及满足直流电机的驱动电压,本设计选用L298N电机驱动模块给直流电机供电[10]。
  电机状态与STM32输入如表2。电机驱动共有两个电源输入接口,一个是5V,另一个是12V,在使用时12V的接口输入电压要大于7V,5V的接口就可以向单片机供电。
  4 软件设计
  软件设计部分包含硬件所需程序和PC端程序,设计框图如图3所示。PC端的软件部分主要是实现控制界面,连接网络,显示图像功能。控制界面包括按键和信息接收区,按键用来向STM32发送数据和命令,并控制PC端程序;信息接收区是接收STM32发送的部分信息进行显示,如温度可以在信息接收区进行显示,图像显示部分显示从STM32接收到的图像。
  4.1 硬件功能程序设计
  1)uCOS系统程序
  本设计选择uCOS-II作为处理器的内部操作系统,该操作系统满足本设计的多任务处理要求,硬件部分所有程序都是在此操作系统内部编写[11]。
  操作系统部分流程图如图4所示,在main函数内部完成各个模块的初始化同时创建起始任务。在执行完main函数之后开始执行起始任务函数,在起始任务函数里面创建多个任务。当创建完任务之后退出起始任务,之后开始执行创建的多个任务。
  2) WIFI模块程序
  WIFI模块一直监听是否有数据发送到WIFI模块,当接收到从PC发送的信息后,还需要对接收到的数据进行判断或者处理,使STM32能够识别命令并进行相应的操作。WIFI模块软件流程图如图5所示。
  4.2 PC端软件程序设计
  PC端软件程序部分有界面程序、网络连接程序及图像显示程序三部分。PC端软件编译工具为VC ,使用C 语言编写。界面部分需要处理多个任务,因此需要多线程来处理多个操作。软件流程图如图6所示。
  PC端软件程序部分的核心是网络连接和数据接收发送程序,这两部分程序负责PC与STM32之间的数据交互。在VC 中使用对话框创建整个工程,当按下对话框界面中的一些按键时,对话框会做出响应,这些按键实现的功能都是独立的。接收图片信息和键盘按键信息的任务要在任何时刻都能不受影响地执行,因此需要创建多线程。
  PC端界面如图7所示,包含网络、图片显示、指令三部分。网络连接部分,控制PC和WIFI模块ESP8266的连接;图片显示部分显示摄像头拍摄的图片,初始图片为PC中的图片;指令部分可以向STM32单片机发送命令,包括拍照命令,采集温度命令,变换速度命令,改变小车模式的命令。
  5. 测试结果
  智能小车启动前,首先WIFI模块与PC端需要连接成功,进行正常的数据传输,图8所示为WIFI与PC正常发送数据的结果。
  为了实现PC端无线控制小车,PC端和小车必须处于同一个网络中。如图9所示,PC端和小车的WIFI模块连接同一网络,服务器和客户端界面显示连接成功。
  PC端与小车的指令发送结果如图10所示,当PC和WIFI模块连接之后,只要小车处于模式1时按下键盘方向键,指令数据就会发送到开发板,小车执行相应的操作(前进,后退,左转,右转,停止)。
  图11所示为红外避障结果,红外模块指示灯亮表示前方有障碍物,灯灭表示无障碍物或者前方为黑色物体,实现有效避障。图12所示为温度采集结果,能够正确显示周围环境的温度。
  6 结论
  本设计基于STM32,以UCOS-II为操作系统,通过对硬件和软件部分的程序编写以及外部器件选择和连接,实现了具有串口通信功能,能够通过PC端键盘无线控制小车行进方向的WIFI智能小车。智能化是未来生活和工作的一种必然趋势,本设计的实现为未来的智能家居及无人探测提供了研究方向。
  参考文献:
  [1] 秦畅,孙艳龙.论智能机器人的发展和未来[J].农家参谋,2019(11):198.
  [2] 李婕.基于STM32的无线视频监控智能小车设计[D].兰州:兰州理工大学,2014.
  [3] 刘雪飞,李勇.基于STM32单片机的智能小车控制系统[J].电子世界,2020(19):164-165.
  [4] 周东瑶,师文庆,黄江,等.基于STM32的WiFi智能小車控制系统设计[J].装备制造技术,2019(8):58-61,83.
  [5] 王立人,朱彦宇,黄洁,等.具有WiFi通讯功能的智能小车控制系统研究[J].无线互联科技,2014(6):98-99,131.
  [6] 张滔.基于STM32单片机DMA机制的多通道数据采集[J].黑龙江科技信息,2013(30):27.
  [7] 陶杰,王欣.基于STM32F407和OV7670的低端视频监控系统[J].单片机与嵌入式系统应用,2014,14(3):60-63.
  [8] 李慧敏,樊记明,杨笑.基于STM32和OV7670的图像采集与显示系统设计[J].传感器与微系统,2016,35(9):114-117.
  [9] 杨会建,杨阳,张环,等.基于SCCB总线配置的FPGA视频采集系统设计[J].长春理工大学学报(自然科学版),2015,38(4):97-100.
  [10] 殷留留,韩森,王芳,等.基于L298N的直流电机调速系统的设计与应用[J].信息技术,2017,41(6):104-106,111.
  [11] 陶锐,李洋,曹海燕.基于ARM7内核的UCOS-Ⅱ移植研究[J].企业技术开发,2012,31(5):68,74.
  【通联编辑:梁书】
其他文献
摘要:伴随着我国经济飞速发展,经济全球化的不断深入,我国民营企业遍地开花,涌现出一大批国际知名领军企业,能否在企业竞争中脱颖而出,企业人才管理尤为重要,其中年终奖作为企业对员工的奖励机制成为企业留住人才的关键。传统评定机制面临着主观性强,公平性存在差异等问题,通过应用层次分析改进员工年终奖评定方案,降低主观因素影响从而提高年终奖评定方案公平性,提升企业核心竞争力。  关键词:层次分析(AHP);影
摘要:随着国民经济的飞速发展、业务量的增加,学校的办学规模不断扩大,根据传统的手工方式来选择课程的效率越来越低。为加强管理学校学生知识的快速发展,提高学习效率,设计一套校园课程选择系统是非常有必要的。故该文主要的应用设计技术采用的是J2EE,并在此基础上探索了SSM的相关技术研究。此外,该文还重点讨论J2EE的三层体系结构及Web的结构和体系、设计分层模式以及其框架等技术。在此基础上实现了系统的功
由于人工智能系统对于数据的依赖以及深度学习算法的不可解释性,导致目前的人工智能系统面临严重的安全风险。其中,对抗样本是目前深度学习面临的主要威胁之一。为了更好地应对对抗样本攻击带来的安全威胁,需要对对抗样本的构造机制有充分的了解。因此,深度学习领域中关于对抗样本的构造方法有了大量的研究。该文提出了一种基于自编码器的对抗样本生成方法,不需要强大的背景知识,降低计算成本,实验结果证实所提出的方法的先进
摘要:中小学核心素养的提出体现了对学生素养教育的重视,而素养教育的发展离不开数字化教学资源的支持,一方面是学习方式的认知支持,另一方面是学习过程的资源支持,在诸多教学资源中,电子教材的作用显得尤为重要。电子教材在当下的学生学习过程中发挥着极其重要的作用,使教学方式发生了巨大的转变,从已有的灌输式教育转变为学生利用电子设备进行自主学习。伴随着技术的迅猛发展也在不断地提升发展,虚拟现实式电子教材在技术
摘要:高校中分散在各个教学信息系统如招生系统、教务系统、在线学习平台、图书馆系统中的各类教学数据共同构成了高校的教学大数据,利用数据可视化技术将教学大数据以直观、高效的可视化信息呈现可以有效地服务高校领导决策。本文中笔者提出了基于MVC的大数据可视化架构,并以浙江开放大学“浙江学习网”可视化大屏设计和实现为例,利用德尔菲法和层次分析法等建模方法和ETL及可视化工具完成MVC可视化架构的设计和实现,
摘要:政府门户网站是各级人民政府和政府职能部门通过互联网发布政府信息和提供在线服务的综合平台,主要实现发布解读、政务信息公开、互动交流等功能。政府网站不仅需要设计展示各级政府要求统一推送信息的公共部分,还需要展示政府网站主办单位的具体功能个性化部分。本文通过对政府网站网页设计要点的分析与探讨,为政府网站建设的页面提供重要的参考。  关键词:政府;门户网站;网页;设计  Abstract: Gove
摘要:我国的经济飞速发展离不开信息技术应用,特别是现阶段的计算机技术,能够帮助各个企业实现工作效率提升、工作质量提升的效果。然而,随着时代的不断发展,人们对于计算机技术的应用逐渐完善,对计算机技术有了更高的要求。而计算机发展过程中,人工智能是必然的发展趋势。通过计算机的该种技术的应用,能够促使相应的程序在运行过程中产生人类思维,从而提高计算机发展速度,帮助人类开展危险或者复杂的工作,为人类安全提供
摘要:新型冠状病毒肺炎(COVID-19)自2020年在世界范围内迅速传播,致死率极高,时至今日,一些国家的疫情仍无法得以有效控制,因此,新型冠状病毒肺炎趋势预测成为一大研究焦点。目前传统的趋势预测方法主要包括运用传统传染病预测模型。但是,传统传染病模型趋势预测方法缺少对实际情况防控传染病措施的考虑,模型建立不够完善等缺点。同时,随着机器学习热潮的到来,科研人员在此基础上构建了基于深度学习的COV
摘要:在我国社会经济发展速度日益加快的背景下,计算机信息技术也得到了迅速的发展,为人们的生活和工作带来了诸多的便捷。软件应用属于中间件设计的关键元素,在软件开发过程中正确加强对分层技术的有效应用,不仅能有效提高软件的功能,同时可以提升用户体验,以及满足用户的多元化需求。文章围绕分层技术在计算机软件开发中的应用进行简要分析,希望能够提供有价值的参照。  关键词:软件开发;分层技术;分析  随着我国信
摘要:市政建设单位安装的井盖经常遭到不法分子盗窃,造成公共财产损失和安全隐患。该文针对该现象,设计了一种井盖防盗报警装置,该装置采用三轴加速度传感器采集井盖角度信息,将数据传给单片机进行分析,确定是否需要报警,最后通过无线通信模块发送报警信息,从而达到防盗报警的目的。  该装置具有安装隐蔽、高灵敏度,低噪音和低功耗的优点,而且具备卓越的可靠性和稳定性、优良的抗冲击能力、宽工作温度范围、无铅环保。考