楊琳,楊化俊,林成新
(商洛學院電子信息與電氣工程學院,陜西商洛 726000)
電磁場與電磁波課是高校電子信息類專業(yè)的專業(yè)課,主要研究電磁波的基本規(guī)律、特性、分析方法和工程應用,對電子類專業(yè)人才的培養(yǎng)至關重要[1-2]。隨著這門課程及相關技術研究與應用的擴大,相關人才也越來越受市場歡迎。但該課程的復雜性和抽象性對學習者造成了一定困擾,傳統(tǒng)的教學方式無法引起學生的學習興趣。2013年以來,課題組開發(fā)了電磁場與電磁波仿真軟件[3-6],開展電磁場與電磁波課計算機輔助教學,取得良好的效果,但因電腦軟件的仿真具有一定的不完整性,加之技術的發(fā)展,需對原軟件及設備進行升級。近年來,LED點陣顯示技術越來越成熟[7-9],研究者們根據不同的主控芯片研究出不同的LED光立方??抵緩奫10]、陳思源[11]分別設計了以FPGA為控制核心,三極管為層驅動,鎖存器74HC574為列驅動的 LED光立方電路方案;李行杰等[12]設計了以AVR單片機作為控制核心的光立方系統(tǒng);魯宛生等[13]設計了一種夢幻光3D顯示器;吳永德[14]、徐志穎[15]分別設計了以STC15F2K60S2單片機為控制核心的LED電路方案;溫才[16]、王欣[17]分別設計了晶格結構和Arduino下的光立方。光立方技術的飛速發(fā)展,使其在很多場景中得到應用[18-20]?;诖?,本文嘗試使用單片機控制LED點陣光立方,在光立方中顯示電磁波的空間結構。單片機作為控制核心的3D光立方顯示器,對單片機算法進行合理的處理,控制光立方顯示電磁理論圖案。該系統(tǒng)可以作為一種任意知識的動畫演示系統(tǒng),可以廣泛應用于復雜理論課程的演示。
本裝置系統(tǒng)采用處理速度較快、價格成本合適且有大容量程序存儲器的STC12C5A60S2芯片作為主控制芯片,ULN2803作為驅動芯片,選擇霧狀散光磨砂LED(更容易看到光點,效果更佳)作為基礎原件。如圖1所示,系統(tǒng)由控制核心單片機、控制模塊、LED光立方、電源模塊、LCD顯示模塊、語音解說模塊六部分組成。其工作程序和基本內容是:打開電源,系統(tǒng)進行初始化,等待選擇播放模式,隨后可進入音頻模式,音頻伴隨著動態(tài)效果的圖片和文字。
圖1 系統(tǒng)硬件框圖
整體電路共有16層,單層電路設計如圖2所示。制作光立方的過程中,為了更好地控制4 096個LED燈,使其能在達到預期的動畫效果,采用了32個74HC573鎖存器,來擴展I/O口。D0控制Q0-Q7,同理的D1以此類推。
圖2 單層LED局部電路
本裝置采用APM4953作為掃描點陣單元板的行驅動,集成了兩片P溝道的增強型場效應管的一個芯片,它在陣列掃描中起到了重要作用,見圖3。
圖3 APM4953行掃描驅動
本裝置使用直流電源。首先確定驅動電源是否適應直流電源的輸入,以及電壓值,直接將直流電源的正負兩極接在驅動電源的輸入電壓接口,輸出時,輸出正極對LED光源的正極接口,負極接負極。濾波電路的最大作用就是要分辨出電壓中的交流成分將其過濾,最大限度的保留直流部分,使波形盡可能的平滑。
單片機組成的小系統(tǒng)中,由人工控制的內容,即所謂的人機互動過程,最常采用的方法是按鍵。本系統(tǒng)按鍵電路見圖4。按鍵串接在電路中,通過觸點的接觸和斷開來控制電路的通斷。
圖4 按鍵電路
上電指示燈電路見圖5。指示燈的作用是為了表明電路狀態(tài),與硬件并聯或者連接同步輔助接點。
圖5 上電指示燈電路
語音功放模塊主要在光立方顯示過程中對顯示的效果圖進行同步音頻解說。通過選擇和測試最終選取LM386芯片作為功放芯片。此芯片的供應電源比較簡單,可直接選用電池供應電源,并且,可通過芯片引腳位間串聯電容。在沒有運行時,對于電流的消耗比較友好,且失真低。光立方動畫顯示選擇完成后,同時調用LED動畫展示和與其對應的語音播放模塊程序,使其能夠實現同步。
本光立方的控制模式分為按鍵控制、藍牙控制、紅外控制和上位機軟件控制四種。每種方式都有其優(yōu)勢,多種方式并存,使用更為方便。為滿足上述多種控制方式共存的需要最終選用ULN2803芯片作為控制元件,驅動能力為500 MA50 V。光立方的ULN2008還有一個優(yōu)勢就是它的一個芯片可等效多個三極管,體積小為設計留出了一定的空間。芯片引腳圖見圖6,此芯片1至8腳輸入,18至11腳輸出,邏輯圖見圖7。
圖6 ULN2803引腳圖
圖7 ULN2803邏輯圖
經過分析,本裝置最終選用STC12C5A60S2單片機做為主控芯片,用單片機中的P0、P2、P3口對LED進行控制。I/O口分配如圖8所示。
圖8 I/O分配圖
P0口作為輸出端,當數據傳輸到74HC573鎖存器的輸入端時,74HC573鎖存器輸出端分別控制一排LED陽極引腳,對LED燈亮滅進行控制。
P2口作為數據輸出端,單片機輸出數據控制端,實現鎖存器的數據輸出和鎖存,就可以在特定的時間內將數據傳到光立方體的一行或者多行。
單片機的內部輸出控制數據作為P3口的數據輸出端,傳輸到ULN2803的輸入端,可以控制燈層。雖然通過ULN2803的數據沒有變化,但前后電流差別很大,此時電流會增加很多。
焊接過程見圖9,首先進行16×16的單層焊接,共完成16層,然后將燈層依次裝到主板上,最終形成一個LED燈箱,也就完成了本次設計的硬件載體LED光立方。
圖9 裝置焊接過程
在這種光立方體設計中,通過編寫程序控制P0、P2和P3端口的每一位電平來打開和關閉每個LED燈。用For或while循環(huán)、if語句和參數函數進行編寫,盡量使用簡單的語句達到最佳的效果。為了提高演示效果,吸引觀看者的注意力,本裝置適應多種模式的演示。既可以實現簡單的靜態(tài)演示,又滿足復雜的動態(tài)演示需求。本裝置根據顯示的動態(tài)圖的特點進行分類,可以實現縮放、旋轉本裝置等功能,并為此建立多個代碼數組。程序可以通過算法從原始的數據中直接生成。
系統(tǒng)程序包括初始化,按鍵掃描和顯示程序3個子模塊。如圖10所示,初始化過程包括光立方體的初始化,中斷優(yōu)先級配置和定時器配置。為了方便多次調試,可以將每個子程序寫入一個完整的程序中,該程序可以獨立執(zhí)行以進行判斷,然后可以在編譯正確后將其下載到單片機進行驗證。
圖10 程序設計框圖
顯示程序主要創(chuàng)建了一些動畫數組,運用動態(tài)掃描進行顯示,將一張完整的圖片分幾步展示,并且一次只顯示一張圖片,圖片切換所需時間非常短,不影響正常觀看。
光學立方體動畫顯示流程圖如圖11所示,每幅完整圖像的顯示延遲一段時間后,數據就要進行一次刷新,有新的數據產生,從而顯示出不同的畫面。每張不同畫面切換間隔時間會非常短,不影響動畫的流暢性。
圖11 動畫顯示流程圖
如圖12、圖13所示,可在上位機上遂幀進行點操作、線操作、平面操作、立體操作,并通過對x,y,z坐標賦值實現起始和終止操作。
圖12 光立方上位機的畫面時序操作
圖13 光立方上位機圖形取模
上位機可將預想圖形直接轉化為STM32可寫入的hex文件。同時,上位機還可以對按鍵的操作、運行的速度、音頻的檢測進行調控。上位機按鍵功能參數配置見圖14。
圖14 光立方上位機按鍵功能參數設置界面
通過仿真,可以模擬電磁波在理想介質中傳播的動態(tài)效果。假設電場只有x分量,磁場只有y分量,均勻平面電磁波在理想介質中傳播。那么,其物理表達式如式(1)和式(2):
電磁波在理想介質中的傳播有三個特征:第一,電場和磁場的振幅不會衰減。第二,電場的相位和磁場的相位相同,沒有相位差。第三,電場和磁場與傳播方向呈右旋關系。
可見電場和磁場兩者是正交的,電場和磁場同相,且沒有衰減,整體波形沿同一方向移動,與理論分析沒有出入,演示效果如圖15所示。
圖15 均勻平面電磁波在光立方中傳播效果
本文通過圓極化理論的演示驗證本裝置的顯示效果,驗證結果見圖16。圓極化波滿足的條件是 Exm=Eym=E0,且,那么:
圖16 圓極化效果
電場強度矢量的模為:
本文通過主控單片機控制16階光立方中4 096個LED燈的閃亮狀態(tài)來模擬電磁波在不同介質中傳播、極化、反射等復雜理論的動態(tài)顯示效果,使不易理解的公式、文字和靜態(tài)圖片以動態(tài)模型來展示,為電磁理論課程的教學提供新的手段。同時,本裝置還可模擬量子力學、熱學、化學等學科理論知識的動態(tài)圖案,具有一定的推廣應用意義。