基于Proteus的温控超声波测距半物理仿真系统设计*
摘要:针对单片机开发学习过程中实物硬件短缺或易损,以及仿真软件库中缺少元器件模型,实验现象不明显等问题,提出了基于Proteus的半物理电路仿真的设想和方法,即由PC机上的Proteus仿真软件作为上位机,实物硬件电路作为下位机,使其互相通讯完成预期的功能。并设计了基于Proteus的温控超声波测距半物理仿真系统,用以阐述具体的实现过程。设计过程中发现实物硬件与Proteus仿真电路之间可通过RS-232-C异步串行接口进行通信。通过进一步实验,发现传统的USB串行总线式接口也可实现通信功能。实验表明,此方法能降低开发成本,缩短开发周期,提高软硬件的兼容性,为后续单片机学习与开发提供了新的参考方向和思路。
本文引用地址://www.cazqn.com/article/202208/437685.htm关键词:超声波测距;半物理仿真;Proteus;RS-232-C;单片机
*基金项目:教育部产学合作协同育人项目(202102198008):基于建模与半物理仿真的电工电子系列课程实践教学资源开发。
0 引言
目前,在我国无论是开展单片机教学活动、单片机竞赛、嵌入式开发还是因为个人兴趣学习单片机,大多使用市面上已经集成好了的单片机开发板或试验箱进行实验学习,其硬件电路固定,存在限制学习人员进行一些具有创新想法的实验研究情况,且学习过程中会出现元器件短缺、较贵或易损坏等问题。随着计算机科学技术的日益发展,各行各业各领域内都出现了仿真技术。仿真技术的出现和发展极大的节省了开发成本,缩短了开发周期 [1]。Proteus 正是在这种大环境下产生并快速发展的仿真软件 [2]。但 Proteus 仿真同样存在一定问题,例如有的元器件模型软件库里没有,有的元器件使用麻烦且效果不明显等。
经过实验发现使用基于 Proteus 的半物理电路仿真技术可以解决上述问题 , 所谓基于 Proteus 的半物理电路仿真,又称基于 Proteus 的硬件在回路仿真 [3],就是 指通过 PC 机的串口或并口使 Proteus 搭建的虚拟仿真电路和实际硬件电路进行通讯的联合仿真 [4]。此技术的最大特点就是将软件仿真技术与硬件系统联合起来,简化了设计过程。可以有效的加快系统开发的速度和质量,缩短研发周期,同时可以提高软硬件的兼容性 [5]。
综上所述,本文下面将以基于 Proteus 的温控超声波测距半物理仿真系统为例,详细说明基于 Proteus 的半物理电路仿真的实现过程。
1 基本原理和设计方案
本文设计了一种基于 Proteus 的温控超声波测距半物理仿真系统,采用超声波脉冲回波法对目标物体进行测量分析,系统整体框架结构如图 1 所示,整个系统以 STC89C516 为控制核心,连接有 HC-SR04 超声波模块,LCD1602 液晶显示模块,无源蜂鸣器,DS18B20 温度测量模块以及发光二极管等外设。本系统分为由实物硬件电路组成的下位机和由 Proteus 虚拟仿真电路组成的上位机,两部分通过 RS-232-C 异步串行接口相连。虽然 51 系列单片机系统内部封装有通用异步串行收发器,可以实现单片机系统与外界的串口通迅 [6]。但 TTL 串口电平标准为 +5 V,0 V,RS-232-C 的串口电平标 准为(-3 ~ -15)V,(+3 ~ +15)V[7]。因此想要使用RS-232-C 异步串行接口将实物与仿真连接进行通信,电路还需搭载 MAX232 电平转换芯片。具体连接过程为下位机通过 RS-232-C 异步串行接口与 PC 机接口相连,上位机中的 COMPIM 虚拟接口编号设置为与下位机相连的 PC 机的接口编号。整体系统通过上位机与下位机之间的相互通信,实现温度检测、超声波测距及警报功能。
2 电路设计
2.1 下位机电路设计
由于 Proteus 中超声波模块和蜂鸣器模块,与实物使用存在一定差别,为使实验便于操作,实验结果更加直观,设计如图 2 所示的下位机电路,该电路搭载有电源模块、RS-232-C 异步串行接口、蜂鸣器模块、单片机控制模块、DS18B20 温度传感器、MAX232 电平转换模块以及 HC-SR04 超声波测距模块。可实现目标距离和环境温度的测量,将测量到的信息上传给上位机进行数据处理,并将处理好的数据发回实物单片机上,控制警报系统。
2.2 上位机电路设计
在 Proteus 中搭建如图 3 所示的上位机电路,该部分由 LCD1602 液晶显示模块、STC89C516 控制模块、MAX232 电 平转换模块、RS-232-C 模块以及 LED 状态指示模块组成。由于上位机与下位机通过 RS-232-C 异步串行接口相连,上位机电路的晶振频率应与实物电路的晶振频率相同为 12 MHz。当下位机将测得的数据传输给上位机时,上位机开始处理数据,并控制 LCD1602 实时显示目标距离。如果目标距离小于20 cm, 红色指示灯亮起,并将处理好的数据传输给下位机,使下位机发出警报,否则,绿灯亮起。
图3 上位机电路图
3 系统软件设计
3.1 超声波测距模块原理
本实验采用型号为 HC-SR04 的超声波测距模块,该模块集成有超声波发射器、接收器与控制电路 , 具有性能高,精度高,盲区小等优点 [8]。其工作时序图如图 4 所示。
当单片机 I/O 口发送一个至少 10 µs 以上的高 电平至该模块的 Trig 控制信号输入引脚时,超声波测距模块内自动发出 8 个方波信号,其周期为 40 kHz,同时检测是否有返回信号。如果检测到有信号返回,Echo 回响信号输出引脚输出高电平 [9]。所测的距离与回响信号的脉冲宽度成正比,因此通过计算高电平持续的时间可以计算目标距离。公式如(1)所示
3.2 DS18B20温度补偿模块
由于环境温度对声速影响较大,声波在大气中传播时,声速随环境温度升高而增大,所以该系统在实际应用中,需要使用温度补偿的方式来提高测距的精度。本系统采用 DS18B20 测温模块检测环境温度。 DS18B20 是一种单总线数字温度传感器,主要由配置寄存器、64 位 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL 四个部分组成 [10]。具有体积小,硬件开销低,抗干扰能力强,精度高的特点 [11]。系统搭载 DS18B20 模块后可实时计算当前环境温度下的声速,以减小测量目标距离时的误差。具体公式如(2)所示
3.3 下位机软件设计
整体系统采用上位机与下位机分别编程的方法,开发环境为 Keil uVision5,Proteus8.6 版本。下位机电路主程序流程图如图 5 所示,系统上电后,先进行单片机,定时器初始化操作,然后启动超声波模块和 DS18B20 温度模块开始测量目标距离及环境温度,处理测量数据,将数据发送给上位机。其中超声波模块程序流程图如图 6 所示,该模块上电后先进行初始化操作,随后 Trig 引脚发出高电平,当模块接收到回波信号时,Echo 引脚发出回响高电平信号,系统开始计算目标距离。如果目标距离小于 20 cm, 下位机电路中蜂鸣器响起。
3.4 上位机软件设计
上位机电路主程序流程图如图 7 所示,系统上电后进行初始化操作,然后接收下位机发送的数据,进行处理并将目标距离实时显示在 LCD1602 上,当目标距离小于 20 cm 时红色 LED 亮起,反之绿色 LED 亮起。要使上位机和下位机之间可以相互通信,需设置相同的波特率,本实验波特率为 4 800 bit/s,定时器工作模式为 16 位。
4 实验及结果分析
基于 Proteus 的温控超声波测距半物理仿真系统搭建好后如图 8 所示,连接好 RS-232-C 异步串行接口后,将上位机与下位机上电启动系统。以 14 cm 为目标初始距离,每次增加 20 cm, 测量 6 组数据,到 114 cm 为止。记录测量数据,与实际距离进行比对分析,数据如表 1 所示。
从表 1 中可以看出,随着目标距离不断增大,测量的误差也在不断增大,超声波测距的误差来源有很多,例如测量角度,温度,代码算法,电路等等。本文重点为介绍基于 Proteus 的半物理电路仿真技术,且碍于篇幅限制,对误差不做过多的分析和探讨。
5 结语
本文设计了基于 Proteus 的温控超声波测距半物理仿真系统,介绍了基于 Proteus 的半物理电路仿真技术的实现过程,为后续单片机开发学习过程中实物硬件短缺或易损,以及仿真软件库中缺少元器件模型,实验现象不明显等问题提供了一个切实可行的解决方案。经实验证明,该技术简化了设计的过程,提了高软硬件的兼容性,节约了成本,提高了开发效率,为之后的学习、开发提供了新思路。由此得出,本设计具有一定的参考和推广价值。同时,实验的过程中发现传统 USB 串行总线式接口也可实现实物电路与虚拟仿真电路之间的通信。受限于篇幅和本人水平,该半物理仿真系统还存在数据误差等问题,后续可通过电路滤波,改进算法或使用更为精密的超声波模块进行改进。
参考文献:
[1] 李承隆.电子产品热设计及热仿真技术应用的研究[D].成都:电子科技大学,2010.
[2] 周灵彬,张靖武.PROTEUS的单片机教学与应用仿真[J].单片机与嵌入式系统应用,2008(01):76-79.
[3] 童小利,金秋春,崔建峰.基于Proteus的半物理电路仿真[J].机床与液压,2011,39(15):119-122.
[4] 刘邹,丁青青.基于Proteus的硬件在回路仿真[J].计算机仿真,2009,26(02):312-314,328.
[5] 张劲松.基于Proteus的硬件在回路仿真[J].科技信息,2013,(25):36-37.
[6] 侯友轩,裴福俊,崔平远,等.一种基于传感器触发的组合导航系统平台[J].计算机测量与控制,2010,18(08):1844-1846.
[7] 胡训智.基于GPRS的远程医疗数据传输及管理系统设计[D].呼和浩特:内蒙古大学,2011.
[8] 王廷毓,仝玉强.一种六足仿生机器人的避障和防跌落功能设计[J].电子世界,2018(08):148-149.
[9] 谢翔.教育机器人智能搬运优化设计[J].科技展望,2014(18):212-214.
[10] 曹美霞.单片机与数字温度传感器DS18B20的接口设计[J].电子制作,2014(11):9-10.
[11] 柳春林.基于ONENET云平台的智能鱼缸研究报告[J].科学技术创新,2019(04):53-55.
(注:本文转载自威廉希尔 官网app 杂志2022年8月期)
评论