基于LED点阵的空间电磁波演示装置的开发
2021-05-11杨琳杨化俊林成新
杨琳,杨化俊,林成新
(商洛学院电子信息与电气工程学院,陕西商洛 726000)
电磁场与电磁波课是高校电子信息类专业的专业课,主要研究电磁波的基本规律、特性、分析方法和工程应用,对电子类专业人才的培养至关重要[1-2]。随着这门课程及相关技术研究与应用的扩大,相关人才也越来越受市场欢迎。但该课程的复杂性和抽象性对学习者造成了一定困扰,传统的教学方式无法引起学生的学习兴趣。2013年以来,课题组开发了电磁场与电磁波仿真软件[3-6],开展电磁场与电磁波课计算机辅助教学,取得良好的效果,但因电脑软件的仿真具有一定的不完整性,加之技术的发展,需对原软件及设备进行升级。近年来,LED点阵显示技术越来越成熟[7-9],研究者们根据不同的主控芯片研究出不同的LED光立方。康志强[10]、陈思源[11]分别设计了以FPGA为控制核心,三极管为层驱动,锁存器74HC574为列驱动的 LED光立方电路方案;李行杰等[12]设计了以AVR单片机作为控制核心的光立方系统;鲁宛生等[13]设计了一种梦幻光3D显示器;吴永德[14]、徐志颖[15]分别设计了以STC15F2K60S2单片机为控制核心的LED电路方案;温才[16]、王欣[17]分别设计了晶格结构和Arduino下的光立方。光立方技术的飞速发展,使其在很多场景中得到应用[18-20]。基于此,本文尝试使用单片机控制LED点阵光立方,在光立方中显示电磁波的空间结构。单片机作为控制核心的3D光立方显示器,对单片机算法进行合理的处理,控制光立方显示电磁理论图案。该系统可以作为一种任意知识的动画演示系统,可以广泛应用于复杂理论课程的演示。
1 设计方案
本装置系统采用处理速度较快、价格成本合适且有大容量程序存储器的STC12C5A60S2芯片作为主控制芯片,ULN2803作为驱动芯片,选择雾状散光磨砂LED(更容易看到光点,效果更佳)作为基础原件。如图1所示,系统由控制核心单片机、控制模块、LED光立方、电源模块、LCD显示模块、语音解说模块六部分组成。其工作程序和基本内容是:打开电源,系统进行初始化,等待选择播放模式,随后可进入音频模式,音频伴随着动态效果的图片和文字。
图1 系统硬件框图
2 系统硬件电路的设计
2.1 整体电路
整体电路共有16层,单层电路设计如图2所示。制作光立方的过程中,为了更好地控制4 096个LED灯,使其能在达到预期的动画效果,采用了32个74HC573锁存器,来扩展I/O口。D0控制Q0-Q7,同理的D1以此类推。
图2 单层LED局部电路
2.2 行扫描驱动电路
本装置采用APM4953作为扫描点阵单元板的行驱动,集成了两片P沟道的增强型场效应管的一个芯片,它在阵列扫描中起到了重要作用,见图3。
图3 APM4953行扫描驱动
2.3 电源电路和滤波电路
本装置使用直流电源。首先确定驱动电源是否适应直流电源的输入,以及电压值,直接将直流电源的正负两极接在驱动电源的输入电压接口,输出时,输出正极对LED光源的正极接口,负极接负极。滤波电路的最大作用就是要分辨出电压中的交流成分将其过滤,最大限度的保留直流部分,使波形尽可能的平滑。
2.4 按键电路
单片机组成的小系统中,由人工控制的内容,即所谓的人机互动过程,最常采用的方法是按键。本系统按键电路见图4。按键串接在电路中,通过触点的接触和断开来控制电路的通断。
图4 按键电路
2.5 上电指示灯电路
上电指示灯电路见图5。指示灯的作用是为了表明电路状态,与硬件并联或者连接同步辅助接点。
图5 上电指示灯电路
2.6 语音功放模块电路
语音功放模块主要在光立方显示过程中对显示的效果图进行同步音频解说。通过选择和测试最终选取LM386芯片作为功放芯片。此芯片的供应电源比较简单,可直接选用电池供应电源,并且,可通过芯片引脚位间串联电容。在没有运行时,对于电流的消耗比较友好,且失真低。光立方动画显示选择完成后,同时调用LED动画展示和与其对应的语音播放模块程序,使其能够实现同步。
2.7 控制元件模块电路
本光立方的控制模式分为按键控制、蓝牙控制、红外控制和上位机软件控制四种。每种方式都有其优势,多种方式并存,使用更为方便。为满足上述多种控制方式共存的需要最终选用ULN2803芯片作为控制元件,驱动能力为500 MA50 V。光立方的ULN2008还有一个优势就是它的一个芯片可等效多个三极管,体积小为设计留出了一定的空间。芯片引脚图见图6,此芯片1至8脚输入,18至11脚输出,逻辑图见图7。
图6 ULN2803引脚图
图7 ULN2803逻辑图
2.8 I/O电路设计
经过分析,本装置最终选用STC12C5A60S2单片机做为主控芯片,用单片机中的P0、P2、P3口对LED进行控制。I/O口分配如图8所示。
图8 I/O分配图
P0口作为输出端,当数据传输到74HC573锁存器的输入端时,74HC573锁存器输出端分别控制一排LED阳极引脚,对LED灯亮灭进行控制。
P2口作为数据输出端,单片机输出数据控制端,实现锁存器的数据输出和锁存,就可以在特定的时间内将数据传到光立方体的一行或者多行。
单片机的内部输出控制数据作为P3口的数据输出端,传输到ULN2803的输入端,可以控制灯层。虽然通过ULN2803的数据没有变化,但前后电流差别很大,此时电流会增加很多。
2.9 硬件的制作
焊接过程见图9,首先进行16×16的单层焊接,共完成16层,然后将灯层依次装到主板上,最终形成一个LED灯箱,也就完成了本次设计的硬件载体LED光立方。
图9 装置焊接过程
3 系统软件设计
3.1 软件设计总体思路
在这种光立方体设计中,通过编写程序控制P0、P2和P3端口的每一位电平来打开和关闭每个LED灯。用For或while循环、if语句和参数函数进行编写,尽量使用简单的语句达到最佳的效果。为了提高演示效果,吸引观看者的注意力,本装置适应多种模式的演示。既可以实现简单的静态演示,又满足复杂的动态演示需求。本装置根据显示的动态图的特点进行分类,可以实现缩放、旋转本装置等功能,并为此建立多个代码数组。程序可以通过算法从原始的数据中直接生成。
系统程序包括初始化,按键扫描和显示程序3个子模块。如图10所示,初始化过程包括光立方体的初始化,中断优先级配置和定时器配置。为了方便多次调试,可以将每个子程序写入一个完整的程序中,该程序可以独立执行以进行判断,然后可以在编译正确后将其下载到单片机进行验证。
图10 程序设计框图
3.2 显示程序设计
显示程序主要创建了一些动画数组,运用动态扫描进行显示,将一张完整的图片分几步展示,并且一次只显示一张图片,图片切换所需时间非常短,不影响正常观看。
光学立方体动画显示流程图如图11所示,每幅完整图像的显示延迟一段时间后,数据就要进行一次刷新,有新的数据产生,从而显示出不同的画面。每张不同画面切换间隔时间会非常短,不影响动画的流畅性。
图11 动画显示流程图
3.3 上位机时序设计
如图12、图13所示,可在上位机上遂帧进行点操作、线操作、平面操作、立体操作,并通过对x,y,z坐标赋值实现起始和终止操作。
图12 光立方上位机的画面时序操作
图13 光立方上位机图形取模
上位机可将预想图形直接转化为STM32可写入的hex文件。同时,上位机还可以对按键的操作、运行的速度、音频的检测进行调控。上位机按键功能参数配置见图14。
图14 光立方上位机按键功能参数设置界面
4 功能演示
4.1 均匀平面电磁波在电磁波中的传播
通过仿真,可以模拟电磁波在理想介质中传播的动态效果。假设电场只有x分量,磁场只有y分量,均匀平面电磁波在理想介质中传播。那么,其物理表达式如式(1)和式(2):
电磁波在理想介质中的传播有三个特征:第一,电场和磁场的振幅不会衰减。第二,电场的相位和磁场的相位相同,没有相位差。第三,电场和磁场与传播方向呈右旋关系。
可见电场和磁场两者是正交的,电场和磁场同相,且没有衰减,整体波形沿同一方向移动,与理论分析没有出入,演示效果如图15所示。
图15 均匀平面电磁波在光立方中传播效果
4.2 极化效果演示
本文通过圆极化理论的演示验证本装置的显示效果,验证结果见图16。圆极化波满足的条件是 Exm=Eym=E0,且,那么:
图16 圆极化效果
电场强度矢量的模为:
5 结论
本文通过主控单片机控制16阶光立方中4 096个LED灯的闪亮状态来模拟电磁波在不同介质中传播、极化、反射等复杂理论的动态显示效果,使不易理解的公式、文字和静态图片以动态模型来展示,为电磁理论课程的教学提供新的手段。同时,本装置还可模拟量子力学、热学、化学等学科理论知识的动态图案,具有一定的推广应用意义。