基于STM32的可遥控智能跟随小车的设计与实现

发布时间:2023-06-09  

1、引言

智能小车是一个集自动控制、环境监测、无线遥控等多功能于一体的综合系统,人们习惯称其为移动轮式机器人,目前以单片机为核心的移动机器人还存在处理数据局限、控制不稳定等不足之处,国内市场暂时还没有出现具有真正意义的跟随性智能载物小车。本设计基于单片机的智能小车测距模块、红外遥控模块和小车智能控制模块,通过软硬件设计调试,实现了小车的自动跟随状态。主要利用超声波测距模块实现小车与目标之间距离的实时检测,当两者距离较近小车就“缓慢跟随”,一旦测得距离较远,小车将“加快脚步”,直到追上目标,并且小车可以跟随目标一起转弯,不会“跟丢”。

2、硬件设计

2.1、系统总体设计

为实现小车智能跟随,采用了超声波测距、电机驱动、红外遥控等功能模块设计。通过超声波所测距离,判断小车快速前进,慢速前进或停止。小车以STM32为主控芯片,将2个超声波测距模块测得的距离值经过运算后,输出两路PWM(PuLSEWIDTHMODuLATION)波分别控制左右2个电机的转速。电源给控制部分和电机驱动部分供电。另外STM32连接了LCD显示模块和红外接收电路,分别用于显示运动、状态信息和接收遥控器的控制信号。系统总体设计如图1所示。

基于STM32的可遥控智能跟随小车的设计与实现

图1  系统总体

2.2、超声波测距模块

超声波是指频率高于20KHz的声波,超声波在介质中传播时遇到不同的界面将产生反射、绕射、折射等原理在各行各业得到广泛应用。本设计所使用的测距模块为HC-SR04超声波模块,该模块测量范围为3~400CM,精度最高可达3MM,由超声波发射探头、控制电路和驱动电路组成。模块对外引出4个引脚分别为VCC、GND、TRIG和ECHO。测距需要IO口触发,即先给控制端TRIG至少10μS的高电平信号,模块将自动发送8个40KHz的方波并自动检测ECHO端是否有返回信号,若有返回信号则高电平持续时间即为超声波在空气中传播的时间。由此可得:测试距离=(高电平时间×声速)/2。因此将模块的VCC、GND接入系统电源,TRIG、ECHO端接单片机普通IO口即可实现超声波测距。

2.3、电机驱动模块

小车通过一个L298N电机驱动模块驱动左右电机控制小车的运动。电机采用PWM调速,即改变直流电机电枢电压的的占空比来改变平均电压,从而实现直流电机调速。除了2个电机对应的PWM信号调速之外,该模块还需要4路逻辑输入控制电机M1、M2转向,模块连接如图2所示。因此将PWM信号输入端接入单片机定时器输出,逻辑输入端接单片机配置为输出模式的IO口即可实现对该模块的控制。

基于STM32的可遥控智能跟随小车的设计与实现

图2  电机驱动模块连接


2.4、红外遥控

红外遥控是一种无线、非接触控制技术,具有抗干扰能力强、信息传输可靠、功耗低、成本低、易实现等显著优点。本设计使用的是NEC编码方式的遥控器,红外接收选择HS0038红外遥控器接收头,接收头有3个引脚分别为VCC、GND和DATA。VCC、GND分别接系统的正、负极,DATA接入单片机定时器的一路输入捕获通道即可对红外遥控信号进行解码。

2.5、LCD显示

选择LCD12864作为显示模块。该显示屏支持中、英文字符显示,显示信息量大并且支持串行通信,控制十分方便。由于STM32主频高达72MHz,故在本设计中选择串行控制LCD12864,在满足速度要求的条件下节省了IO口。除了将电源引脚、背光引脚接入系统电源并将PSB引脚接地之外,用单片机的3个IO口操作CS、SID、SCLK3个引脚便可实现对该显示模块的控制。

3、软件设计

3.1、主程序设计

上电后先进行系统初始化,包括时钟配置、延时函数初始化以及调试程序时所需串口的初始化。然后进行定时器的初始化,本系统中定时器分别用于PWM信号的产生、超声波测距判断高电平时间和输入捕获实现红外解码,故需要启用3个定时器并进行相关配置。在进行LCD12864初始化和红外接收初始化之后就进入WHILE(1)循环,判断当前模式,若为自动跟随模式,就对2个超声波测距模块测得的距离数据进行比例控制计算,并根据输出量控制左右2个电机转速;若为遥控模式,就根据红外解码得到的遥控器键值控制小车的运动。主程序流程如图3所示。

基于STM32的可遥控智能跟随小车的设计与实现

图3 主程序流程

3.2、测距程序设计

实现测距,要先给超声波模块TRIG端10μS以上的脉冲,模块将自动发送超声波并接收返回信号,测量高电平时间即可通过计算得到距离值。程序的关键是高电平时间测量,本设计将STM32接ECHO的IO口配置为外部中断IO,上升沿触发中断后立即打开定时器,直到判断ECHO为低电平时关闭定时器,此时定时器计数寄存器的值便可以转换为高电平时间,进而得到距离。

3.3、红外遥控和小车运动控制

本设计使用的遥控器是NEC编码方式。对于NEC码,在接收头收到的信号逻辑1应该是560μS低加1680μS高,逻辑0应该是560μS低加560μS高。NEC遥控指令的数据格式为:同步码头、地址码、地址反码、控制码、控制反码。根据NEC协议内容可以用定时器的输入捕获模式完成红外解码,同时扫描解码结果,得到键值。实际测得本设计所用到的按键键值如表1所示。

表1 键值

基于STM32的可遥控智能跟随小车的设计与实现

小车左右侧分别有一个驱动轮,利用电机驱动模块可以实现电机的正反转以及速度调节,2个电机配合即可实现小车各个方向的运动。小车右转的程序如下:

VOIDMOVE_RIGHT(VOID)

IN1=1;

IN2=0;//IN1、IN2对应左电机,10正转

IN3=0;

IN4=1;//IN3、IN4对应右电机,01反转

PWM_LEfT(50);

PWM_RIGHT(50);

这段程序对L298N模块的4路逻辑输入进行了配置并分别用占空比为50%的PWM信号控制左右电机。左电机正转、右电机反转体现在小车上就是小车原地向右旋转。同理编写MOVE_LEfT()、MOVE_fORWARD()、MOVE_BACKWARD()等几个函数供外部调用。

3.4、比例控制程序设计

当一个机器人被设计用来自动维持某一数值,如距离、压力等,它一般都包含一个控制系统。在本设计中该系统由传感器和电机组成,可以通过处理器编程对传感器的输入做出决定,从而控制输出。对小车采用闭环控制中最常用的比例控制算法来维持其与目标物体之间的距离,比例控制框图如图4所示。

基于STM32的可遥控智能跟随小车的设计与实现

图4  比例控制

以上控制环路将不断调整电机转速使实测距离趋近目标距离,对左右电机用同样的控制环路分别控制,将使小车能跟随目标物转弯、旋转,提高系统可靠性。程序设计如下:

GET_DISTANCE();//测距

DuTyCyCLE_LEfT=(SETDISTANCE-LEfTDISTANCE)*

KP+CENTER;//左侧运算

DuTyCyCLE_RIGHT=(SETDISTANCE-RIGHTDISTANCE)*

KP+CENTER;//右侧运算

PWM_LEfT(DuTyCyCLE_LEfT);

PWM_RIGHT(DuTyCyCLE_RIGHT);//更新PWM信号占

空比

……

4、系统测试

在环境温度一定的室内对小车的跟随性能进行测试,分别在不同跟随距离下观察小车是否能准确跟随,并测量响应时间。系统测试结果如表2所示。

表2系统测试

基于STM32的可遥控智能跟随小车的设计与实现

5、结论

以STM32为控制芯片,设计并制作了一种可遥控智能跟随小车。经测试,在空旷地该小车可自动360°跟随目标物体,系统响应快,保持距离准确,同时小车可以由遥控器一键切换为遥控模式,使设计更为人性化。该小车成可实现多辆跟随,可应用于简单的工厂搬运或者超市、家居等生活场合。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    基于STM32的可遥控智能跟随小车的设计与实现;1、引言 智能小车是一个集自动控制、环境监测、无线遥控等多功能于一体的综合系统,人们习惯称其为移动轮式机器人,目前......
    数字示波器怎么存储波形;  在获得数字示波器的波形后很多小伙伴都不知道怎么保存,接下来跟随小编一起了解下示波器波形存储到U盘的方法步骤。   1、通过示波器的探头获得了自己所需的波形。   2......
    小米王化:自研系统很快揭晓 不叫“MIOS”;按照多方爆料,小米自研系统会命名“MIOS”,很可能会跟随小米14一同揭晓,但并不一定会直接预装。 鉴于传言实在太多,小米......
    报名参与组团观展,还有好礼相送,惊喜多多福利多多!跟随小慕,开启一场优质而专业的观展之旅吧! 03现场打卡,享福利嘉年华......
    传感器可精确测量运行中的转速。从运行情况看,采用本方案设计制作的智能小车,系统可靠性较高,运行稳定,定位准确,达到了设计要求。 ......
    =333.337.search-card.all.click] **V3.3.0-STM32智能小车 ** V3:HAL库开发、功能:PID速度控制、PID循迹、PID跟随、遥控、避障、PID角度......
    控制、PID循迹、PID跟随、遥控、避障、PID角度控制、视觉控制、电磁循迹、RTOS等功能。 我们的智能小车用到了ADC测量电池电压的功能,这章节我们做一下。我们的一篇在这里[第一篇]什么是ADC 百度......
    前市场上所没有的。 1.3科学意义及应用前景 智能婴儿摇篮和普通摇篮相比,功能强大,声控、遥控、电动、智能跟踪、智能避障集于一体,能够很好的为宝宝及其监护人提供很大的方便,使婴......
    。 Inspire 2还融入了部分大疆精灵4的功能,如FlightAutonomy智能实时自动避物,以及支持主动追拍的第二代智能跟随功能等。它的机顶还增加了红外感知系统、超声......
    变压器或EI型变压器等。也可分为电力变压器、电子变压器或电源变压器等。如果我们想知道他们各自的原理和应用,我们必须慢慢地学习和理解。今天,让我们跟随小r了解变压器是如何按频率分类的,以及......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>