幸敏,楊秀謙,龍祖連
(廣西水利電力職業技術學院,廣西南寧,530023)
模擬電子技術是電子信息專業最重要的專業基礎課,因其涉及概念多、理論抽象、電路復雜多變等原因,學生普遍感覺學習困難[1-2]。為提高模擬電子技術課程的教學成效,當前高職高專教學中,盡量減少電路理論推導,更多借助專業的電路仿真軟件(如Proteus),通過仿真演示電路的節點電壓值和支路電流值的方式來講解電路,以降低學生的學習難度,提高學生的學習興趣和積極性。但專業的電路仿真軟件,功能多、功能強,但其并非專為教學開發,用于教學演示時有如下不足:(1)運行仿真前,需要編輯電路,對關注的節點并上電壓表,對關注的支路串入電流表,仿真時才能顯示節點電壓和支路電流。當關注多個節點電壓或支路電流時,并上電壓表或串入電流表就較多,導致電路復雜化,同時教學效率也降低;(2)不支持仿真中編輯電路,若想對比不同電路拓樸或不同輸入電壓激勵下的變化,都需先停止仿真,然后重新編輯電路,再運行仿真,才能觀察到結果,這也導致教學效率降低。
針對專業電路仿真軟件在教學應用中的不足,由電子技術和計算機兩個教學團隊組成一個項目小組,開發了一個全新的模擬電路教學演示系統。演示系統基于仿真技術,通過非線性元件的線性等效、建電路方程組、解電路方程組,獲知全部電路節點電壓和支路電流,為教學演示提供基礎數據。教學演示上,它具備兩個創新∶(1)具備所指即所示功能——無需接入電壓表和電流表,仿真狀態下,只需移動鼠標至所關注的連接線,便自動顯示連接線的電壓和電流值;(2)具備動態編輯功能——仿真運行中點擊某些類型元件,能改變被點擊元件的方向、狀態或參數(如二極管的正負極互換、開關的通斷狀態互換、數字輸入電壓的高低電平互換,或模擬輸入電壓的遞增或遞減),然后自動重新仿真電路,使用戶可快速觀察到電路拓樸改變或不同輸入電壓下的節點電壓和支路電流的變化。演示系統的兩個創新,提高了電路仿真演示的效率,提高了教學成效。演示系統基于C#開發,編譯生成可執行文件后,體量僅有數M,無需安裝,獨立運行(不依賴第三方軟件),具備完全的知識產權。
模擬電路教學演示系統包括元件圖形數據模塊、線性化變換模塊、電路繪圖模塊、電路仿真模塊、所指即所示模塊和動態編輯模塊,其中元件圖形數據模塊與電路繪圖模塊連接,其存儲有各元件的圖形數據,為電路繪圖模塊提供元件的圖形參數;電路繪圖模塊給用戶提供繪制電路原理圖的界面和交互接口,并負責電路原理圖繪制;線性化變換模塊與電路繪圖模塊連接,其存儲有二極管、三極管等非線性元件的線性化等效模型,用于建立線性電路方程組前對非線性元件進行線性變換;電路仿真模塊與電路繪圖模塊連接,用于電路直流仿真,以獲知電路全部節點的電壓值和全部支路的電流值;所指即所示模塊與電路繪圖模塊連接,用于仿真時響應鼠標移動動作,顯示鼠標所近的節點的電壓值,和所近的支路的電流值;動態編輯模塊與電路繪圖模塊連接,用于仿真時響應鼠標點擊動作,更改被點擊元件的方向、狀態或參數值。
演示系統的工作流程如下:
(a1)電路繪圖,通過電路繪圖模塊接收用戶命令,從元件圖形數據模塊調用元件圖形參數,然后繪制電路原理圖;
(a2)電路仿真,通過電路仿真模塊,運行直流仿真,獲知電路全部節點的電壓值和全部支路的電流值;
(a3)電流方向指示,調用電路繪圖模塊,畫電路連接線的電流示意箭頭,以顯示連接線的電流方向;
(a4)鼠標動作捕捉,若捕捉到鼠標移動接近某連接線,轉至步驟(a5),若捕捉到鼠標點擊動作,轉至步驟(a6);
(a5)電壓電流顯示,通過所見即所示模塊,顯示鼠標所近的節點的電壓值,和所近連接線的電流值,然后轉至步驟(a4);
(a6)電路編輯,調用動態編輯模塊,更改被點擊元件的方向、狀態或參數值,然后轉至步驟(a2),重新運行電路仿真。
步驟(a6)中:二極管、發光二極管、穩壓二極管和電池被點擊時,元件正極與負極互換;開關或按鍵被點擊時,其通斷狀態互換;光敏電阻被點擊,其阻值在0.1K和100K間互換,0.1K對應受強光照時的阻值,100K對應暗黑無光照時的阻值;數字輸入電壓符號被點擊時,其輸入電平翻轉;模擬輸入電壓符號被點擊時,若點擊在符號左端,輸入電壓減0.1V,若點擊在符號右端,輸入電壓增0.1V;可調電阻被點擊時,若點擊在符號左端(或上端),可調電阻移動端向左(或向上)移2%,若點擊在符號右端(或下端),可調電阻移動端向右(或向下)移2%。
上述步驟(a2)電路仿真,包括如下步驟:
(b1)線性變換,通過線性化變換模塊,將二極管、三極管等非線性元件,變換為線性元件;
(b2)電路節點統計,根據電路拓樸,統計電路節點數量;
(b3)節點編號分配,按序分配節點編號,記錄每一元件引腳和每一連接線所屬節點編號;
(b4)建電路方程組,以節點電壓為變量,組建線性電路方程組;
(b5)解電路方程組,采用迭代法,解線性電路方程組,獲電路方程組的數值解,獲知電路節點電壓值;
(b6)計算元件電流,利用上步驟所獲知的電路節點電壓值,計算出各元件的電流;
(b7)計算連接線電流,利用上步驟所獲知的元件的電流值,計算各連接線的電流值。
以光控路燈電路的教學演示為例,說明系統工作過程。
啟動系統,從無源器件下選框中選擇電阻、可調電阻、光敏電阻和繼電器,從有源器件下選框中選擇二極管、三極管和運放,從電源與信號下選框中選擇電源和地,拖動各元件至合適位置,編輯各元件參數,把光敏電阻R1設置為受強光照狀態(設定其電阻值為0.1K),最后添加連接線形成的電路原理圖如圖1所示。

圖1 電路原理圖
點擊左邊的仿真按鈕,運行直流仿真。系統完成直流仿真后,獲知全部節點電壓和支路電流,然后重繪電路,在有電流的連接線,增加電流方向箭頭,以示意電流的存在和流動方向。移動鼠標至所關注的連接線,顯示連接線的電壓值和電流值(若電流值為零不顯示)。如圖2所示,移動鼠標至運放U1的輸出端與電阻R3間的連接線時,顯示“0V”,表明此時運放U1輸出低電平,連接線無電流。

圖2 白天狀態仿真示意圖
為了演示晚上無光照時的變化,在仿真狀態下,點擊光敏電阻R1,光敏電阻R1狀態改變,由受強光照狀態轉為暗黑無光照狀態(設定阻值為100K),系統重啟仿真,重繪電路,結果如圖6所示。圖3中,鼠標移動至運放輸出端與電阻R3間的連接線時,顯示“5V 4.13mA”,表明此時運放輸出高電平,連接線電流為4.13mA。

圖3 晚上狀態仿真示意圖
為了演示二極管D1接反的后果,在仿真狀態下,點擊二極管D1,D1正負極互換,系統重啟仿真,重繪電路,結果如圖7所示。圖4中,鼠標移動至三極管Q1發射極與地間的連接線,顯示“0V 411mA”,顯示三極管Q發射極電流已激增。

圖4 二極管接錯仿真示意圖