一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于STM32的超声波测距教学小车控制系统的制作方法

2021-10-09 11:32:00 来源:中国专利 TAG:测距 超声波 小车 控制系统 教学

一种基于stm32的超声波测距教学小车控制系统
技术领域
1.本发明属于电子测量设备领域,具体为一种基于的超声波测距教学小车控制系统。


背景技术:

2.传统的stm32超声波测距的教学方法是采用老师课堂教学,不仅枯燥乏味,更是没有让学生体会到stm32的强大魅力,无法充分让学生发挥他们的动手能力和思维创意。目前高校嵌入式系统设计教学中,通常使用实验箱,教学效果比较单一,缺少直观性。


技术实现要素:

3.针对上述问题,本发明的目的在于提供一种基于stm32的超声波测距教学小车控制系统,能够提高stm32的教学效果,通过该控制系统控制教学小车运动的同时完成stm32超声波测距,具有操作简单、安全可靠、显示清晰、检测精度高、响应速度快,稳定性好等特点。
4.为达到上述目的,本发明采用以下技术方案:本发明提供一种基于stm32的超声波测距教学小车控制系统,包括:电机驱动模块,接收stm32单片机发送的控制信号,驱动直流电机和转向电机完成对教学小车的加减速控制和转向控制;ps2手柄信号接收模块,包括手柄和接收器,手柄上设置有若干按键,通过按键发送控制信号,接收器接收从手柄传来的控制信号,并将控制信号传递给stm32单片机;超声波测距模块,实现超声波的发射与接收功能,并把接收的超声波信号传递给stm32单片机;stm32单片机,将接收的控制信号传递给电机驱动模块,并对接收的超声波信号进行处理,计算出教学小车与障碍物之间的距离,实时传递给lcd显示模块;lcd显示模块,将测得的教学小车与障碍物之间的距离在屏幕上实时显示;电源模块,为电机驱动模块、ps2手柄信号接收模块、超声波测距模块、stm32单片机和lcd显示模块提供电源。
5.所述电机驱动模块使用tb6612fng芯片。
6.所述超声波测距模块包括sr04超声波传感器,sr04超声波传感器带有两个超声波探头,分别用作发射和接收超声波。
7.所述电源模块中使用tl431、lm393、lm2596s三种芯片供电。
8.所述手柄上设有加速键、减速键、方向按键、mode键、小车左旋键、小车右旋键、鸣笛键、左摇杆和右摇杆。
9.所述mode键用于红灯模式和绿灯模式的切换;红灯模式下左摇杆和右摇杆输出0x00~0xff之间的模拟值,且按下左摇杆和右摇杆时的按键值有效;
绿灯模式下左摇杆和右摇杆的模拟值无效,且按下左摇杆和右摇杆时的按键值无效,左摇杆对应方向按键,右摇杆对应功能按键,所述功能按键包括小车左旋键、小车右旋键和鸣笛键。
10.所述左摇杆对应前、后、左、右、左上、左下、右上、右下8个方向识别;所述右摇杆用于控制转向电机的左旋右旋。
11.相对于现有技术,本发明具有以下有益效果:为了解决传统stm32超声波测距教学枯燥乏味的问题,本发明提供了一种基于stm32超声波测距的教学小车,并在该教学小车内设置了控制系统,通过控制系统控制该教学小车的运动,并在教学小车运动的过程中同时完成stm32超声波测距。能够激发初学微型mcu的同学的学习热情,由学生动手实践完成实际项目案例掌握stm32微控制器的常用功能,达到良好的教学效果。本发明提供的基于stm32的超声波测距教学小车控制系统,具有操作简单、安全可靠、显示清晰、检测精度高、响应速度快,稳定性好等特点,通过引入smt32单片机对超声波信号进行计算处理,简化了硬件电路,并能将检测到的超声波信息通过计算处理得到距离,并通过液晶屏显示出来,提高了距离检测的精度和稳定性,教学小车伴随运动控制,作用显著、易懂。
附图说明
12.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
13.在附图中:图1是本发明提供的基于stm32的超声波测距教学小车控制系统的模块示意图;图2是本发明提供的基于stm32的超声波测距教学小车控制系统中的电机驱动模块的电路图,其中(a)为直流电机接口电路,(b)为转向电机接口电路,(c)为电机驱动芯片;图3是本发明提供的基于stm32的超声波测距教学小车控制系统中的电源模块的电路图,其中(a)为供电电路,(b)为3.3v供电电路,(c)为电压检测电路,(d)为3.3v/5v电平转换电路;图4是本发明提供的基于stm32的超声波测距教学小车控制系统中的ps2手柄信号接收模块中的接收器;图5是本发明提供的基于stm32的超声波测距教学小车控制系统中的ps2手柄信号接收模块的电路图,其中的数字

~

为接收器引脚,箭头表示与相应的接收器引脚连接;图6是本发明提供的基于stm32的超声波测距教学小车控制系统中的ps2手柄信号接收模块中的手柄侧面图;图7是本发明提供的基于stm32的超声波测距教学小车控制系统中的ps2手柄信号接收模块中的手柄正面图;图8是本发明提供的基于stm32的超声波测距教学小车控制系统中的超声波测距模块的电路图;图9是超声波测距模块发射和接收超声波的示意图,其中左侧为被测物体,右侧为超声波传感器;图10是本发明提供的基于stm32的超声波测距教学小车控制系统中的lcd显示模
块的电路图;图11是本发明提供的基于stm32的超声波测距教学小车控制系统中的stm32单片机的电路图,其中(a)为stm32核心板,(b)为启动按键电路,(c)为复位按键电路;图12是本发明提供的基于stm32的超声波测距教学小车控制系统的工作流程图;图13是stm32单片机发送触发信号的示意图;图14是超声波测距模块发送信号的示意图。
具体实施方式
14.有关本发明的前述及其他技术内容、特点与功效,在以下配合参考附图对实施例的详细说明中,将可清楚的呈现。以下实施例中所提到的结构内容,均是以说明书附图为参考。
15.下面将参照附图描述本发明的各示例性的实施例。
16.为了解决传统stm32超声波测距教学枯燥乏味的问题,开发设计了一种基于stm32超声波测距的教学小车,在该教学小车内设置控制系统,通过控制系统控制该教学小车运动,并在教学小车运动的过程中同时完成stm32超声波测距。该教学小车的控制系统主要由smt32微处理器、lcd显示器、电路板、接线端子等部分构成,具有操作简单、显示清晰、检测精度高、响应速度快,稳定性好等特点。
17.基于stm32超声波测距的教学小车适用于激发初学微型mcu的同学的学习热情。从基础项目开始,逐步完成多个功能项目,通过实际项目案例掌握stm32微控制器设计的编程方法与编程调试过程,掌握stm32微控制器最常用的功能,以实践操作与理论讲解相结合的方式,由学生动手实践完成每个项目,在完成过程中熟练应用stm32的功能库函数,以项目为载体组织教学,层层递进,由简入繁,实现“做中学、做中教”。
18.本发明提出一种操作简单、安全可靠、检测精度高、稳定度高的模块化的超声波测距的教学小车软硬件控制系统。采用超声波遇障碍物会被反射回来的物理特性,而sr04是利用超声波特性检测距离的传感器,其带有两个超声波探头,分别用作发射和接收超声波。其测量的范围是3~500cm。此外通过引入smt32单片机对输入信号进行计算处理,简化了硬件电路,并能将检测到的信息通过计算处理通过液晶屏显示出来,提高检测的精度和稳定性,教学小车伴随运动控制,程序控制作用显著、易懂。
19.如图1所示,本发明提供的基于stm32的超声波测距教学小车控制系统,包括电机驱动模块、电源模块、ps2手柄信号接收模块、超声波测距模块、stm32单片机和lcd显示模块。其中:电机驱动模块,用以驱动直流电机和转向电机完成对教学小车的加减速控制和转向控制;电源模块,为整个控制系统提供合适而又稳定的电源;ps2手柄信号接收模块,包括手柄和接收器,接收器接收从手柄传来的信号,并传递给stm32单片机;超声波测距模块,包括sr04超声波传感器,实现发射超声波与接收的功能,并把信号传递给stm32单片机,让其计算教学小车与障碍物之间的距离;stm32单片机,将从超声波测距模块获得的数据计算处理后,传递给lcd显示模块;
lcd显示模块,将测得的距离数据进行屏幕上的显示。
20.各模块具体介绍如下:如图2所示,电机驱动模块使用tb6612fng芯片,该芯片是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流mosfet

h桥结构,双通道电路输出,可同时驱动2个电机。tb6612fng芯片每通道输出最高1a的连续驱动电流,启动峰值电流达2a/3a(连续脉仲/单脉冲);4种电机控制模式:正转/反转/制动/停止;pwm支持频率高达100 khz;待机状态;片内低压检测电路与热停机保护电路;工作温度:

20~85℃;ssop24小型贴片封装。tb6612fng芯片是基于mosfet的h桥集成电路,效率远高于晶体管h桥驱动器。相比l293d每通道平均600 ma的驱动电流和1.2a的脉冲峰值电流,它的输出负载能力提高了一倍。相比l298n的热耗性和外围二极管续流电路,它无需外加散热片,外围电路简单,只需外接电源滤波电容就可以直接驱动电机,利于减小系统尺寸。对于pwm信号,高达100 khz的频率相比以上2款芯片的5 khz和40 khz也具有非常大的优势。
21.如图3所示,电源模块中供电电路使用tl431、lm393、lm2596s三种芯片组成,其中tl431达到恒压的作用,lm393是高增益,宽频带器件。而lm2596是降压型电源管理单片集成电路的开关电压调节器,能够输出3a的驱动电流,同时具有很好的线性和负载调节特性。固定输出版本有3.3v、5v、12v,可调版本可以输出小于37v的各种电压。
22.ps2手柄信号接收模块由手柄与接收器两部分组成,手柄主要负责发送按键信息。接通电源并打开手柄开关时,手柄与接收器自动配对连接,在未配对成功的状态下,接收器绿灯闪烁,手柄上的灯也会闪烁,配对成功后,接收器上绿灯常亮,手柄上灯也常亮,这时可以按mode键,选择手柄发送模式。
23.红灯模式:遥杆输出模拟值;绿灯模式:遥杆对应上面四个按键,只有四个极限方向对应。
24.接收器和stm32单片机相连,实现stm32单片机与手柄之间的通讯。
25.图4中方框中的标记为接收器正面,自右向左标记为1

9号引脚。图5表明了ps2手柄信号接收模块与接收器引脚的连接。接收器的引脚具体见表1。
26.表1:接收器引脚输出123456789di/datdo/cmdncgndvddcs/selclkncackdi/dat:信号流向,从手柄到stm32单片机,此信号是一个 8bit 的串行数据,同步传送于时钟的下降沿。信号的读取在时钟由高到低的变化过程中完成。
27.do/cmd:信号流向,从stm32单片机到手柄,此信号和 di 信号相对,信号是一个 8bit 的串行数据,同步传送于时钟的下降沿。nc:空端口;gnd:电源地;vdd:接收器工作电源,电源范围 3~5v;cs/sel:用于提供手柄触发信号。在通讯期间,处于低电平;clk:时钟信号,由stm32单片机发出,用于保持数据同步;ack:从手柄到stm32单片机的应答信号。此信号在每个 8bits 数据发送的最后一个周期变低并且 cs 信号一直保持低电平,如果 cs 信号不变低,约 60 微秒 stm32单片
机会试另一个外设。在编程时未使用ack端口。当stm32单片机想读手柄数据时,将会拉低cs线电平,并发出一个命令“0x01”;手柄会回复它的id“0x41=模拟绿灯,0x73=模拟红灯”;在手柄发送id的同时,stm32单片机将传送0x42,请求数据;随后手柄发送出0x5a,告诉stm32单片机“数据来了”。
28.表2:数据意义对照表顺序dodibit0、bit1、bit2、bit3、bit4、bit5、bit6、bit7、00x01idle 10x42id 2idle0x5a 3idledataselect、l3、r3、start、up、right、down、left4idledatal2、r2、l1、r1、







5idledatapss_rx(0x00=left、0xff=right)6idledatapss_ry(0x00=up、0xff=down)7idledatapss_lx(0x00=left、0xff=right)8idledatapss_ly(0x00=up、0xff=down)表3接收器与stm32单片机引脚对接接收器引脚功能脚stm32 1dipb15mos2dopb14mis4gndgndgnd5vddvccvcc6cspa8cs7clkpb13sck图6

7是手柄示意图,其中l2按键为加速键,r2按键为减速键,01按键为方向按键,02按键是mode键,即模式切换(默认为红灯模式),03按键是小车左旋,04按键是小车右旋,05按键是鸣笛,06是手柄开关,l3是左摇杆(需要同时按下l1按键才能生效,对应8个方向识别,即前、后、左、右、左上、左下、右上、右下,按下l3按键表示停止),r3是右摇杆(需要同时按下r1按键来控制舵机的左旋右旋)。
29.当有按键按下,对应位为“0”,其他位为“1”,例如当键“select”被按下时,data[3]=11111110b。
[0030]
红灯模式时:左摇杆和右摇杆发送模拟值,0x00~0xff之间,且摇杆按下的键值l3、r3有效;绿灯模式时:左摇杆和右摇杆的模拟值无效,推到极限时,对应发送up、right、down、left、







,按键l3、r3无效。
[0031]
图8为超声波测距模块的接线方式。图9是超声波测距模块发射和接收超声波的示意图,其中左侧为被测物体,右侧为超声波传感器。
[0032]
如图10所示,lcd显示模块包括液晶显示lcd,lcd采用带字库的12864lcd,采用串行方式收发数据,12864lcd的cs(j2)片选端、串行数据数据端sid(j3)、时钟端(j4)连接stm32单片机的pb13(j2)、pb14(j3)、pb15(j4)端口,lcd接收stm32发来的距离数据并实时
显示给用户。
[0033]
图11为stm32单片机控制电路以及启动按键和复位按键的电路图,打开电源,按下手柄上的复位按键(位于mode键左上方)即可自动运行超声波测距的功能。启动按键位于mode键右上方。
[0034]
图12给出了本发明的基于stm32的超声波测距教学小车控制系统的软件工作流程图。
[0035]
本发明的基于stm32的超声波测距教学小车控制系统,其工作过程为:先使用stm32单片机的数字引脚向trig脚输入至少10us的高电平信号(如图13所示),触发超声波测距模块的测距功能。
[0036]
测距功能触发后,超声波测距模块将自动发出 8 个 40khz 的超声波脉冲(如图14所示),并自动检测是否有信号返回,这一步由超声波测距模块内部自动完成。
[0037]
一旦检测到有回波信号则stm32单片机的echo引脚会输出高电平。高电平持续的时间就是超声波从发射到返回的时间。此时可以使用定时器获取高电平的时间,并计算出距被测物体的实际距离。
[0038]
公式:距离=高电平时间
×
声速/2,声速为340 m/s。
[0039]
而stm32单片机,作为整个教学小车的“大脑”,要将发送并采集的超声波传感器信号,根据控制算法(公式),计算前方障碍物的距离,并把计算值传给教学小车搭载的lcd显示模块,从而实现显示前方障碍物距离的功能。另外它也要处理通过ps2手柄信号接收模块收集的操作信号来驱动直流电机等等,完成对教学小车的控制。
[0040]
本发明的优点如下:1、本发明采用超声波传感器,达到了通过传感器测量实物距离的目的;2、采用stm32单片机,对超声波信号进行计算处理,并能实时清晰显示距离检测的结果,提高了检测的稳定性和可靠性;3、装置操作简单,节省了人工及物料费用,也减少了生产和维护成本。
[0041]
以上是结合具体实施方式对本发明所作的进一步详细说明,不能认定本发明具体实施仅局限于此;对于本发明所属及相关技术领域的技术人员来说,在基于本发明技术方案思路前提下,所作的拓展以及操作方法、数据的替换,都应当落在本发明保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜