基于Proteus和Arduino的嵌入式系统虚拟实验仿真平台设计*
2021-09-08李兰英刘书赫汪明曌单黎潇
肖 亮,李兰英,刘书赫,汪明曌,单黎潇
(哈尔滨理工大学 计算机科学与技术学院,黑龙江 哈尔滨 150080)
嵌入式系统硬件虚拟仿真实验平台不仅可以满足新冠肺炎疫情期间线上实践教学的需求,也可满足在没有硬件实验平台的条件下,嵌入式技术的自主学习。因此,开展嵌入式硬件虚拟仿真技术研究,设计与实现硬件实验虚拟仿真平台的意义是不言而喻的。
本文基于英国Lab Center Electronics公司的EDA工具软件Proteus,通过二次开发,首先完成嵌入式系统多种常用外设模块的仿真模型设计,并将其集成到Proteus的元件库中。在此基础上,设计和实现了一个满足基于Arduino的嵌入式系统的实验(践)虚拟仿真平台,并基于该平台开发了相应的实验例程和系统案例,以满足嵌入式系统硬件技术的线上教学、培训和无真实实验环境下的自主学习的需求,同时还可降低嵌入式人才培养的门槛。
基于Arduino的嵌入式实验平台的设计理念,源于嵌入式系统硬件设计越来越趋向于模块化,即在核心板或最小系统的基础上,外扩包括各种传感器、人机交互、输入输出设备等多种模块。选择Arduino板作为核心控制器,就是由于开源创客平台Arduino屏蔽了硬件的复杂性,具有平台资源丰富、成本低、支持的模块众多、开发简单、上手快等优势[1]。
Proteus软件虽然功能强大,但Proteus的电路计算并不是十分的精确,只能进行粗略的计算[2],元件库的更新状况存在落后的情况,很多器件都没有同步更新,故在实验时经常需要手动搭载所需器件,并且对于初学者来说难度更大,而在搭建不同嵌入式系统时,需要多种外设模块,故需要包括对常用外设模块进行抽象、封装、扩充元件库等二次开发,才能满足嵌入式技术的虚拟仿真学习需求。
1 虚拟仿真实验平台总体设计
本文以最常用的Arduino Mega 2560板最小系统为核心,结合Proteus提供的器件库中封装的多种元器件和自主设计的仿真电路模块,设计与实现了一个虚拟仿真实验平台,具体包括直流电机、步进电机和舵机,按键、显示器、温湿度传感器、超声测距电路、三色灯、蜂鸣器、光敏电阻和电位器等电路。
基于该平台可开设多种类型的实验,只需连接实验所需相应的模块或电路即可。目前已完成的实验包括以下几类:
(1)人机界面实验。包括按键、键盘输入、液晶显示、八段数码管显示等实验,可完成参数输入、数字、字符显示等功能。
(2)电机实验。包括直流电机控制与测速实验、步进电机控制实验、舵机控制实验等。
(3)呼吸灯。可实现红绿蓝三色灯的渐变呼吸控制,可模拟景观灯的控制场景。
(4)光强检测。通过光敏电阻APDS-9002可对光强进行测量,可模拟实现窗帘自动控制等智能家居应用场景。
(5)温湿度检测。通过元件库中封装好的温湿度传感器DHT11,可实现周围环境温湿度的检测与显示。
(6)倒车雷达。利用自主设计的超声测距仿真模块,模拟超声测距模块SR04的功能,实现倒车雷达的模拟应用系统。
2 仿真实验平台硬件设计
仿真实验平台整体布局如图1所示。本节给出了所设计的几个关键模块的设计原理图。
图1 虚拟仿真实验平台整体布局
2.1 显示电路
显示电路包括液晶和数码管两部分,为了尽可能节省2560的引脚资源,液晶显示电路以器件LM061L为核心,结合74164串转并器件及与门、非门等门电路,设计与实现了一个串行接口的液晶显示器。所需占用的Arduino数字接口由10个降到3个,其电路原理图如图2所示。
图2 液晶显示电路原理图
2.2 按键电路
按键电路有两种类型,电路如图3所示。右边是简单的4个按键原理图,占用了Arduino的4个数字接口;左边是一个4*4的矩阵键盘;共占用Arduino的8个数字接口。
图3 按键电路原理图
2.3 超声测距电路
SR04是目前常用的超声测距模块,广泛应用于需要测距的多种领域[3]。由于元件库中没有封装好的SR04模块,图4的电路采用555定时器、LM358运放、MPS6531三极管和RV2电位器等模拟实现了SR04的工作原理,其中IO2模拟SR04的TRIG引脚,IO3模拟ECHO引脚。
图4 超声测距电路原理图
2.4 电机电路
图5给出了步进电机、直流电机、蜂鸣器及驱动电路。
图5 电机与驱动电路原理图
其他电路包括DHT11、光敏电阻、三色灯、电位器、舵机等,可直接调用元件库中的器件。
3 结束语
新冠肺炎疫情期间的教学实践表明:基于Proteus和Arduino的虚拟实验仿真平台,圆满地支撑了嵌入式课程硬件相关实验,取得了很好的效果。同时也解决了学生没有硬件实验环境下,自主学习硬件接口技术的难题,降低了嵌入式技术的学习门槛。另外也由于Proteus平台的引入,系统运行结果可直接演示,使得实验结果更加直观、形象,激发了学生的学习兴趣。