您好, 访客   登录/注册

电工电子教学仿真软件开发实践

来源:用户上传      作者:周坚

  [摘           要]  通过对仿真教学的研究,发现教学与设计对仿真要求的不同,自行开发教学仿真软件。通过对教学仿真软件需求的分析,以所开发软件为例,进行模块划分、功能分析,介绍开发过程、开发工具、开发方法。
  [关    键   词]  仿真;教学;visual studio;电路模块
  [中图分类号]  G712                 [文献标志码]  A              [文章编号]  2096-0603(2019)24-0016-02
   利用信息技术创新教学的模式与方法是推动信息技术与教育教学深度融合的重要途径。仿真是电类专业重要的工程设计与开发方法,工程开发工作中常用Multisim、Tina等专业仿真软件也被用于教学,但教学工作不同于开发工作,这些软件虽然功能强大但并不完全适用于教学。通过对教学需求进行分析,开发基于电路模块的教学仿真软件。以下通过对实际案例的分析来说明一般仿真软件与教学仿真软件的区别以及教学仿真软件的开发方法。
   一、教学仿真软件与仿真软件、教学课件的区别
   为便于叙述,以下将Multisim、Tina等專业仿真软件简称为“仿真软件”。
   (一)目的不同
   仿真的目的是探索并用其验证电路。这就要求仿真软件要仿得“真”,元器件模型的数学描述必须尽可能与真实的元器件保持一致;仿真软件除提供示波器、万用表等常用仪表外,还提供功率表、波特图仪等各种专业仪表。
   教学仿真的目的是学习知识,它所要“仿”的电路都是经过实践验证是正确的电路,它的“仿”是指模仿这个电路的真实工作过程;教学仿真对专业仪表的要求远低于仿真软件,但却需要提供热源、光源、遮光罩、磁场等非电仿真要素。
   (二)使用者不同
   仿真软件的使用者是有经验的工程师、学习者,他们在实际工作中可以熟练使用万用表、示波器、信号发生器等各种仪器,对仿真软件中几乎与实物一致的仪表界面、测量方法会感觉非常熟悉、非常“真”。教学仿真软件的使用对象通常是初学者,使用中更注重灯亮、数字显示、波形等更为直观的现象。
   (三)开发难度不同
   仿真软件需要尽可能正确地“模仿”真实的器件,这需要对电子器件有深入的研究、建立强大的数学模型;仿真软件的各种元器件可以任意组合,需要复杂的绘图功能、精密的算法,防止各种逻辑错误。教学仿真软件是针对成熟电路的仿真,不论是电路还是电路中的参数都是经过验证是正确的;对其功能的要求也限于教科书上的公式;电路的搭建基于电路模块,连线数量及对线路连接分析的复杂程度远低于基于电子器件仿真软件。
   (四)教学仿真软件与教学课件的区别
   教学课件是预先录制的,即便加上一些简单的交互,也只是取若干个预设的点,没有数学工具对工作过程的算法描述。教学仿真软件通过调节电位器面板、单击按钮、拔动开关等操作,软件中波形、数值、显示效果等随之发生变化,而且与真实电路的工作过程相符。
   二、教学仿真软件的开发过程
   开发教学仿真软件首先要选择适当的电路作为开发对象,其次要对这些电路进行分析,分解出电路模块,分析出哪些知识点是需要进行呈现的,最后用代码和工具将其呈现出来。
   (一)选择经过验证的电路
   教学仿真软件所选择的电路必须是经过实践验证的,是正确的,要根据实物调试后记录的数据及相应的理论知识来设计软件。当然,也可以选择公认的、经典的电路,如运算放大器电路、555振荡电路等,这就不需要做成实物并验证。
   (二)符合学习者当前学习阶段的要求
   教学仿真也是仿真的一种,应建立在电子、电工学模型的基础上,但它又不同于仿真软件,它只需要基于中高职教材中的知识。例如,三极管放大电路,专业仿真软件需要设置或者使用默认晶体管的数十个参数,而教学仿真软件只需要用到β值等很少的几个参数即可,其他如ICEO、ICBO参数不需要考虑。
   三、教学仿真软件的开发实践
   教学仿真软件的开发需要选择合适的开发工具,对开发过程进行科学的分析,然后才能进行开发工作,以下通过一些实例来描述开发过程。
   (一)开发工具
   教学仿真软件需要综合利用图形、图像、视频、动画、数据处理等元素,其中的核心是数据处理,要有运算能力,按电路的数学模型来获得不同的结果。开发(RAD)工具Visual Studio是较好的选择,编程语言选择C#,也可以使用Visual Basic、C++等。
   (二)开发实例
   教学仿真软件选择带有模块化设计思想的电路作为开发对象,这类电路将各部分功能模块化,模块功能相对独立,各模块连接关系清晰,下面以若干例子来讲解开发过程。
   1.光控流水灯教学仿真软件
   光控流水灯电路分成以下一些功能模块:电源模块、光敏电阻检测模块、可控振荡电路模块、CD4017十进制计数器模块。
   (1)电源模块
   使用7805作为稳压集成电路,在输入端接入合适的电源后,提供5V电源给后级电路使用。此模块设计了两个功能:①按数据手册,7805的输入电压在低于8V时不能保证其输出电压的稳定。为此,外部供电电源高于8V时,模块输出5V电源,输入电压低于8V时,输出电压按0.6乘以输入值来计算。②7805的输入电压最大为35V,超过该值时7805损坏,编程呈现7805损坏的图像并令输出电压为0V。    (2)光敏电阻检测模块
   这个模块使用运放制作的比较器来实现,光敏电阻与电位器串联,其连接点作为比较器的同相端输入,运放的反相端固定为2.5V。预设光敏电阻的阻值为20K,此阻值使无光照无遮挡时模块输出低电平。使用遮光罩(一个黑色的圆形图案)移向光敏电阻上方,电阻值增加,同相端电压上升,超过2.5V,比较器输出高电平。调出电位器调节面板,调整阻值,可以调节光控灵敏度。
   本模块中用到电位器调整界面,运行时通过鼠标或者在触摸屏上用手指来调整阻值大小,用label控件,显示同相端和反相端的电压值;用picbox控件显示的亮/灭状态的发光二极管图片表示输出端的状态变化。
   (3)可控振荡电路模块
   用555电路制作的振荡电路其第4脚为控制端,当其分别为高/低电平时,振荡电路工作/不工作。可调节电路中的电位器改变输出频率,设计了panel制作的示波器面板,电路工作时,示波面板上显示波形图及高、低电平持续时间等参数。
   (4)CD4017流水灯模块
   CD4017在输入端CLK脉冲的作用下,其输出端Q0~Q9所接发光二极管依次点亮。在发光二极管图案上方放置一个panel,在panel中放置10个picbox,通过编程来判断Q0~Q9的状态,根据这些状态值分別为这些picbox调入亮/灭LED的图案,即可观察LED状态。这个功能模块接到前一级可控振荡电路的输出端,当振荡电路有输出时,LED灯依次流动,调整振荡频率时,灯流动的速度也随之发生变化。此外,仿真软件中还设计了单脉冲发生器电路,通过单击按钮生成单脉冲,让CD4017输出端的LED灯依次点亮。这个功能可让学生观察CD4017的CLK端究竟是上升沿起作用还是下降沿起作用。
   综上所述,教学仿真软件的各个功能模块既可以单独使用以测试其功能,又可以将它们连起来形成一个整体,获得完整的功能体验。其中包括很多的可操作对象,如稳压电源的输出电压、测试按钮、比较器预设值、振荡电路频率、拨动开关等,可操作性很强。各种操作通过灯的亮、暗变化,波形的改变,数据的显示等直观地表达出来。这样的教学仿真软件,既便于教师安排相应的知识点讲解,也便于学生自主学习。
   2.音乐蜡烛教学仿真软件
   音乐蜡烛是可以用打火机“点燃”用嘴吹灭的电子蜡烛,点燃的蜡烛会唱生日快乐歌,同时有LED随歌声摇曳发光,十分逼真。电路分为热敏电阻检测、声音检测、比较器电路、RS触发器、音乐集成电路等部分。仿真软件中,热敏电阻在热源(打火机图形)接近时阻值不断下降,音乐电路可以在满足工作条件时显示动态变化的扬声器图标并播放“生日快乐”歌。电路功能模块中RS触发器、音乐集成电路等既可以与其他电路连成一个整体也可单个模块进行测试,软件提供高电平、低电平等测试功能模块,即可分别测试这些功能模块的工作过程,理解其工作原理。
   3.电量检测电路
   电量检测是利用一种新型的电量指示管来显示可充电电池供电量的多少。这里采用电压测量法,使用LM317可调稳压电路模拟电池电量的变化、TL431基准源电路、恒流电路为核心构成的测试基准电压生成电路、比较器电路、采样电路、电量管电路等部分组成。其中LM317、恒流电路、基准生成电路中均包括电位器,可以分别用作电池端电压模拟、恒流电流大小调节,基准电压调节等功能,有显示仪表,可以显示电压值、电流值、基准电压值等。
   (三)RAD开发工具
   RAD工具的好处在于可视化的编辑与操作,通过简单的拖、放控件可设计出所需要的界面。然后通过编程实现各个控件之间的逻辑关联,即可完成开发工作。以目前所开发的教学仿真软件为例,它们所需要的控件基本上就是“label”“toolstrip”“picbox”“panel”等几种类型。label用于显示各类提示、运算的结果等,toolstrip用于设计菜单,picbox用于存放各类图片,panel用作容器,可以在其中放置多个picbox、label等其他控件,组成复合图案。通过设置控制的visiable属性即可令其显示出来或者隐去,也可以利用其left、Top、width、height等参数灵活地实现尺寸、位置的变化。
   四、仿真教学软件开发的问题
   仿真教学软件对开发者的要求较高,开发者必须具有专业电子知识,这样才能选择合适的电路来进行开发;开发者还必须是优秀的教师,这样才能将电路分成合适的模块,并且安排各模块的功能及需要测试的功能,安排好仿真内容。仿真教学软件还需要编程,不论是使用C#、VB或者其他编程语言,要比PPT课件的制作要难一些。
   参考文献:
   [1]胡小勇,朱龙.信息化教学模式与方法创新:趋势与方向[J].电化教育研究,2016,6(278):12-18.
   [2]刘斌.信息化教学有效性的理论思考:对信息化教学本质的再认识[J].现代教育技术,2013,3(23):26-30.
   [3][美]马克·米凯利斯,埃里克·利珀特.C#6.0本质论[M].邮电出版社,2017.
  ◎编辑 武生智
转载注明来源:https://www.xzbu.com/1/view-15043781.htm